[Xfce4-commits] [xfce/xfce4-settings] 44/57: color: Switch to side-by-side layout

noreply at xfce.org noreply at xfce.org
Thu Mar 21 22:14:32 CET 2019


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 1013f9d783af6d86b5dc017fbd4a1d097a4b2d12
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Mon Feb 18 00:23:21 2019 +0100

    color: Switch to side-by-side layout
    
    This should help avoid scrolling problems.
---
 dialogs/color-settings/color-dialog.glade | 228 +++++++++++++++++++-----------
 dialogs/color-settings/main.c             |  39 +++--
 2 files changed, 174 insertions(+), 93 deletions(-)

diff --git a/dialogs/color-settings/color-dialog.glade b/dialogs/color-settings/color-dialog.glade
index 9ef841b..83e3a06 100644
--- a/dialogs/color-settings/color-dialog.glade
+++ b/dialogs/color-settings/color-dialog.glade
@@ -20,8 +20,8 @@
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Color Profiles</property>
     <property name="window_position">center-on-parent</property>
-    <property name="default_width">400</property>
-    <property name="default_height">600</property>
+    <property name="default_width">700</property>
+    <property name="default_height">400</property>
     <property name="icon_name">preferences-color-symbolic</property>
     <property name="type_hint">dialog</property>
     <property name="subtitle" translatable="yes">Configure color profiles for your devices</property>
@@ -80,72 +80,30 @@
             <property name="vexpand">True</property>
             <property name="orientation">vertical</property>
             <child>
-              <object class="GtkGrid" id="grid">
+              <object class="GtkPaned" id="paned">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="hexpand">True</property>
-                <property name="vexpand">True</property>
-                <property name="border_width">6</property>
-                <child>
-                  <object class="GtkLabel">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="label" translatable="yes"><b>Devices</b></property>
-                    <property name="use_markup">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="margin_top">12</property>
-                    <property name="label" translatable="yes"><b>Profiles</b></property>
-                    <property name="use_markup">True</property>
-                    <property name="xalign">0</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">2</property>
-                  </packing>
-                </child>
+                <property name="can_focus">True</property>
                 <child>
-                  <object class="GtkBox">
+                  <object class="GtkBox" id="device">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
+                    <property name="margin_left">6</property>
+                    <property name="margin_top">6</property>
+                    <property name="margin_bottom">6</property>
                     <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="box-devices">
+                      <object class="GtkScrolledWindow" id="scrolled-devices">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
+                        <property name="can_focus">True</property>
+                        <property name="hexpand">True</property>
+                        <property name="shadow_type">in</property>
+                        <property name="min_content_width">250</property>
                         <child>
-                          <object class="GtkFrame" id="frame-devices">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="hexpand">True</property>
-                            <property name="label_xalign">0.5</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                            <child type="label_item">
-                              <placeholder/>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
+                          <placeholder/>
                         </child>
                       </object>
                       <packing>
-                        <property name="expand">False</property>
+                        <property name="expand">True</property>
                         <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
@@ -187,46 +145,97 @@
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">1</property>
+                    <property name="resize">False</property>
+                    <property name="shrink">False</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkBox" id="profile">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="vexpand">True</property>
+                    <property name="margin_left">12</property>
+                    <property name="margin_right">12</property>
+                    <property name="margin_top">12</property>
+                    <property name="margin_bottom">12</property>
                     <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="label-no-profiles">
+                      <object class="GtkGrid">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="hexpand">True</property>
-                        <property name="orientation">vertical</property>
+                        <property name="margin_top">6</property>
+                        <property name="margin_bottom">6</property>
+                        <property name="row_spacing">3</property>
+                        <property name="column_spacing">12</property>
+                        <property name="column_homogeneous">True</property>
                         <child>
-                          <object class="GtkLabel" id="label-no-profiles-label">
+                          <object class="GtkLabel">
                             <property name="visible">True</property>
-                            <property name="sensitive">False</property>
                             <property name="can_focus">False</property>
-                            <property name="margin_left">12</property>
-                            <property name="margin_right">12</property>
-                            <property name="margin_top">12</property>
-                            <property name="margin_bottom">12</property>
-                            <property name="hexpand">True</property>
-                            <property name="label" translatable="yes"><b>No profiles for the selected device.</b></property>
-                            <property name="use_markup">True</property>
-                            <property name="justify">center</property>
+                            <property name="label" translatable="yes">Model:</property>
+                            <property name="xalign">1</property>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">Vendor:</property>
+                            <property name="xalign">1</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">Colorspace:</property>
+                            <property name="xalign">1</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">0</property>
+                            <property name="top_attach">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="model">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="vendor">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="colorspace">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="top_attach">2</property>
                           </packing>
                         </child>
-                        <style>
-                          <class name="view"/>
-                          <class name="frame"/>
-                        </style>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -235,6 +244,21 @@
                       </packing>
                     </child>
                     <child>
+                      <object class="GtkLabel">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="margin_top">12</property>
+                        <property name="label" translatable="yes"><b>Profiles</b></property>
+                        <property name="use_markup">True</property>
+                        <property name="xalign">0</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
                       <object class="GtkFrame" id="box-profiles">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
@@ -250,7 +274,43 @@
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="position">1</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkBox" id="label-no-profiles">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="hexpand">True</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <object class="GtkLabel" id="label-no-profiles-label">
+                            <property name="visible">True</property>
+                            <property name="sensitive">False</property>
+                            <property name="can_focus">False</property>
+                            <property name="margin_left">12</property>
+                            <property name="margin_right">12</property>
+                            <property name="margin_top">12</property>
+                            <property name="margin_bottom">12</property>
+                            <property name="label" translatable="yes"><b>No profiles for the selected device.</b></property>
+                            <property name="use_markup">True</property>
+                            <property name="justify">center</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <style>
+                          <class name="view"/>
+                          <class name="frame"/>
+                        </style>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
                       </packing>
                     </child>
                     <child>
@@ -341,13 +401,13 @@
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="position">2</property>
+                        <property name="position">4</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="left_attach">0</property>
-                    <property name="top_attach">3</property>
+                    <property name="resize">True</property>
+                    <property name="shrink">False</property>
                   </packing>
                 </child>
               </object>
diff --git a/dialogs/color-settings/main.c b/dialogs/color-settings/main.c
index adc34ae..60315c4 100644
--- a/dialogs/color-settings/main.c
+++ b/dialogs/color-settings/main.c
@@ -60,10 +60,11 @@ struct _ColorSettings
     GPtrArray     *devices;
     GCancellable  *cancellable;
     GDBusProxy    *proxy;
-    GObject       *grid;
     GObject       *label_no_devices;
-    GObject       *box_devices;
-    GObject       *frame_devices;
+    GObject       *scrolled_devices;
+    GObject       *model;
+    GObject       *vendor;
+    GObject       *colorspace;
     GtkListBox    *list_box;
     gchar         *list_box_filter;
     guint          list_box_selected_id;
@@ -670,7 +671,7 @@ color_settings_update_device_list_extra_entry (ColorSettings *settings)
     device_widgets = gtk_container_get_children (GTK_CONTAINER (settings->list_box));
     number_of_devices = g_list_length (device_widgets);
     gtk_widget_set_visible (GTK_WIDGET (settings->label_no_devices), number_of_devices == 0);
-    gtk_widget_set_visible (GTK_WIDGET (settings->box_devices), number_of_devices > 0);
+    gtk_widget_set_visible (GTK_WIDGET (settings->scrolled_devices), number_of_devices > 0);
 }
 
 
@@ -681,6 +682,13 @@ color_settings_update_profile_list_extra_entry (ColorSettings *settings)
     g_autoptr(GList) profile_widgets = NULL;
     guint number_of_profiles;
 
+    if (CD_IS_DEVICE (settings->current_device)) {
+        gtk_label_set_text (GTK_LABEL (settings->model), cd_device_get_model (settings->current_device));
+        gtk_label_set_text (GTK_LABEL (settings->vendor), cd_device_get_vendor (settings->current_device));
+        gtk_label_set_text (GTK_LABEL (settings->colorspace),
+                            cd_colorspace_to_string (cd_device_get_colorspace (settings->current_device)));
+    }
+
     /* any profiles to show? */
     profile_widgets = gtk_container_get_children (GTK_CONTAINER (settings->profiles_list_box));
     number_of_profiles = g_list_length (profile_widgets);
@@ -1057,6 +1065,8 @@ color_settings_dialog_init (GtkBuilder *builder)
 {
     ColorSettings *settings;
     GtkTreeSelection *selection;
+    GObject *paned;
+    GtkCssProvider *provider;
 
     settings = g_new0 (ColorSettings, 1);
     settings->cancellable = g_cancellable_new ();
@@ -1069,12 +1079,23 @@ color_settings_dialog_init (GtkBuilder *builder)
     g_signal_connect_data (settings->client, "device-removed",
                            G_CALLBACK (color_settings_device_removed_cb), settings, 0, 0);
 
+    /* hide separator from GtkPaned */
+    paned = gtk_builder_get_object (builder, "paned");
+    provider = gtk_css_provider_new ();
+    gtk_css_provider_load_from_data (provider,
+                                     "paned separator { background:transparent; }",
+                                     -1, NULL);
+    gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (paned)),
+                                    GTK_STYLE_PROVIDER (provider),
+                                    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+
     settings->label_no_devices = gtk_builder_get_object (builder, "label-no-devices");
-    settings->box_devices = gtk_builder_get_object (builder, "box-devices");
-    settings->grid = gtk_builder_get_object (builder, "grid");
 
     /* Devices ListBox */
-    settings->frame_devices = gtk_builder_get_object (builder, "frame-devices");
+    settings->model = gtk_builder_get_object (builder, "model");
+    settings->vendor = gtk_builder_get_object (builder, "vendor");
+    settings->colorspace = gtk_builder_get_object (builder, "colorspace");
+    settings->scrolled_devices = gtk_builder_get_object (builder, "scrolled-devices");
     settings->list_box = GTK_LIST_BOX (gtk_list_box_new ());
     gtk_list_box_set_sort_func (settings->list_box,
                                 color_settings_sort_func,
@@ -1092,7 +1113,7 @@ color_settings_dialog_init (GtkBuilder *builder)
                           settings);
     settings->list_box_size = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
 
-    gtk_container_add (GTK_CONTAINER (settings->frame_devices), GTK_WIDGET (settings->list_box));
+    gtk_container_add (GTK_CONTAINER (settings->scrolled_devices), GTK_WIDGET (settings->list_box));
     gtk_widget_show_all (GTK_WIDGET (settings->list_box));
 
     /* Profiles ListBox */
@@ -1215,7 +1236,7 @@ main (gint argc, gchar **argv)
             dialog = gtk_builder_get_object (builder, "dialog");
 
             g_signal_connect (dialog, "response",
-                G_CALLBACK (color_settings_dialog_response), NULL);
+                              G_CALLBACK (color_settings_dialog_response), NULL);
             gtk_window_present (GTK_WINDOW (dialog));
 
             /* To prevent the settings dialog to be saved in the session */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list