Updating branch refs/heads/bluesabre/display-settings2 to 18af539c96d36b5464901b12f528768478b898fd (commit) from 3c2a9784feea5f9cd549e5b5b1167aad453eb839 (commit)
commit 18af539c96d36b5464901b12f528768478b898fd Author: Sean Davis <smd.seanda...@gmail.com> Date: Wed Dec 11 02:36:52 2013 +0000 Identify Displays button Signed-off-by: Sean Davis <smd.seanda...@gmail.com> dialogs/display-settings/display-dialog.glade | 40 +++++++++++--- dialogs/display-settings/main.c | 71 ++++++++++++++----------- 2 files changed, 74 insertions(+), 37 deletions(-) diff --git a/dialogs/display-settings/display-dialog.glade b/dialogs/display-settings/display-dialog.glade index b4bbd80..db7fcef 100644 --- a/dialogs/display-settings/display-dialog.glade +++ b/dialogs/display-settings/display-dialog.glade @@ -273,14 +273,40 @@ <property name="visible">True</property> <property name="can_focus">False</property> <child> - <object class="GtkCheckButton" id="minimal-autoshow"> - <property name="label" translatable="yes">Configure _new displays when connected</property> + <object class="GtkHBox" id="hbox2"> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">False</property> - <property name="use_action_appearance">False</property> - <property name="use_underline">True</property> - <property name="draw_indicator">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkCheckButton" id="minimal-autoshow"> + <property name="label" translatable="yes">Configure _new displays when connected</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">False</property> + <property name="use_action_appearance">False</property> + <property name="use_underline">True</property> + <property name="draw_indicator">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkToggleButton" id="identify-displays"> + <property name="label" translatable="yes">Identify Displays</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_action_appearance">False</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="pack_type">end</property> + <property name="position">1</property> + </packing> + </child> </object> </child> </object> diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c index 8c706db..b48c9e9 100644 --- a/dialogs/display-settings/main.c +++ b/dialogs/display-settings/main.c @@ -154,6 +154,7 @@ static gint randr_event_base; /* Used to identify the display */ static GHashTable *display_popups; +gboolean show_popups = FALSE; gboolean supports_alpha = FALSE; @@ -1440,6 +1441,42 @@ display_settings_dialog_response (GtkDialog *dialog, gtk_main_quit (); } +static void +set_display_popups_visible(gboolean visible) +{ + GHashTableIter iter; + gpointer key, value; + GtkWidget *popup; + + g_hash_table_iter_init (&iter, display_popups); + while (g_hash_table_iter_next (&iter, &key, &value)) + { + popup = (GtkWidget *) value; + gtk_widget_set_visible(popup, visible); + } +} + +static gboolean +focus_out_event (GtkWidget *widget, GdkEventFocus *event, gpointer data) +{ + set_display_popups_visible(FALSE); + return TRUE; +} + +static gboolean +focus_in_event (GtkWidget *widget, GdkEventFocus *event, gpointer data) +{ + set_display_popups_visible(TRUE && show_popups); + return TRUE; +} + +static void +on_identify_displays_toggled (GtkWidget *widget, GtkBuilder *builder) +{ + show_popups = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); + set_display_popups_visible (show_popups); +} + static GtkWidget * @@ -1449,7 +1486,7 @@ display_settings_dialog_new (GtkBuilder *builder) GtkCellRenderer *renderer; GtkTreeSelection *selection; GObject *combobox; - GObject *label, *check, *mirror; + GObject *label, *check, *mirror, *identify; /* Get the treeview */ treeview = gtk_builder_get_object (builder, "randr-outputs"); @@ -1467,6 +1504,9 @@ display_settings_dialog_new (GtkBuilder *builder) /* Identification popups */ display_setting_identity_popups_populate (); + identify = gtk_builder_get_object (builder, "identify-displays"); + g_signal_connect (G_OBJECT (identify), "toggled", G_CALLBACK (on_identify_displays_toggled), builder); + set_display_popups_visible (show_popups); /* Treeview selection */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); @@ -1707,35 +1747,6 @@ screen_on_event (GdkXEvent *xevent, } static void -set_display_popups_visible(gboolean visible) -{ - GHashTableIter iter; - gpointer key, value; - GtkWidget *popup; - - g_hash_table_iter_init (&iter, display_popups); - while (g_hash_table_iter_next (&iter, &key, &value)) - { - popup = (GtkWidget *) value; - gtk_widget_set_visible(popup, visible); - } -} - -static gboolean -focus_out_event (GtkWidget *widget, GdkEventFocus *event, gpointer data) -{ - set_display_popups_visible(FALSE); - return TRUE; -} - -static gboolean -focus_in_event (GtkWidget *widget, GdkEventFocus *event, gpointer data) -{ - set_display_popups_visible(TRUE); - return TRUE; -} - -static void display_settings_show_main_dialog (GdkDisplay *display) { GtkBuilder *builder; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits