From 21b2235fc53e72eea0aab035de5b19a74fd165c3 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 13 May 2021 14:08:27 -0400 Subject: [PATCH 3/5] gnome-calculator: Update refresh interval when changed in gsettings Right now the refresh interval is read at start up. This commit makes sure it gets reread any time it's changed too. --- src/gnome-calculator.vala | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gnome-calculator.vala b/src/gnome-calculator.vala index 5b3f9b8d..89a83450 100644 --- a/src/gnome-calculator.vala +++ b/src/gnome-calculator.vala @@ -101,60 +101,64 @@ public class Calculator : Gtk.Application catch (Error e) { error ("Error loading menu UI: %s", e.message); } var menu = builder.get_object ("appmenu") as MenuModel; set_app_menu (menu); set_accels_for_action ("win.mode::basic", {"B"}); set_accels_for_action ("win.mode::advanced", {"A"}); set_accels_for_action ("win.mode::financial", {"F"}); set_accels_for_action ("win.mode::programming", {"P"}); set_accels_for_action ("win.mode::keyboard", {"K"}); set_accels_for_action ("win.copy", {"C"}); set_accels_for_action ("win.paste", {"V"}); set_accels_for_action ("win.undo", {"Z"}); set_accels_for_action ("win.close", {"W"}); set_accels_for_action ("win.redo", {"Z"}); return current_window; } protected override void startup () { base.startup (); settings = new Settings ("org.gnome.calculator"); last_opened_window = create_new_window (settings); // restore the first window position from the settings load_window_position (last_opened_window); CurrencyManager.get_default ().refresh_interval = settings.get_int ("refresh-interval"); + + settings.changed["refresh-interval"].connect(() => { + CurrencyManager.get_default ().refresh_interval = settings.get_int ("refresh-interval"); + }); } private MathWindow get_active_math_window () { return (MathWindow) get_active_window (); } protected override void activate () { base.activate (); last_opened_window.present (); if (equation_string != "" && equation_string != null) { var equations = (equation_string.compress ()).split ("\n",0); for (var i = 0; i < equations.length; i++) { if ((equations [i].strip ()).length > 0) last_opened_window.equation.set (equations [i]); else last_opened_window.equation.solve (); } } if (mode_string != "" && mode_string != null) { var mode = ButtonMode.BASIC; switch (mode_string) { case "basic": -- 2.31.1