[Xfce4-commits] [xfce/xfce4-settings] 25/67: display: Make auto-profile a toggle button in the minimal dialog
noreply at xfce.org
noreply at xfce.org
Sat Sep 22 11:23:16 CEST 2018
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 ed98ec4af5201f51c5cc2844d8399d34a211c0cd
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date: Wed Aug 22 22:22:47 2018 +0200
display: Make auto-profile a toggle button in the minimal dialog
Only show the dropdown when there is more than one profile, otherwise
display the single profile as a toggle-button.
---
dialogs/display-settings/main.c | 36 +++++++++++++++++-----
.../display-settings/minimal-display-dialog.glade | 19 ++++++++++--
2 files changed, 46 insertions(+), 9 deletions(-)
diff --git a/dialogs/display-settings/main.c b/dialogs/display-settings/main.c
index baf2aab..6a51059 100644
--- a/dialogs/display-settings/main.c
+++ b/dialogs/display-settings/main.c
@@ -1504,27 +1504,48 @@ display_settings_profile_changed (GtkWidget *widget, GtkBuilder *builder)
}
static void
-display_settings_minimal_profile_apply (GtkComboBox *combobox, GtkBuilder *builder)
+display_settings_minimal_profile_changed (GtkComboBox *combobox, GtkBuilder *builder)
{
+ GObject *auto_profile;
GtkTreeModel *model;
GtkTreeIter iter;
GValue value = { 0, };
const gchar *profile;
gchar *profile_hash;
+ gboolean profile_match;
- if (gtk_combo_box_get_active_iter (combobox, &iter))
+ auto_profile = gtk_builder_get_object (builder, "auto-profile");
+ profile_match = gtk_combo_box_get_active_iter (combobox, &iter);
+
+ if (profile_match)
{
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));
xfce_randr_apply (xfce_randr, profile_hash, display_channel);
+ gtk_button_set_label (GTK_BUTTON (auto_profile), profile);
}
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (auto_profile), profile_match);
+ gtk_widget_set_visible (GTK_WIDGET (combobox), !profile_match);
+ gtk_widget_set_visible (GTK_WIDGET (auto_profile), profile_match);
+
g_value_unset (&value);
}
static void
+display_settings_minimal_profile_apply (GtkWidget *widget, GtkBuilder *builder)
+{
+ const gchar *profile;
+ gchar *profile_hash;
+
+ profile = gtk_button_get_label (GTK_BUTTON (widget));
+ profile_hash = g_compute_checksum_for_string (G_CHECKSUM_SHA1, profile, strlen(profile));
+ xfce_randr_apply (xfce_randr, profile_hash, display_channel);
+}
+
+static void
display_settings_profile_apply (GtkWidget *widget, GtkBuilder *builder)
{
GtkWidget *entry = gtk_bin_get_child (GTK_BIN (widget));
@@ -3336,7 +3357,7 @@ display_settings_show_minimal_dialog (GdkDisplay *display)
GtkBuilder *builder;
GtkWidget *dialog, *cancel;
GObject *only_display1, *only_display2, *mirror_displays;
- GObject *extend_right, *advanced, *fake_button, *auto_button, *label;
+ GObject *extend_right, *advanced, *fake_button, *auto_button, *label, *auto_profile;
GError *error = NULL;
gboolean found = FALSE;
RRMode mode;
@@ -3364,6 +3385,7 @@ display_settings_show_minimal_dialog (GdkDisplay *display)
mirror_displays = gtk_builder_get_object (builder, "mirror");
extend_right = gtk_builder_get_object (builder, "extend_right");
only_display2 = gtk_builder_get_object (builder, "display2");
+ auto_profile = gtk_builder_get_object (builder, "auto-profile");
advanced = gtk_builder_get_object (builder, "advanced_button");
auto_button = gtk_builder_get_object (builder, "randr-profile");
fake_button = gtk_builder_get_object (builder, "fake_button");
@@ -3459,15 +3481,15 @@ display_settings_show_minimal_dialog (GdkDisplay *display)
builder);
g_signal_connect (only_display2, "toggled", G_CALLBACK (display_settings_minimal_only_display2_toggled),
builder);
- g_signal_connect (advanced, "clicked", G_CALLBACK (display_settings_minimal_advanced_clicked),
+ g_signal_connect (auto_profile, "toggled", G_CALLBACK (display_settings_minimal_profile_apply),
builder);
- g_signal_connect (auto_button, "clicked", G_CALLBACK (display_settings_minimal_auto_clicked),
+ g_signal_connect (advanced, "clicked", G_CALLBACK (display_settings_minimal_advanced_clicked),
builder);
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);
- display_settings_minimal_profile_apply (GTK_COMBO_BOX (auto_button), builder);
+ g_signal_connect (G_OBJECT (auto_button), "changed", G_CALLBACK (display_settings_minimal_profile_changed), builder);
+ display_settings_minimal_profile_changed (GTK_COMBO_BOX (auto_button), builder);
/* Show the minimal dialog and start the main loop */
gtk_window_present (GTK_WINDOW (dialog));
diff --git a/dialogs/display-settings/minimal-display-dialog.glade b/dialogs/display-settings/minimal-display-dialog.glade
index af455d9..d05d04b 100644
--- a/dialogs/display-settings/minimal-display-dialog.glade
+++ b/dialogs/display-settings/minimal-display-dialog.glade
@@ -205,6 +205,21 @@
</packing>
</child>
<child>
+ <object class="GtkRadioButton" id="auto-profile">
+ <property name="label" translatable="yes">radiobutton</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">False</property>
+ <property name="group">display1</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkRadioButton" id="fake_button">
<property name="label" translatable="yes">radiobutton</property>
<property name="can_focus">True</property>
@@ -215,7 +230,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
@@ -229,7 +244,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
</object>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list