[gthumb] ui changes to the preferences dialog



commit 473a4d1980fcba1b702e802131f3c0b2141c4337
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Sun Oct 26 17:00:19 2014 +0100

    ui changes to the preferences dialog
    
    * use a sidebar instead of a notebook to avoid a large dialog
      with some translations
    * better spacing
    * removed the Ok button

 data/ui/browser-preferences.ui                     |   81 ++++--
 data/ui/extensions-preferences.ui                  |    3 +-
 data/ui/preferences.ui                             |  306 +++++++++++---------
 .../cairo_io/data/ui/save-options-preferences.ui   |    6 +-
 extensions/catalogs/data/ui/catalog-properties.ui  |    7 +-
 .../image_print/data/ui/print-preferences.ui       |   71 ++---
 .../data/ui/image-viewer-preferences.ui            |  118 +++++---
 extensions/image_viewer/preferences.c              |   36 ++-
 .../data/ui/photo-importer-options.ui              |   45 ++-
 .../slideshow/data/ui/slideshow-preferences.ui     |    2 +-
 gthumb/dlg-preferences-browser.c                   |    2 -
 gthumb/dlg-preferences-extensions.c                |    5 +-
 gthumb/dlg-preferences-general.c                   |    3 +
 gthumb/dlg-preferences.c                           |   61 ++++-
 gthumb/gtk-utils.c                                 |   17 +
 gthumb/gtk-utils.h                                 |    1 +
 gthumb/resources/gthumb.css                        |    1 +
 17 files changed, 463 insertions(+), 302 deletions(-)
---
diff --git a/data/ui/browser-preferences.ui b/data/ui/browser-preferences.ui
index 14286b0..2157ded 100644
--- a/data/ui/browser-preferences.ui
+++ b/data/ui/browser-preferences.ui
@@ -5,20 +5,35 @@
   <object class="GtkBox" id="browser_page">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="border_width">12</property>
     <property name="orientation">vertical</property>
     <property name="spacing">12</property>
     <child>
-      <object class="GtkFrame" id="frame4">
+      <object class="GtkBox" id="box2">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkLabel" id="label4">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Caption</property>
+            <property name="use_markup">True</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkAlignment" id="alignment4">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="top_padding">6</property>
             <property name="left_padding">12</property>
             <child>
               <object class="GtkScrolledWindow" id="caption_scrolledwindow">
@@ -31,17 +46,11 @@
               </object>
             </child>
           </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="label4">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Caption</property>
-            <property name="use_markup">True</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
       <packing>
@@ -51,16 +60,32 @@
       </packing>
     </child>
     <child>
-      <object class="GtkFrame" id="frame5">
+      <object class="GtkBox" id="box3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkLabel" id="label8">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Other</property>
+            <property name="use_markup">True</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkAlignment" id="alignment5">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="top_padding">6</property>
             <property name="left_padding">12</property>
             <child>
               <object class="GtkBox" id="box1">
@@ -147,17 +172,11 @@
               </object>
             </child>
           </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="label8">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Other</property>
-            <property name="use_markup">True</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
       <packing>
diff --git a/data/ui/extensions-preferences.ui b/data/ui/extensions-preferences.ui
index 8d6fcd6..35e041e 100644
--- a/data/ui/extensions-preferences.ui
+++ b/data/ui/extensions-preferences.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.1 -->
+<!-- Generated with glade 3.18.3 -->
 <interface>
   <requires lib="gtk+" version="3.10"/>
   <object class="GtkListStore" id="category_liststore">
@@ -19,7 +19,6 @@
   <object class="GtkBox" id="preferences_page">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="border_width">12</property>
     <property name="orientation">vertical</property>
     <property name="spacing">6</property>
     <child>
diff --git a/data/ui/preferences.ui b/data/ui/preferences.ui
index 6dfd490..564ef0d 100644
--- a/data/ui/preferences.ui
+++ b/data/ui/preferences.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- Generated with glade 3.18.3 -->
 <interface>
-  <requires lib="gtk+" version="3.0"/>
+  <requires lib="gtk+" version="3.10"/>
   <object class="GtkListStore" id="file_properties_position_liststore">
     <columns>
       <!-- column-name name -->
@@ -16,156 +16,152 @@
       </row>
     </data>
   </object>
-  <object class="GtkDialog" id="preferences_dialog">
+  <object class="GtkWindow" id="preferences_dialog">
     <property name="can_focus">False</property>
-    <property name="border_width">5</property>
     <property name="title" translatable="yes">gThumb Preferences</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox1">
+    <child>
+      <object class="GtkBox" id="box1">
+        <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">8</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
+        <property name="spacing">5</property>
+        <child>
+          <object class="GtkScrolledWindow" id="scrolledwindow2">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">5</property>
+            <property name="hscrollbar_policy">never</property>
             <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-ok</property>
-                <property name="use_action_appearance">False</property>
+              <object class="GtkViewport" id="viewport1">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <object class="GtkListBox" id="tabs_listbox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                </child>
               </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
+            <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">1</property>
+            <property name="position">0</property>
           </packing>
         </child>
         <child>
           <object class="GtkNotebook" id="notebook">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <property name="show_tabs">False</property>
+            <property name="show_border">False</property>
             <child>
               <object class="GtkBox" id="general_page">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">12</property>
                 <property name="orientation">vertical</property>
                 <property name="spacing">12</property>
                 <child>
-                  <object class="GtkFrame" id="frame1">
+                  <object class="GtkBox" id="box7">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label3">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Appearance</property>
+                        <property name="use_markup">True</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
                     <child>
                       <object class="GtkAlignment" id="alignment1">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="top_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkBox" id="box2">
+                          <object class="GtkGrid" id="grid2">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="row_spacing">6</property>
+                            <property name="column_spacing">6</property>
                             <child>
-                              <object class="GtkGrid" id="grid2">
+                              <object class="GtkLabel" id="label5">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="row_spacing">6</property>
-                                <property name="column_spacing">6</property>
-                                <child>
-                                  <object class="GtkLabel" id="label5">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">T_humbnails in 
viewer:</property>
-                                    <property name="use_underline">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBoxText" id="thumbnails_pane_orient_combobox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <items>
-                                      <item translatable="yes">on the bottom</item>
-                                      <item translatable="yes">on the side</item>
-                                    </items>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="label10">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">File _properties in 
browser:</property>
-                                    <property name="use_underline">True</property>
-                                    <property 
name="mnemonic_widget">file_properties_position_combobox</property>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">0</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
-                                </child>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">T_humbnails in viewer:</property>
+                                <property name="use_underline">True</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBoxText" id="thumbnails_pane_orient_combobox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <items>
+                                  <item translatable="yes">on the bottom</item>
+                                  <item translatable="yes">on the side</item>
+                                </items>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label10">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">File _properties in 
browser:</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">file_properties_position_combobox</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="file_properties_position_combobox">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="model">file_properties_position_liststore</property>
                                 <child>
-                                  <object class="GtkComboBox" id="file_properties_position_combobox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="model">file_properties_position_liststore</property>
-                                    <child>
-                                      <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                                      <attributes>
-                                        <attribute name="text">0</attribute>
-                                      </attributes>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="top_attach">1</property>
-                                  </packing>
+                                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                                  <attributes>
+                                    <attribute name="text">0</attribute>
+                                  </attributes>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">1</property>
                               </packing>
                             </child>
                           </object>
                         </child>
                       </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Appearance</property>
-                        <property name="use_markup">True</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
@@ -175,16 +171,33 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkFrame" id="frame2">
+                  <object class="GtkBox" id="box2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label6">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">On startup:</property>
+                        <property name="use_markup">True</property>
+                        <property name="ellipsize">end</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
                     <child>
                       <object class="GtkAlignment" id="alignment2">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="top_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkBox" id="box3">
@@ -300,17 +313,11 @@
                           </object>
                         </child>
                       </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">On startup:</property>
-                        <property name="use_markup">True</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
@@ -320,16 +327,32 @@
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkFrame" id="frame3">
+                  <object class="GtkBox" id="box8">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label_xalign">0</property>
-                    <property name="shadow_type">none</property>
+                    <property name="orientation">vertical</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label7">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Other</property>
+                        <property name="use_markup">True</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
                     <child>
                       <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="top_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkBox" id="box6">
@@ -391,17 +414,11 @@
                           </object>
                         </child>
                       </object>
-                    </child>
-                    <child type="label">
-                      <object class="GtkLabel" id="label7">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">Other</property>
-                        <property name="use_markup">True</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
@@ -424,15 +441,20 @@
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
+            <property name="expand">True</property>
             <property name="fill">True</property>
-            <property name="position">0</property>
+            <property name="position">1</property>
           </packing>
         </child>
       </object>
     </child>
-    <action-widgets>
-      <action-widget response="0">close_button</action-widget>
-    </action-widgets>
+  </object>
+  <object class="GtkListStore" id="tabs_liststore">
+    <columns>
+      <!-- column-name pos -->
+      <column type="guint"/>
+      <!-- column-name name -->
+      <column type="gchararray"/>
+    </columns>
   </object>
 </interface>
diff --git a/extensions/cairo_io/data/ui/save-options-preferences.ui 
b/extensions/cairo_io/data/ui/save-options-preferences.ui
index fb72872..0aaf57b 100644
--- a/extensions/cairo_io/data/ui/save-options-preferences.ui
+++ b/extensions/cairo_io/data/ui/save-options-preferences.ui
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.3 -->
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
+  <requires lib="gtk+" version="3.0"/>
   <object class="GtkListStore" id="file_type_liststore">
     <columns>
       <!-- column-name gint1 -->
@@ -14,9 +15,8 @@
   <object class="GtkBox" id="preferences_page">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="border_width">12</property>
     <property name="orientation">vertical</property>
-    <property name="spacing">12</property>
+    <property name="spacing">6</property>
     <child>
       <object class="GtkLabel" id="label1">
         <property name="visible">True</property>
diff --git a/extensions/catalogs/data/ui/catalog-properties.ui 
b/extensions/catalogs/data/ui/catalog-properties.ui
index 709144f..fcb7c37 100644
--- a/extensions/catalogs/data/ui/catalog-properties.ui
+++ b/extensions/catalogs/data/ui/catalog-properties.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.2 -->
+<!-- Generated with glade 3.18.3 -->
 <interface>
   <requires lib="gtk+" version="3.0"/>
   <object class="GtkDialog" id="properties_dialog">
@@ -62,14 +62,13 @@
           <object class="GtkVBox" id="main_vbox">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="border_width">5</property>
             <property name="spacing">12</property>
             <child>
               <object class="GtkNotebook" id="properties_notebook">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <child>
-                  <object class="GtkVBox" id="general_vbox">
+                  <object class="GtkVBox" id="general_page">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                     <property name="border_width">12</property>
@@ -215,7 +214,7 @@
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
+            <property name="expand">True</property>
             <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
diff --git a/extensions/image_print/data/ui/print-preferences.ui 
b/extensions/image_print/data/ui/print-preferences.ui
index 60617bd..995c17b 100644
--- a/extensions/image_print/data/ui/print-preferences.ui
+++ b/extensions/image_print/data/ui/print-preferences.ui
@@ -1,17 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.3 -->
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <object class="GtkFrame" id="preferences_page">
+  <requires lib="gtk+" version="3.10"/>
+  <object class="GtkBox" id="preferences_page">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="border_width">12</property>
-    <property name="label_xalign">0</property>
-    <property name="shadow_type">none</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkLabel" id="label4">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="xalign">0</property>
+        <property name="label" translatable="yes">Fonts</property>
+        <property name="use_markup">True</property>
+        <attributes>
+          <attribute name="weight" value="bold"/>
+        </attributes>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
     <child>
       <object class="GtkAlignment" id="alignment2">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="top_padding">6</property>
         <property name="left_padding">12</property>
         <child>
           <object class="GtkBox" id="box1">
@@ -34,8 +50,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -50,8 +64,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -66,8 +78,6 @@
                   <packing>
                     <property name="left_attach">0</property>
                     <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -76,9 +86,8 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
                     <property name="font">Sans 12</property>
-                    <property name="preview_text"></property>
+                    <property name="preview_text"/>
                     <property name="show_preview_entry">False</property>
                     <property name="title" translatable="yes">Select Caption Font</property>
                     <property name="use_font">True</property>
@@ -87,8 +96,6 @@
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">0</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -97,20 +104,16 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="font">Sans 12</property>
-                    <property name="preview_text"></property>
+                    <property name="font">Sans Bold 12</property>
+                    <property name="preview_text"/>
                     <property name="show_preview_entry">False</property>
                     <property name="title" translatable="yes">Select Header Font</property>
-                    <property name="font_name">Sans Bold 12</property>
                     <property name="use_font">True</property>
                     <property name="use_size">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">1</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
                 <child>
@@ -119,20 +122,16 @@
                     <property name="visible">True</property>
                     <property name="can_focus">True</property>
                     <property name="receives_default">True</property>
-                    <property name="use_action_appearance">False</property>
-                    <property name="font">Sans 12</property>
-                    <property name="preview_text"></property>
+                    <property name="font">Sans 8</property>
+                    <property name="preview_text"/>
                     <property name="show_preview_entry">False</property>
                     <property name="title" translatable="yes">Select Footer Font</property>
-                    <property name="font_name">Sans 8</property>
                     <property name="use_font">True</property>
                     <property name="use_size">True</property>
                   </object>
                   <packing>
                     <property name="left_attach">1</property>
                     <property name="top_attach">2</property>
-                    <property name="width">1</property>
-                    <property name="height">1</property>
                   </packing>
                 </child>
               </object>
@@ -145,17 +144,11 @@
           </object>
         </child>
       </object>
-    </child>
-    <child type="label">
-      <object class="GtkLabel" id="label4">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">Fonts</property>
-        <property name="use_markup">True</property>
-        <attributes>
-          <attribute name="weight" value="bold"/>
-        </attributes>
-      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
     </child>
   </object>
 </interface>
diff --git a/extensions/image_viewer/data/ui/image-viewer-preferences.ui 
b/extensions/image_viewer/data/ui/image-viewer-preferences.ui
index a384c16..dad9e63 100644
--- a/extensions/image_viewer/data/ui/image-viewer-preferences.ui
+++ b/extensions/image_viewer/data/ui/image-viewer-preferences.ui
@@ -1,24 +1,39 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.0 on Tue Oct 29 20:36:21 2013 -->
+<!-- Generated with glade 3.18.3 -->
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
+  <requires lib="gtk+" version="3.0"/>
   <object class="GtkBox" id="preferences_page">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="border_width">12</property>
     <property name="orientation">vertical</property>
     <property name="spacing">12</property>
     <child>
-      <object class="GtkFrame" id="frame1">
+      <object class="GtkBox" id="box3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">After loading an image:</property>
+            <property name="use_markup">True</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkAlignment" id="alignment1">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="top_padding">6</property>
             <property name="left_padding">12</property>
             <child>
               <object class="GtkBox" id="box1">
@@ -75,17 +90,11 @@
               </object>
             </child>
           </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="label1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">After loading an image:</property>
-            <property name="use_markup">True</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
       <packing>
@@ -95,29 +104,48 @@
       </packing>
     </child>
     <child>
-      <object class="GtkFrame" id="frame2">
+      <object class="GtkBox" id="box4">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkLabel" id="label2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Zoom quality:</property>
+            <property name="use_markup">True</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkAlignment" id="alignment2">
             <property name="visible">True</property>
             <property name="can_focus">False</property>
-            <property name="top_padding">6</property>
             <property name="left_padding">12</property>
             <child>
               <object class="GtkBox" id="box6">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkComboBoxText" id="zoom_quality_combobox">
+                  <object class="GtkRadioButton" id="zoom_quality_high_radiobutton">
+                    <property name="label" translatable="yes" context="zoom quality">_High</property>
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <items>
-                      <item translatable="yes">High</item>
-                      <item translatable="yes">Low</item>
-                    </items>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
                   </object>
                   <packing>
                     <property name="expand">False</property>
@@ -125,20 +153,32 @@
                     <property name="position">0</property>
                   </packing>
                 </child>
+                <child>
+                  <object class="GtkRadioButton" id="zoom_quality_low_radiobutton">
+                    <property name="label" translatable="yes" context="zoom quality">_Low</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="active">True</property>
+                    <property name="draw_indicator">True</property>
+                    <property name="group">zoom_quality_high_radiobutton</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
               </object>
             </child>
           </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="label2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes">Zoom quality:</property>
-            <property name="use_markup">True</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
         </child>
       </object>
       <packing>
diff --git a/extensions/image_viewer/preferences.c b/extensions/image_viewer/preferences.c
index a84c514..b50d2c6 100644
--- a/extensions/image_viewer/preferences.c
+++ b/extensions/image_viewer/preferences.c
@@ -44,15 +44,6 @@ browser_data_free (BrowserData *data)
 
 
 static void
-zoom_quality_changed_cb (GtkComboBox *combo_box,
-                        BrowserData *data)
-{
-       g_settings_set_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY, gtk_combo_box_get_active 
(combo_box));
-}
-
-
-
-static void
 zoom_change_changed_cb (GtkComboBox *combo_box,
                        BrowserData *data)
 {
@@ -68,6 +59,14 @@ reset_scrollbars_toggled_cb (GtkToggleButton *button,
 }
 
 
+static void
+zoom_quality_radiobutton_toggled_cb (GtkToggleButton *button,
+                                    BrowserData     *data)
+{
+       g_settings_set_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY, (button == GET_WIDGET 
("zoom_quality_high_radiobutton")) ? GTH_ZOOM_QUALITY_HIGH : GTH_ZOOM_QUALITY_LOW);
+}
+
+
 void
 image_viewer__dlg_preferences_construct_cb (GtkWidget  *dialog,
                                            GthBrowser *browser,
@@ -92,17 +91,24 @@ image_viewer__dlg_preferences_construct_cb (GtkWidget  *dialog,
                                  g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_CHANGE));
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("toggle_reset_scrollbars")),
                                      g_settings_get_boolean (data->settings, 
PREF_IMAGE_VIEWER_RESET_SCROLLBARS));
-       gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("zoom_quality_combobox")),
-                                 g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY));
 
-       g_signal_connect (GET_WIDGET ("zoom_quality_combobox"),
-                         "changed",
-                         G_CALLBACK (zoom_quality_changed_cb),
-                         data);
+       if (g_settings_get_enum (data->settings, PREF_IMAGE_VIEWER_ZOOM_QUALITY) == GTH_ZOOM_QUALITY_LOW)
+               gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET 
("zoom_quality_low_radiobutton")), TRUE);
+       else
+               gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET 
("zoom_quality_high_radiobutton")), TRUE);
+
        g_signal_connect (GET_WIDGET ("change_zoom_combobox"),
                          "changed",
                          G_CALLBACK (zoom_change_changed_cb),
                          data);
+       g_signal_connect (GET_WIDGET ("zoom_quality_low_radiobutton"),
+                         "toggled",
+                         G_CALLBACK (zoom_quality_radiobutton_toggled_cb),
+                         data);
+       g_signal_connect (GET_WIDGET ("zoom_quality_high_radiobutton"),
+                         "toggled",
+                         G_CALLBACK (zoom_quality_radiobutton_toggled_cb),
+                         data);
        g_signal_connect (GET_WIDGET ("toggle_reset_scrollbars"),
                          "toggled",
                          G_CALLBACK (reset_scrollbars_toggled_cb),
diff --git a/extensions/photo_importer/data/ui/photo-importer-options.ui 
b/extensions/photo_importer/data/ui/photo-importer-options.ui
index 02497a6..f23e6c5 100644
--- a/extensions/photo_importer/data/ui/photo-importer-options.ui
+++ b/extensions/photo_importer/data/ui/photo-importer-options.ui
@@ -1,41 +1,52 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.18.3 -->
 <interface>
-  <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkFrame" id="importer_options">
+  <requires lib="gtk+" version="3.0"/>
+  <object class="GtkBox" id="importer_options">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="label_xalign">0</property>
-    <property name="shadow_type">none</property>
+    <property name="orientation">vertical</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkLabel" id="label3">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="xalign">0</property>
+        <property name="label" translatable="yes">After importing from a device:</property>
+        <property name="use_markup">True</property>
+        <attributes>
+          <attribute name="weight" value="bold"/>
+        </attributes>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
     <child>
       <object class="GtkAlignment" id="alignment3">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <property name="top_padding">6</property>
         <property name="left_padding">12</property>
         <child>
           <object class="GtkCheckButton" id="adjust_orientation_checkbutton">
             <property name="label" translatable="yes">_Rotate the images physically</property>
+            <property name="use_action_appearance">False</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="xalign">0</property>
             <property name="draw_indicator">True</property>
           </object>
         </child>
       </object>
-    </child>
-    <child type="label">
-      <object class="GtkLabel" id="label3">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">After importing from a device:</property>
-        <property name="use_markup">True</property>
-        <attributes>
-          <attribute name="weight" value="bold"/>
-        </attributes>
-      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">True</property>
+        <property name="position">1</property>
+      </packing>
     </child>
   </object>
 </interface>
diff --git a/extensions/slideshow/data/ui/slideshow-preferences.ui 
b/extensions/slideshow/data/ui/slideshow-preferences.ui
index 9f89435..9ca4600 100644
--- a/extensions/slideshow/data/ui/slideshow-preferences.ui
+++ b/extensions/slideshow/data/ui/slideshow-preferences.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.1 -->
+<!-- Generated with glade 3.18.3 -->
 <interface>
   <requires lib="gtk+" version="3.0"/>
   <object class="GtkAdjustment" id="delay_adjustment">
diff --git a/gthumb/dlg-preferences-browser.c b/gthumb/dlg-preferences-browser.c
index 4ed2f31..b2dfc35 100644
--- a/gthumb/dlg-preferences-browser.c
+++ b/gthumb/dlg-preferences-browser.c
@@ -129,8 +129,6 @@ browser__dlg_preferences_construct_cb (GtkWidget  *dialog,
                                  get_idx_from_size (g_settings_get_int (data->browser_settings, 
PREF_BROWSER_THUMBNAIL_SIZE)));
        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("slow_mime_type_checkbutton")),
                                      ! g_settings_get_boolean (data->browser_settings, 
PREF_BROWSER_FAST_FILE_TYPE));
-       gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("file_properties_position_combobox")),
-                                 g_settings_get_boolean (data->browser_settings, 
PREF_BROWSER_PROPERTIES_ON_THE_RIGHT) ? 1 : 0);
 
        /* signal handlers */
 
diff --git a/gthumb/dlg-preferences-extensions.c b/gthumb/dlg-preferences-extensions.c
index 9b7ed3d..05b4b98 100644
--- a/gthumb/dlg-preferences-extensions.c
+++ b/gthumb/dlg-preferences-extensions.c
@@ -522,6 +522,7 @@ create_extensions_row (GthExtensionDescription      *description,
        g_object_set_data_full (G_OBJECT (row), "extension-row-data", row_data, (GDestroyNotify) 
row_data_free);
 
        row_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
+       gtk_container_set_border_width (GTK_CONTAINER (row_box), 10);
        gtk_container_add (GTK_CONTAINER (row), row_box);
 
        button = gtk_switch_new ();
@@ -558,7 +559,7 @@ create_extensions_row (GthExtensionDescription      *description,
                                  row_data);
                gtk_box_pack_start (GTK_BOX (row_box), button, FALSE, FALSE, 0);
        }
-       if (extension != NULL) {
+       if ((extension != NULL) && (g_strcmp0 (description->authors[0], _("gthumb development team")) != 0)) {
                button = gtk_button_new_from_icon_name ("dialog-information-symbolic", GTK_ICON_SIZE_BUTTON);
                gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
                g_signal_connect (button,
@@ -676,6 +677,8 @@ extensions__dlg_preferences_construct_cb (GtkWidget  *dialog,
 
        for (scan = descriptions; scan; scan = scan->next) {
                GthExtensionDescription *description = scan->data;
+               if (scan != descriptions)
+                       _gtk_list_box_add_separator (GTK_LIST_BOX (data->extensions_list));
                gtk_container_add (GTK_CONTAINER (data->extensions_list), create_extensions_row (description, 
data));
        }
 
diff --git a/gthumb/dlg-preferences-general.c b/gthumb/dlg-preferences-general.c
index 4943a24..c4dfebc 100644
--- a/gthumb/dlg-preferences-general.c
+++ b/gthumb/dlg-preferences-general.c
@@ -148,6 +148,9 @@ general__dlg_preferences_construct_cb (GtkWidget  *dialog,
 
        /* widgets */
 
+       gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("file_properties_position_combobox")),
+                                 g_settings_get_boolean (data->browser_settings, 
PREF_BROWSER_PROPERTIES_ON_THE_RIGHT) ? 1 : 0);
+
        if (g_settings_get_boolean (data->browser_settings, PREF_BROWSER_USE_STARTUP_LOCATION))
                gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET 
("use_startup_location_radiobutton")), TRUE);
        else
diff --git a/gthumb/dlg-preferences.c b/gthumb/dlg-preferences.c
index d86e435..17d44d0 100644
--- a/gthumb/dlg-preferences.c
+++ b/gthumb/dlg-preferences.c
@@ -61,10 +61,15 @@ destroy_cb (GtkWidget *widget,
 
 
 static void
-close_button_clicked_cb (GtkWidget  *widget,
-                        DialogData *data)
+list_box_row_activated_cb (GtkListBox    *box,
+                          GtkListBoxRow *row,
+                          gpointer       user_data)
 {
-       gtk_widget_destroy (data->dialog);
+       DialogData *data = user_data;
+       int         page_num;
+
+       page_num = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (row), "gth.page_num"));
+       gtk_notebook_set_current_page (GTK_NOTEBOOK (GET_WIDGET("notebook")), page_num);
 }
 
 
@@ -72,6 +77,12 @@ void
 dlg_preferences (GthBrowser *browser)
 {
        DialogData       *data;
+       GtkWidget        *notebook;
+       GList            *children;
+       GList            *scan;
+       int               page_num;
+       GtkWidget        *list_box;
+       GtkTreeSelection *selection;
 
        if (gth_browser_get_dialog (browser, "preferences") != NULL) {
                gtk_window_present (GTK_WINDOW (gth_browser_get_dialog (browser, "preferences")));
@@ -86,15 +97,53 @@ dlg_preferences (GthBrowser *browser)
        gth_browser_set_dialog (browser, "preferences", data->dialog);
        gth_hook_invoke ("dlg-preferences-construct", data->dialog, data->browser, data->builder);
 
+       /* widgets */
+
+       list_box = GET_WIDGET ("tabs_listbox");
+       notebook = GET_WIDGET ("notebook");
+       children = gtk_container_get_children (GTK_CONTAINER (notebook));
+       page_num = 0;
+       for (scan = children; scan; scan = scan->next) {
+               GtkWidget   *child = scan->data;
+               const char  *name;
+               GtkWidget   *row;
+               GtkWidget   *box;
+               GtkWidget   *label;
+
+               name = gtk_notebook_get_tab_label_text (GTK_NOTEBOOK (notebook), child);
+               if (name == NULL)
+                       continue;
+
+               if (scan != children)
+                       _gtk_list_box_add_separator (GTK_LIST_BOX (list_box));
+
+               row = gtk_list_box_row_new ();
+               g_object_set_data (G_OBJECT (row), "gth.page_num", GINT_TO_POINTER (page_num));
+               gtk_widget_show (row);
+               gtk_container_add (GTK_CONTAINER (list_box), row);
+
+               box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+               gtk_container_set_border_width (GTK_CONTAINER (box), 10);
+               gtk_widget_show (box);
+               gtk_container_add (GTK_CONTAINER (row), box);
+
+               label = gtk_label_new (name);
+               gtk_label_set_ellipsize (GTK_LABEL(label), PANGO_ELLIPSIZE_END);
+               gtk_widget_show (label);
+               gtk_container_add (GTK_CONTAINER (box), label);
+
+               page_num += 1;
+       }
+
        /* Set the signals handlers. */
 
        g_signal_connect (G_OBJECT (data->dialog),
                          "destroy",
                          G_CALLBACK (destroy_cb),
                          data);
-       g_signal_connect (G_OBJECT (GET_WIDGET ("close_button")),
-                         "clicked",
-                         G_CALLBACK (close_button_clicked_cb),
+       g_signal_connect (list_box,
+                         "row-activated",
+                         G_CALLBACK (list_box_row_activated_cb),
                          data);
 
        /* run dialog. */
diff --git a/gthumb/gtk-utils.c b/gthumb/gtk-utils.c
index d3363a5..dc9f0c1 100644
--- a/gthumb/gtk-utils.c
+++ b/gthumb/gtk-utils.c
@@ -1229,3 +1229,20 @@ _gtk_widget_get_client_pointer (GtkWidget *widget)
 
        return gdk_device_manager_get_client_pointer (device_manager);
 }
+
+
+void
+_gtk_list_box_add_separator (GtkListBox *list_box) {
+       GtkWidget *row;
+       GtkWidget *sep;
+
+       row = gtk_list_box_row_new ();
+       gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (row), FALSE);
+       gtk_list_box_row_set_selectable (GTK_LIST_BOX_ROW (row), FALSE);
+       gtk_widget_show (row);
+       gtk_container_add (GTK_CONTAINER (list_box), row);
+
+       sep = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+       gtk_widget_show (sep);
+       gtk_container_add (GTK_CONTAINER (row), sep);
+}
diff --git a/gthumb/gtk-utils.h b/gthumb/gtk-utils.h
index ad11d38..b2c1e3a 100644
--- a/gthumb/gtk-utils.h
+++ b/gthumb/gtk-utils.h
@@ -146,6 +146,7 @@ void                _gtk_window_add_accelerators_from_menu     (GtkWindow           
*window,
                                                            GMenuModel          *menu);
 gboolean       _gtk_window_get_is_maximized               (GtkWindow           *window);
 GdkDevice *     _gtk_widget_get_client_pointer            (GtkWidget           *widget);
+void            _gtk_list_box_add_separator               (GtkListBox          *list_box);
 
 G_END_DECLS
 
diff --git a/gthumb/resources/gthumb.css b/gthumb/resources/gthumb.css
index 11ba637..8a8b712 100644
--- a/gthumb/resources/gthumb.css
+++ b/gthumb/resources/gthumb.css
@@ -121,6 +121,7 @@ GtkLabel.extension-name {
 
 GtkLabel.extension-description {
        font-size: 80%;
+       color: @theme_unfocused_fg_color;
 }
 
 /* -- video player -- */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]