diff options
author | Simon Steinbeiss <simon.steinbeiss@elfenbeinturm.at> | 2019-11-11 00:49:34 +0100 |
---|---|---|
committer | Simon Steinbeiss <simon.steinbeiss@elfenbeinturm.at> | 2019-11-11 00:50:19 +0100 |
commit | 5d7c7dace23b478c62462cb766a7f018f17318a9 (patch) | |
tree | 118c621357838667dcea1f76c54d0a7f567cc662 /panel-plugins | |
parent | 2058731433299bb0d287ab0b68ffbde6aaa4ec9a (diff) | |
download | ixfce4-power-manager-5d7c7dace23b478c62462cb766a7f018f17318a9.tar.gz |
panel-plugin: Use GtkSwitch for Presentation mode
This means we're now consistent with other panel plugins like pulseaudio or
notifyd.
Diffstat (limited to 'panel-plugins')
-rw-r--r-- | panel-plugins/power-manager-plugin/power-manager-button.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/panel-plugins/power-manager-plugin/power-manager-button.c b/panel-plugins/power-manager-plugin/power-manager-button.c index a4a913c7..046cb665 100644 --- a/panel-plugins/power-manager-plugin/power-manager-button.c +++ b/panel-plugins/power-manager-plugin/power-manager-button.c @@ -1628,9 +1628,19 @@ range_show_cb (GtkWidget *widget, PowerManagerButton *button) } void +power_manager_button_toggle_presentation_mode (GtkMenuItem *mi, GtkSwitch *sw) +{ + g_return_if_fail (GTK_IS_SWITCH (sw)); + + gtk_switch_set_active (sw, !gtk_switch_get_active (sw)); +} + + +void power_manager_button_show_menu (PowerManagerButton *button) { GtkWidget *menu, *mi, *img = NULL; + GtkWidget *box, *label, *sw; GdkScreen *gscreen; GList *item; gboolean show_separator_flag = FALSE; @@ -1702,12 +1712,19 @@ G_GNUC_END_IGNORE_DEPRECATIONS } /* Presentation mode checkbox */ - mi = gtk_check_menu_item_new_with_mnemonic (_("Presentation _mode")); - gtk_widget_set_sensitive (mi, TRUE); - gtk_widget_show (mi); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi); + mi = gtk_menu_item_new (); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + label = gtk_label_new_with_mnemonic (_("Presentation _mode")); + gtk_label_set_xalign (GTK_LABEL (label), 0.0); + sw = gtk_switch_new (); + gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (box), sw, FALSE, FALSE, 0); + gtk_container_add (GTK_CONTAINER (mi), box); + gtk_widget_show_all (mi); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (power_manager_button_toggle_presentation_mode), sw); g_object_bind_property (G_OBJECT (button), PRESENTATION_MODE, - G_OBJECT (mi), "active", + G_OBJECT (sw), "active", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL); /* Show any applications currently inhibiting now */ |