diff options
author | Jan-Michael Brummer <jan.brummer@tabos.org> | 2020-09-21 13:20:22 +0200 |
---|---|---|
committer | Jan-Michael Brummer <jan.brummer@tabos.org> | 2020-09-21 13:20:22 +0200 |
commit | c022e3ac2d13aad5200f43e71e46dd43ba533750 (patch) | |
tree | b979914e3decac266ae58138c7039b4fe4995ccd /src | |
parent | b8f0bac00260c2d5873aa0b755ec13ad9a17d230 (diff) | |
download | epiphany-c022e3ac2d13aad5200f43e71e46dd43ba533750.tar.gz |
ephy-shell: Show run in background option as checkbutton
Fixes: https://gitlab.gnome.org/GNOME/epiphany/-/issues/1337
Diffstat (limited to 'src')
-rw-r--r-- | src/ephy-shell.c | 30 | ||||
-rw-r--r-- | src/resources/gtk/page-menu-popover.ui | 1 |
2 files changed, 14 insertions, 17 deletions
diff --git a/src/ephy-shell.c b/src/ephy-shell.c index 77fb76d4c..01854f42b 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -342,18 +342,6 @@ notification_clicked (GSimpleAction *action, webkit_notification_clicked (notification); } -static void -run_in_background_change_state (GSimpleAction *action, - GVariant *value, - gpointer user_data) -{ - gboolean active; - - active = g_settings_get_boolean (EPHY_SETTINGS_WEB_APP, EPHY_PREFS_WEB_APP_RUN_IN_BACKGROUND); - g_simple_action_set_state (action, g_variant_new_boolean (!active)); - g_settings_set_boolean (EPHY_SETTINGS_WEB_APP, EPHY_PREFS_WEB_APP_RUN_IN_BACKGROUND, !active); -} - static GActionEntry app_entries[] = { { "new-window", new_window, NULL, NULL, NULL }, { "new-incognito", new_incognito_window, NULL, NULL, NULL }, @@ -380,7 +368,7 @@ static GActionEntry app_mode_app_entries[] = { { "preferences", show_preferences, NULL, NULL, NULL }, { "about", show_about, NULL, NULL, NULL }, { "quit", quit_application, NULL, NULL, NULL }, - { "run-in-background", NULL, "b", "false", run_in_background_change_state}, + { "run-in-background", NULL, NULL, "false", NULL}, { "notification-clicked", notification_clicked, "t", NULL, NULL}, }; @@ -469,6 +457,16 @@ run_in_background_get_mapping (GValue *value, return TRUE; } +static GVariant * +run_in_background_set_mapping (const GValue *value, + const GVariantType *expected_type, + gpointer user_data) +{ + GVariant *var = g_value_get_variant (value); + + return g_variant_new_boolean (g_variant_get_boolean (var)); +} + static void ephy_shell_startup (GApplication *application) { @@ -523,11 +521,11 @@ ephy_shell_startup (GApplication *application) action = g_action_map_lookup_action (G_ACTION_MAP (application), "run-in-background"); g_settings_bind_with_mapping (EPHY_SETTINGS_WEB_APP, EPHY_PREFS_WEB_APP_RUN_IN_BACKGROUND, - G_SIMPLE_ACTION (action), + action, "state", - G_SETTINGS_BIND_GET | G_SETTINGS_BIND_GET_NO_CHANGES, + G_SETTINGS_BIND_DEFAULT, run_in_background_get_mapping, - NULL, + run_in_background_set_mapping, NULL, NULL); } diff --git a/src/resources/gtk/page-menu-popover.ui b/src/resources/gtk/page-menu-popover.ui index e06a61c83..6942c99a2 100644 --- a/src/resources/gtk/page-menu-popover.ui +++ b/src/resources/gtk/page-menu-popover.ui @@ -171,7 +171,6 @@ <property name="can_focus">True</property> <property name="text" translatable="yes">_Run in Background</property> <property name="action-name">app.run-in-background</property> - <property name="action-target">true</property> <property name="visible">True</property> </object> </child> |