This is an automated email from the git hooks/post-receive script. o c h o s i p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository xfce/xfce4-settings.
commit def633a8ed9c17550d1030209a7db053f2588557 Author: Simon Steinbeiss <[email protected]> Date: Thu Aug 16 00:24:25 2018 +0200 display: Auto-activate if there is only one matching profile --- dialogs/display-settings/main.c | 40 ++++++++++++++++++++-- .../display-settings/minimal-display-dialog.glade | 2 +- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c index 4948db3..62db06c 100644 --- a/dialogs/display-settings/main.c +++ b/dialogs/display-settings/main.c @@ -150,6 +150,7 @@ GList *current_outputs = NULL; GtkWidget *randr_outputs_combobox = NULL; GtkWidget *apply_button = NULL; +/* Profile buttons */ GtkWidget *profile_save_button = NULL; GtkWidget *profile_delete_button = NULL; GtkWidget *profile_apply_button = NULL; @@ -172,6 +173,9 @@ static void display_setting_primary_toggled (GtkToggleButton *b static void display_setting_mirror_displays_populate (GtkBuilder *builder); +static void display_settings_profile_apply (GtkWidget *widget, + GtkBuilder *builder); + static void display_settings_changed (void) { @@ -1324,6 +1328,10 @@ display_settings_profile_combobox_populate (GtkBuilder *builder) m++; } + /* If there is only one profile we auto-select and activate it */ + if (m == 1) + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), &iter); + /* Release the store */ g_list_free (profiles); g_object_unref (G_OBJECT (store)); @@ -1490,16 +1498,43 @@ display_settings_profile_changed (GtkWidget *widget, GtkBuilder *builder) { GtkWidget *entry = gtk_bin_get_child ((GtkBin*) gtk_builder_get_object (builder, "randr-profile")); gboolean sensitive = gtk_entry_get_text_length (GTK_ENTRY (entry)); + GtkTreeIter iter; gtk_widget_set_sensitive (profile_save_button, sensitive); gtk_widget_set_sensitive (profile_delete_button, sensitive); gtk_widget_set_sensitive (profile_apply_button, sensitive); + + if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)) + { + display_settings_profile_apply (widget, builder); + } +} + +static void +display_settings_minimal_profile_apply (GtkComboBox *combobox, GtkBuilder *builder) +{ + GtkTreeModel *model; + GtkTreeIter iter; + GValue *value; + const gchar *profile; + gchar *profile_hash; + + if (gtk_combo_box_get_active_iter (combobox, &iter)) + { + model = gtk_combo_box_get_model (combobox); + gtk_tree_model_get_value (model, &iter, 0, value); + profile = g_value_get_string (value); + profile_hash = g_compute_checksum_for_string (G_CHECKSUM_SHA1, profile, strlen(profile)); + g_warning ("this is the value: %s / %s", profile, profile_hash); + xfce_randr_apply (xfce_randr, profile_hash, display_channel); + } + g_value_unset (value); } static void display_settings_profile_apply (GtkWidget *widget, GtkBuilder *builder) { - GtkWidget *entry = gtk_bin_get_child ((GtkBin*) gtk_builder_get_object (builder, "randr-profile")); + GtkWidget *entry = gtk_bin_get_child (GTK_BIN (widget)); if (gtk_entry_get_text_length (GTK_ENTRY (entry))) { @@ -3345,7 +3380,6 @@ display_settings_show_minimal_dialog (GdkDisplay *display) /* Populate the combobox */ display_settings_combobox_populate (builder); display_settings_profile_combobox_populate (builder); - g_signal_connect (G_OBJECT (auto_button), "changed", G_CALLBACK (display_settings_profile_apply), builder); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fake_button), TRUE); @@ -3440,6 +3474,8 @@ display_settings_show_minimal_dialog (GdkDisplay *display) g_signal_connect_swapped (app, "activate", G_CALLBACK (gtk_window_present), dialog); + g_signal_connect (G_OBJECT (auto_button), "changed", G_CALLBACK (display_settings_minimal_profile_apply), builder); + /* Show the minimal dialog and start the main loop */ gtk_window_present (GTK_WINDOW (dialog)); gtk_main (); diff --git a/dialogs/display-settings/minimal-display-dialog.glade b/dialogs/display-settings/minimal-display-dialog.glade index 0ec3c48..af455d9 100644 --- a/dialogs/display-settings/minimal-display-dialog.glade +++ b/dialogs/display-settings/minimal-display-dialog.glade @@ -199,7 +199,7 @@ <property name="entry_text_column">0</property> </object> <packing> - <property name="expand">True</property> + <property name="expand">False</property> <property name="fill">True</property> <property name="position">1</property> </packing> -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list [email protected] https://mail.xfce.org/mailman/listinfo/xfce4-commits
