summaryrefslogtreecommitdiff
path: root/panel-plugins
diff options
context:
space:
mode:
authorSimon Steinbeiss <simon.steinbeiss@elfenbeinturm.at>2019-11-11 00:49:34 +0100
committerSimon Steinbeiss <simon.steinbeiss@elfenbeinturm.at>2019-11-11 00:50:19 +0100
commit5d7c7dace23b478c62462cb766a7f018f17318a9 (patch)
tree118c621357838667dcea1f76c54d0a7f567cc662 /panel-plugins
parent2058731433299bb0d287ab0b68ffbde6aaa4ec9a (diff)
downloadixfce4-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.c27
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 */