Summary
Text entry fields in the Settings window (Network tab) are only saved when the user presses Enter inside the field. Clicking the Done button closes the window without persisting the values.
Affected fields: Proxy, Mainline-PPA URL, User Agent String.
Steps to reproduce
- Open Settings β Network tab
- Change the Proxy field (e.g. from empty to
http://127.0.0.1:8118)
- Click Done (without pressing Enter first)
- Reopen Settings β the field has reverted to its previous value
Workaround
Press Enter in the field before clicking Done.
Cause
Each Gtk.Entry only writes its value back to the app config via activate.connect, which fires on Enter key press. The Done button does not trigger activate on the entries, so unsaved values are lost.
Suggested fix
Connect the Done button handler (or the window's destroy / hide signal) to read back all entry fields, e.g.:
btn_done.clicked.connect(() => {
App.all_proxy = ent_proxy.get_text();
App.ppa_uri = ent_ppaurl.get_text().strip();
App.user_agent = ent_useragent.get_text();
// ... other fields
this.destroy();
});
Environment
- mainline 1.4.14
- Ubuntu 24.04
- GTK 3
Summary
Text entry fields in the Settings window (Network tab) are only saved when the user presses Enter inside the field. Clicking the Done button closes the window without persisting the values.
Affected fields: Proxy, Mainline-PPA URL, User Agent String.
Steps to reproduce
http://127.0.0.1:8118)Workaround
Press Enter in the field before clicking Done.
Cause
Each
Gtk.Entryonly writes its value back to the app config viaactivate.connect, which fires on Enter key press. The Done button does not triggeractivateon the entries, so unsaved values are lost.Suggested fix
Connect the Done button handler (or the window's
destroy/hidesignal) to read back all entry fields, e.g.:Environment