[gthumb] moved the extensions activation in the preferences dialog



commit 710e95a7c75a3c6a6954c306f9b53ab3216d96a7
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Thu May 19 22:14:40 2011 +0200

    moved the extensions activation in the preferences dialog

 data/ui/Makefile.am                                |   14 +-
 data/ui/extensions-preferences.ui                  |  183 +++++++++++++
 data/ui/extensions.ui                              |  205 --------------
 data/ui/preferences.ui                             |  280 +++++++++++++-------
 gthumb/Makefile.am                                 |    4 +-
 ...g-extensions.c => dlg-preferences-extensions.c} |  206 ++++++++-------
 ...g-extensions.h => dlg-preferences-extensions.h} |    7 +-
 gthumb/gth-browser-actions-callbacks.c             |    9 -
 gthumb/gth-browser-actions-callbacks.h             |    1 -
 gthumb/gth-browser-actions-entries.h               |    5 -
 gthumb/gth-browser-ui.h                            |    1 -
 gthumb/gth-main-default-types.c                    |    3 +
 12 files changed, 493 insertions(+), 425 deletions(-)
---
diff --git a/data/ui/Makefile.am b/data/ui/Makefile.am
index fba4e66..4db747e 100644
--- a/data/ui/Makefile.am
+++ b/data/ui/Makefile.am
@@ -1,11 +1,11 @@
 uidir = $(pkgdatadir)/ui
-ui_DATA = 			\
-	extensions.ui		\
-	filter-editor.ui	\
-	histogram-info.ui	\
-	overwrite-dialog.ui	\
-	personalize-filters.ui	\
-	preferences.ui		\
+ui_DATA = 				\
+	extensions-preferences.ui	\
+	filter-editor.ui		\
+	histogram-info.ui		\
+	overwrite-dialog.ui		\
+	personalize-filters.ui		\
+	preferences.ui			\
 	sort-order.ui
 
 EXTRA_DIST = $(ui_DATA)
diff --git a/data/ui/extensions-preferences.ui b/data/ui/extensions-preferences.ui
new file mode 100644
index 0000000..5385bba
--- /dev/null
+++ b/data/ui/extensions-preferences.ui
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <object class="GtkListStore" id="category_liststore">
+    <columns>
+      <!-- column-name id -->
+      <column type="gchararray"/>
+      <!-- column-name name -->
+      <column type="gchararray"/>
+      <!-- column-name icon -->
+      <column type="gchararray"/>
+      <!-- column-name separator -->
+      <column type="gboolean"/>
+    </columns>
+  </object>
+  <object class="GtkVBox" id="preferences_page">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">12</property>
+    <property name="spacing">6</property>
+    <child>
+      <object class="GtkVBox" id="vbox4">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkHBox" id="hbox6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="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">_Extensions:</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="category_combobox">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="model">category_liststore</property>
+                <child>
+                  <object class="GtkCellRendererText" id="cellrenderertext2"/>
+                  <attributes>
+                    <attribute name="text">1</attribute>
+                  </attributes>
+                </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="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="vbox6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="spacing">3</property>
+            <child>
+              <object class="GtkScrolledWindow" id="extensions_scrolledwindow">
+                <property name="width_request">400</property>
+                <property name="height_request">350</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">True</property>
+        <property name="fill">True</property>
+        <property name="position">0</property>
+      </packing>
+    </child>
+    <child>
+      <object class="GtkHBox" id="box1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkHBox" id="hbox7">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkLinkButton" id="linkbutton1">
+                <property name="label" translatable="yes">More extensions...</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="relief">none</property>
+                <property name="uri">http://live.gnome.org/gthumb/extensions</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="preferences_button">
+            <property name="label">gtk-preferences</property>
+            <property name="visible">True</property>
+            <property name="sensitive">False</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="has_tooltip">True</property>
+            <property name="tooltip_markup">Some extensions are configurable.</property>
+            <property name="tooltip_text" translatable="yes">Some extensions are configurable.</property>
+            <property name="use_action_appearance">False</property>
+            <property name="use_stock">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="about_button">
+            <property name="label">gtk-about</property>
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="use_action_appearance">False</property>
+            <property name="use_stock">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+      <packing>
+        <property name="expand">False</property>
+        <property name="fill">False</property>
+        <property name="position">1</property>
+      </packing>
+    </child>
+  </object>
+</interface>
diff --git a/data/ui/preferences.ui b/data/ui/preferences.ui
index 06dd979..ad8c2a0 100644
--- a/data/ui/preferences.ui
+++ b/data/ui/preferences.ui
@@ -1,15 +1,81 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
+  <requires lib="gtk+" version="2.24"/>
+  <object class="GtkListStore" id="click_policy_liststore">
+    <columns>
+      <!-- column-name name -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Follow Nautilus behaviour</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Activate items with a single click</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Activate items with a double click</col>
+      </row>
+    </data>
+  </object>
   <object class="GtkDialog" id="preferences_dialog">
+    <property name="can_focus">False</property>
     <property name="border_width">6</property>
     <property name="title" translatable="yes">gthumb Preferences</property>
     <property name="type_hint">dialog</property>
     <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox4">
+      <object class="GtkBox" id="dialog-vbox4">
         <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_area4">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="help_button">
+                <property name="label">gtk-help</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_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="close_button">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkNotebook" id="notebook">
             <property name="visible">True</property>
@@ -18,19 +84,23 @@
             <child>
               <object class="GtkVBox" id="general_vbox">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
                   <object class="GtkVBox" id="vbox25">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkHBox" id="hbox66">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">5</property>
                         <child>
                           <object class="GtkLabel" id="label156">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">Appearance</property>
                             <attributes>
                               <attribute name="weight" value="bold"/>
@@ -44,19 +114,24 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</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="left_padding">12</property>
                         <child>
                           <object class="GtkHBox" id="hbox4">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <child>
                               <object class="GtkTable" id="table1">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="n_rows">2</property>
                                 <property name="n_columns">2</property>
                                 <property name="column_spacing">6</property>
@@ -64,6 +139,7 @@
                                 <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">_Toolbar style:</property>
                                     <property name="use_underline">True</property>
@@ -75,6 +151,7 @@
                                 <child>
                                   <object class="GtkHBox" id="toolbar_style_combobox_box">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <child>
                                       <placeholder/>
                                     </child>
@@ -87,6 +164,7 @@
                                 <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">T_humbnails in viewer:</property>
                                     <property name="use_underline">True</property>
@@ -100,6 +178,7 @@
                                 <child>
                                   <object class="GtkComboBox" id="thumbnails_pane_orient_combobox">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="model">thumbnails_pane_orient_liststore</property>
                                     <child>
                                       <object class="GtkCellRendererText" id="cellrenderertext1"/>
@@ -118,6 +197,7 @@
                               </object>
                               <packing>
                                 <property name="expand">False</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
@@ -125,26 +205,32 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkVBox" id="vbox26">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkHBox" id="hbox34">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">5</property>
                         <child>
                           <object class="GtkLabel" id="label86">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">On startup:</property>
                             <property name="justify">center</property>
                             <attributes>
@@ -159,19 +245,24 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</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="left_padding">12</property>
                         <child>
                           <object class="GtkHBox" id="hbox5">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <child>
                               <object class="GtkVBox" id="vbox8">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <object class="GtkRadioButton" id="go_to_last_location_radiobutton">
@@ -179,7 +270,9 @@
                                     <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="active">True</property>
                                     <property name="draw_indicator">True</property>
                                   </object>
@@ -192,6 +285,7 @@
                                 <child>
                                   <object class="GtkHBox" id="hbox10">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
                                       <object class="GtkRadioButton" id="use_startup_location_radiobutton">
@@ -199,6 +293,7 @@
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
+                                        <property name="use_action_appearance">False</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">go_to_last_location_radiobutton</property>
@@ -212,11 +307,14 @@
                                     <child>
                                       <object class="GtkFileChooserButton" id="startup_dir_filechooserbutton">
                                         <property name="visible">True</property>
-                                        <property name="local_only">False</property>
+                                        <property name="can_focus">False</property>
                                         <property name="action">select-folder</property>
+                                        <property name="local_only">False</property>
                                         <property name="title" translatable="yes">Choose startup folder</property>
                                       </object>
                                       <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
@@ -230,6 +328,7 @@
                                 <child>
                                   <object class="GtkHBox" id="hbox11">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="spacing">6</property>
                                     <child>
                                       <object class="GtkButton" id="set_to_current_button">
@@ -237,6 +336,7 @@
                                         <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="use_underline">True</property>
                                       </object>
                                       <packing>
@@ -248,11 +348,15 @@
                                     </child>
                                   </object>
                                   <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
@@ -260,26 +364,32 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkVBox" id="vbox57">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkHBox" id="hbox110">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">5</property>
                         <child>
                           <object class="GtkLabel" id="label183">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">Other</property>
                             <property name="justify">center</property>
                             <attributes>
@@ -295,16 +405,19 @@
                       </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="left_padding">12</property>
                         <child>
                           <object class="GtkVBox" id="vbox10">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkCheckButton" id="confirm_deletion_checkbutton">
@@ -312,7 +425,9 @@
                                 <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>
                               <packing>
@@ -327,7 +442,9 @@
                                 <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>
                               <packing>
@@ -342,10 +459,14 @@
                                 <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>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
@@ -353,12 +474,15 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">2</property>
                   </packing>
                 </child>
@@ -367,6 +491,7 @@
             <child type="tab">
               <object class="GtkLabel" id="label77">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">General</property>
                 <property name="justify">center</property>
               </object>
@@ -377,19 +502,23 @@
             <child>
               <object class="GtkVBox" id="browser_vbox">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
                   <object class="GtkVBox" id="vbox5">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkHBox" id="hbox2">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">5</property>
                         <child>
                           <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="justify">center</property>
                             <attributes>
@@ -405,20 +534,20 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkAlignment" id="alignment7">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkScrolledWindow" id="caption_scrolledwindow">
                             <property name="height_request">150</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="hscrollbar_policy">automatic</property>
-                            <property name="vscrollbar_policy">automatic</property>
                             <property name="shadow_type">in</property>
                             <child>
                               <placeholder/>
@@ -427,25 +556,32 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkVBox" id="vbox2">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkHBox" id="hbox1">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="spacing">5</property>
                         <child>
                           <object class="GtkLabel" id="label3">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">Other</property>
                             <property name="justify">center</property>
                             <attributes>
@@ -461,24 +597,29 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkAlignment" id="alignment6">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkVBox" id="vbox1">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkHBox" id="hbox3">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <object class="GtkLabel" id="size_label">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">Thumbnail _size:</property>
                                     <property name="use_underline">True</property>
@@ -486,23 +627,28 @@
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
+                                    <property name="fill">True</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <object class="GtkHBox" id="thumbnail_size_box">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <child>
                                       <placeholder/>
                                     </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">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
@@ -512,10 +658,14 @@
                                 <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>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
@@ -523,12 +673,15 @@
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -540,6 +693,7 @@
             <child type="tab">
               <object class="GtkLabel" id="label78">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">Browser</property>
                 <property name="justify">center</property>
               </object>
@@ -550,52 +704,11 @@
             </child>
           </object>
           <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area4">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="help_button">
-                <property name="label">gtk-help</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-                <property name="secondary">True</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="close_button">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="has_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
       </object>
     </child>
     <action-widgets>
@@ -603,29 +716,6 @@
       <action-widget response="-7">close_button</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkListStore" id="toolbar_style_liststore">
-    <columns>
-      <!-- column-name name -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">System settings</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Text below icons</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Text beside icons</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Icons only</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Text only</col>
-      </row>
-    </data>
-  </object>
   <object class="GtkListStore" id="thumbnail_size_liststore">
     <columns>
       <!-- column-name name -->
@@ -661,43 +751,44 @@
       </row>
     </data>
   </object>
-  <object class="GtkListStore" id="click_policy_liststore">
+  <object class="GtkListStore" id="thumbnails_pane_orient_liststore">
     <columns>
+      <!-- column-name orientation -->
+      <column type="gint"/>
       <!-- column-name name -->
       <column type="gchararray"/>
     </columns>
     <data>
       <row>
-        <col id="0" translatable="yes">Follow Nautilus behaviour</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Activate items with a single click</col>
+        <col id="0">0</col>
+        <col id="1" translatable="yes">on the bottom</col>
       </row>
       <row>
-        <col id="0" translatable="yes">Activate items with a double click</col>
+        <col id="0">1</col>
+        <col id="1" translatable="yes">on the side</col>
       </row>
     </data>
   </object>
-  <object class="GtkListStore" id="zoom_change_liststore">
+  <object class="GtkListStore" id="toolbar_style_liststore">
     <columns>
       <!-- column-name name -->
       <column type="gchararray"/>
     </columns>
     <data>
       <row>
-        <col id="0" translatable="yes">Keep previous zoom</col>
+        <col id="0" translatable="yes">System settings</col>
       </row>
       <row>
-        <col id="0" translatable="yes">Fit to window</col>
+        <col id="0" translatable="yes">Text below icons</col>
       </row>
       <row>
-        <col id="0" translatable="yes">Fit to window if larger</col>
+        <col id="0" translatable="yes">Text beside icons</col>
       </row>
       <row>
-        <col id="0" translatable="yes">Set image to actual size</col>
+        <col id="0" translatable="yes">Icons only</col>
       </row>
       <row>
-        <col id="0" translatable="yes">Fit to width if larger</col>
+        <col id="0" translatable="yes">Text only</col>
       </row>
     </data>
   </object>
@@ -721,21 +812,26 @@
       </row>
     </data>
   </object>
-  <object class="GtkListStore" id="thumbnails_pane_orient_liststore">
+  <object class="GtkListStore" id="zoom_change_liststore">
     <columns>
-      <!-- column-name orientation -->
-      <column type="gint"/>
       <!-- column-name name -->
       <column type="gchararray"/>
     </columns>
     <data>
       <row>
-        <col id="0">0</col>
-        <col id="1" translatable="yes">on the bottom</col>
+        <col id="0" translatable="yes">Keep previous zoom</col>
       </row>
       <row>
-        <col id="0">1</col>
-        <col id="1" translatable="yes">on the side</col>
+        <col id="0" translatable="yes">Fit to window</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Fit to window if larger</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Set image to actual size</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Fit to width if larger</col>
       </row>
     </data>
   </object>
diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am
index f56e81c..314a8f9 100644
--- a/gthumb/Makefile.am
+++ b/gthumb/Makefile.am
@@ -123,7 +123,7 @@ PUBLIC_HEADER_FILES = 					\
 	$(NULL)
 	
 PRIVATE_HEADER_FILES = 					\
-	dlg-extensions.h				\
+	dlg-preferences-extensions.h			\
 	gth-browser-actions-callbacks.h			\
 	gth-browser-actions-entries.h			\
 	gth-browser-ui.h				\
@@ -143,9 +143,9 @@ gthumb_SOURCES = 					\
 	$(PUBLIC_HEADER_FILES)				\
 	$(PRIVATE_HEADER_FILES)				\
 	cairo-utils.c					\
-	dlg-extensions.c				\
 	dlg-personalize-filters.c			\
 	dlg-preferences.c				\
+	dlg-preferences-extensions.c			\
 	dlg-sort-order.c				\
 	dom.c						\
 	gconf-utils.c					\
diff --git a/gthumb/dlg-extensions.c b/gthumb/dlg-preferences-extensions.c
similarity index 91%
rename from gthumb/dlg-extensions.c
rename to gthumb/dlg-preferences-extensions.c
index 0a9facd..a3fc013 100644
--- a/gthumb/dlg-extensions.c
+++ b/gthumb/dlg-preferences-extensions.c
@@ -36,6 +36,7 @@
 #define EXTENSION_CATEGORY_ENABLED "+"
 #define EXTENSION_CATEGORY_DISABLED "-"
 #define EXTENSION_CATEGORY_SEPARATOR "---"
+#define BROWSER_DATA_KEY "extensions-preference-data"
 
 
 enum {
@@ -86,7 +87,19 @@ typedef struct {
 	GtkTreeModel *model_filter;
 	GSList       *active_extensions;
 	char         *current_category;
-} DialogData;
+} BrowserData;
+
+
+
+static void
+browser_data_free (BrowserData *data)
+{
+	g_slist_foreach (data->active_extensions, (GFunc) g_free, NULL);
+	g_slist_free (data->active_extensions);
+	g_object_unref (data->builder);
+	g_free (data->current_category);
+	g_free (data);
+}
 
 
 static gboolean
@@ -117,65 +130,6 @@ list_equal (GSList *list1,
 }
 
 
-/* called when the main dialog is closed. */
-static void
-destroy_cb (GtkWidget  *widget,
-	    DialogData *data)
-{
-	GSList              *active_extensions;
-	GthExtensionManager *manager;
-	GList               *names;
-	GList               *scan;
-
-	active_extensions = NULL;
-	manager = gth_main_get_default_extension_manager ();
-	names = gth_extension_manager_get_extensions (manager);
-	for (scan = names; scan; scan = scan->next) {
-		char                    *name = scan->data;
-		GthExtensionDescription *description;
-
-		description = gth_extension_manager_get_description (manager, name);
-		if ((description == NULL) || description->mandatory || description->hidden)
-			continue;
-
-		if (gth_extension_description_is_active (description))
-			active_extensions = g_slist_prepend (active_extensions, g_strdup (name));
-	}
-	active_extensions = g_slist_reverse (active_extensions);
-	eel_gconf_set_string_list (PREF_ACTIVE_EXTENSIONS, active_extensions);
-
-	if (! list_equal (active_extensions, data->active_extensions)) {
-		GtkWidget *dialog;
-		int        response;
-
-		dialog = _gtk_message_dialog_new (GTK_WINDOW (data->browser),
-						  GTK_DIALOG_MODAL,
-						  GTK_STOCK_DIALOG_WARNING,
-						  _("Restart required"),
-						  _("You need to restart gthumb for these changes to take effect"),
-						  _("_Continue"), GTK_RESPONSE_CANCEL,
-						  _("_Restart"), GTK_RESPONSE_OK,
-						  NULL);
-		response = gtk_dialog_run (GTK_DIALOG (dialog));
-		gtk_widget_destroy (dialog);
-
-		if (response == GTK_RESPONSE_OK)
-			gth_restart ();
-	}
-
-	gth_browser_set_dialog (data->browser, "extensions", NULL);
-
-	g_slist_foreach (active_extensions, (GFunc) g_free, NULL);
-	g_slist_free (active_extensions);
-
-	g_slist_foreach (data->active_extensions, (GFunc) g_free, NULL);
-	g_slist_free (data->active_extensions);
-	g_object_unref (data->builder);
-	g_free (data->current_category);
-	g_free (data);
-}
-
-
 static void
 extension_description_data_func_cb (GtkTreeViewColumn *tree_column,
 				    GtkCellRenderer   *cell,
@@ -238,7 +192,7 @@ cell_renderer_toggle_toggled_cb (GtkCellRendererToggle *cell_renderer,
 				 char                  *path,
                                  gpointer               user_data)
 {
-	DialogData  *data = user_data;
+	BrowserData *data = user_data;
 	GtkTreePath *tree_path;
 	GtkTreeIter  iter;
 
@@ -275,7 +229,7 @@ cell_renderer_toggle_toggled_cb (GtkCellRendererToggle *cell_renderer,
 
 static void
 add_columns (GtkTreeView *treeview,
-	     DialogData  *data)
+	     BrowserData  *data)
 {
 	GtkCellRenderer   *renderer;
 	GtkTreeViewColumn *column;
@@ -283,7 +237,7 @@ add_columns (GtkTreeView *treeview,
 	/* the checkbox column */
 
 	column = gtk_tree_view_column_new ();
-	gtk_tree_view_column_set_title (column, _("Use"));
+	/*gtk_tree_view_column_set_title (column, _("Use"));*/
 
 	renderer = gtk_cell_renderer_toggle_new ();
 	g_signal_connect (renderer,
@@ -299,7 +253,7 @@ add_columns (GtkTreeView *treeview,
 	/* the name column. */
 
 	column = gtk_tree_view_column_new ();
-	gtk_tree_view_column_set_title (column, _("Extension"));
+	/*gtk_tree_view_column_set_title (column, _("Extension"));*/
 
 	renderer = gtk_cell_renderer_pixbuf_new ();
 	gtk_tree_view_column_pack_start (column, renderer, FALSE);
@@ -342,7 +296,7 @@ static void
 list_view_selection_changed_cb (GtkTreeSelection *treeselection,
                                 gpointer          user_data)
 {
-	DialogData              *data = user_data;
+	BrowserData             *data = user_data;
 	GtkTreeModel            *model;
 	GtkTreeIter              iter;
 	GthExtensionDescription *description;
@@ -362,7 +316,7 @@ list_view_selection_changed_cb (GtkTreeSelection *treeselection,
 
 
 static void
-reset_original_extension_status (DialogData *data)
+reset_original_extension_status (BrowserData *data)
 {
 	GtkTreeModel *model;
 	GtkTreeIter   iter;
@@ -389,8 +343,8 @@ static void
 category_combobox_changed_cb (GtkComboBox *combo_box,
 			      gpointer     user_data)
 {
-	DialogData  *data = user_data;
-	GtkTreeIter  iter;
+	BrowserData *data = user_data;
+	GtkTreeIter iter;
 
 	if (! gtk_combo_box_get_active_iter (combo_box, &iter))
 		return;
@@ -410,7 +364,7 @@ static void
 about_button_clicked_cb (GtkButton *button,
 			 gpointer   user_data)
 {
-	DialogData              *data = user_data;
+	BrowserData             *data = user_data;
 	GtkTreeModel            *model;
 	GtkTreeIter              iter;
 	GthExtensionDescription *description;
@@ -452,7 +406,7 @@ static void
 preferences_button_clicked_cb (GtkButton *button,
 			       gpointer   user_data)
 {
-	DialogData              *data = user_data;
+	BrowserData             *data = user_data;
 	GtkTreeModel            *model;
 	GtkTreeIter              iter;
 	GthExtensionDescription *description;
@@ -487,7 +441,7 @@ category_model_visible_func (GtkTreeModel *model,
 			     GtkTreeIter  *iter,
 			     gpointer      user_data)
 {
-	DialogData              *data = user_data;
+	BrowserData             *data = user_data;
 	GthExtensionDescription *description;
 	gboolean                 original_status_is_active;
 	gboolean                 visible;
@@ -512,10 +466,15 @@ category_model_visible_func (GtkTreeModel *model,
 }
 
 
+
 void
-dlg_extensions (GthBrowser *browser)
+extensions__dlg_preferences_construct_cb (GtkWidget  *dialog,
+					  GthBrowser *browser,
+					  GtkBuilder *dialog_builder)
 {
-	DialogData          *data;
+	BrowserData         *data;
+	GtkWidget           *notebook;
+	GtkWidget           *page;
 	GthExtensionManager *manager;
 	GList               *extensions;
 	GList               *scan;
@@ -523,18 +482,15 @@ dlg_extensions (GthBrowser *browser)
 	GSList              *s_scan;
 	GtkTreePath         *first;
 	int                  i;
+	GtkWidget           *label;
 
-	if (gth_browser_get_dialog (browser, "extensions") != NULL) {
-		gtk_window_present (GTK_WINDOW (gth_browser_get_dialog (browser, "extensions")));
-		return;
-	}
-
-	manager = gth_main_get_default_extension_manager ();
+	data = g_new0 (BrowserData, 1);
+	data->builder = _gtk_builder_new_from_file ("extensions-preferences.ui", NULL);
+	data->dialog = dialog;
 
-	data = g_new0 (DialogData, 1);
-	data->browser = browser;
-	data->builder = _gtk_builder_new_from_file ("extensions.ui", NULL);
+	/* save the active extensions to decide if a restart is needed */
 
+	manager = gth_main_get_default_extension_manager ();
 	data->active_extensions = NULL;
 	all_active_extensions = eel_gconf_get_string_list (PREF_ACTIVE_EXTENSIONS);
 	for (s_scan = all_active_extensions; s_scan; s_scan = s_scan->next) {
@@ -551,11 +507,9 @@ dlg_extensions (GthBrowser *browser)
 	g_slist_foreach (all_active_extensions, (GFunc) g_free, NULL);
 	g_slist_free (all_active_extensions);
 
-	/* Get the widgets. */
-
-	data->dialog = _gtk_builder_get_widget (data->builder, "extensions_dialog");
-	gth_browser_set_dialog (browser, "extensions", data->dialog);
-	g_object_set_data (G_OBJECT (data->dialog), "dialog_data", data);
+	notebook = _gtk_builder_get_widget (dialog_builder, "notebook");
+	page = _gtk_builder_get_widget (data->builder, "preferences_page");
+	gtk_widget_show (page);
 
 	/* Set widgets data. */
 
@@ -564,7 +518,7 @@ dlg_extensions (GthBrowser *browser)
 	data->list_view = gtk_tree_view_new_with_model (data->model_filter);
 	g_object_unref (data->model_filter);
 	g_object_unref (data->list_store);
-        gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (data->list_view), TRUE);
+        gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (data->list_view), FALSE);
         gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (data->list_view), TRUE);
 
         add_columns (GTK_TREE_VIEW (data->list_view), data);
@@ -574,7 +528,6 @@ dlg_extensions (GthBrowser *browser)
 	gtk_widget_show (data->list_view);
 	gtk_container_add (GTK_CONTAINER (GET_WIDGET ("extensions_scrolledwindow")), data->list_view);
 
-	manager = gth_main_get_default_extension_manager ();
 	extensions = gth_extension_manager_get_extensions (manager);
 	for (scan = extensions; scan; scan = scan->next) {
 		const char              *name = scan->data;
@@ -627,14 +580,6 @@ dlg_extensions (GthBrowser *browser)
 
 	/* Set the signals handlers. */
 
-	g_signal_connect (G_OBJECT (data->dialog),
-			  "destroy",
-			  G_CALLBACK (destroy_cb),
-			  data);
-	g_signal_connect_swapped (GET_WIDGET ("close_button"),
-				  "clicked",
-				  G_CALLBACK (gtk_widget_destroy),
-				  G_OBJECT (data->dialog));
 	g_signal_connect (GET_WIDGET ("about_button"),
 			  "clicked",
 			  G_CALLBACK (about_button_clicked_cb),
@@ -656,10 +601,67 @@ dlg_extensions (GthBrowser *browser)
 	gtk_tree_selection_select_path (gtk_tree_view_get_selection (GTK_TREE_VIEW (data->list_view)), first);
 	gtk_tree_path_free (first);
 
-	/* run dialog. */
+	/* add the page to the preferences dialog */
+
+	label = gtk_label_new (_("Extensions"));
+	gtk_widget_show (label);
+
+	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
+
+	g_object_set_data_full (G_OBJECT (dialog), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free);
+}
+
+
+void
+extensions__dlg_preferences_apply (GtkWidget  *dialog,
+		  	  	   GthBrowser *browser,
+		  	  	   GtkBuilder *dialog_builder)
+{
+	BrowserData         *data;
+	GSList              *active_extensions;
+	GthExtensionManager *manager;
+	GList               *names;
+	GList               *scan;
+
+	data = g_object_get_data (G_OBJECT (dialog), BROWSER_DATA_KEY);
+	g_return_if_fail (data != NULL);
+
+	active_extensions = NULL;
+	manager = gth_main_get_default_extension_manager ();
+	names = gth_extension_manager_get_extensions (manager);
+	for (scan = names; scan; scan = scan->next) {
+		char                    *name = scan->data;
+		GthExtensionDescription *description;
+
+		description = gth_extension_manager_get_description (manager, name);
+		if ((description == NULL) || description->mandatory || description->hidden)
+			continue;
+
+		if (gth_extension_description_is_active (description))
+			active_extensions = g_slist_prepend (active_extensions, g_strdup (name));
+	}
+	active_extensions = g_slist_reverse (active_extensions);
+	eel_gconf_set_string_list (PREF_ACTIVE_EXTENSIONS, active_extensions);
+
+	if (! list_equal (active_extensions, data->active_extensions)) {
+		GtkWidget *dialog;
+		int        response;
 
-	gtk_window_set_transient_for (GTK_WINDOW (data->dialog),
-				      GTK_WINDOW (browser));
-	gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE);
-	gtk_widget_show (data->dialog);
+		dialog = _gtk_message_dialog_new (GTK_WINDOW (data->dialog),
+						  GTK_DIALOG_MODAL,
+						  GTK_STOCK_DIALOG_WARNING,
+						  _("Restart required"),
+						  _("You need to restart gthumb for these changes to take effect"),
+						  _("_Continue"), GTK_RESPONSE_CANCEL,
+						  _("_Restart"), GTK_RESPONSE_OK,
+						  NULL);
+		response = gtk_dialog_run (GTK_DIALOG (dialog));
+		gtk_widget_destroy (dialog);
+
+		if (response == GTK_RESPONSE_OK)
+			gth_restart ();
+	}
+
+	g_slist_foreach (active_extensions, (GFunc) g_free, NULL);
+	g_slist_free (active_extensions);
 }
diff --git a/gthumb/dlg-extensions.h b/gthumb/dlg-preferences-extensions.h
similarity index 75%
rename from gthumb/dlg-extensions.h
rename to gthumb/dlg-preferences-extensions.h
index 3d281ca..c6cfc40 100644
--- a/gthumb/dlg-extensions.h
+++ b/gthumb/dlg-preferences-extensions.h
@@ -24,6 +24,11 @@
 
 #include "gth-browser.h"
 
-void dlg_extensions (GthBrowser *browser);
+void extensions__dlg_preferences_construct_cb (GtkWidget  *dialog,
+					       GthBrowser *browser,
+					       GtkBuilder *dialog_builder);
+void extensions__dlg_preferences_apply        (GtkWidget  *dialog,
+		  	  	   	       GthBrowser *browser,
+		  	  	   	       GtkBuilder *dialog_builder);
 
 #endif /* DLG_EXTENSIONS_H */
diff --git a/gthumb/gth-browser-actions-callbacks.c b/gthumb/gth-browser-actions-callbacks.c
index 474f7e7..c126add 100644
--- a/gthumb/gth-browser-actions-callbacks.c
+++ b/gthumb/gth-browser-actions-callbacks.c
@@ -21,7 +21,6 @@
 
 #include <config.h>
 #include <glib/gi18n.h>
-#include "dlg-extensions.h"
 #include "dlg-personalize-filters.h"
 #include "dlg-preferences.h"
 #include "dlg-sort-order.h"
@@ -119,14 +118,6 @@ gth_browser_activate_action_edit_preferences (GtkAction  *action,
 
 
 void
-gth_browser_activate_action_edit_extensions (GtkAction  *action,
-					     GthBrowser *browser)
-{
-	dlg_extensions (browser);
-}
-
-
-void
 gth_browser_activate_action_go_back (GtkAction  *action,
 				     GthBrowser *browser)
 {
diff --git a/gthumb/gth-browser-actions-callbacks.h b/gthumb/gth-browser-actions-callbacks.h
index 3de828f..f362937 100644
--- a/gthumb/gth-browser-actions-callbacks.h
+++ b/gthumb/gth-browser-actions-callbacks.h
@@ -31,7 +31,6 @@ DEFINE_ACTION(gth_browser_activate_action_bookmarks_edit)
 DEFINE_ACTION(gth_browser_activate_action_browser_mode)
 DEFINE_ACTION(gth_browser_activate_action_edit_metadata)
 DEFINE_ACTION(gth_browser_activate_action_edit_preferences)
-DEFINE_ACTION(gth_browser_activate_action_edit_extensions)
 DEFINE_ACTION(gth_browser_activate_action_edit_select_all)
 DEFINE_ACTION(gth_browser_activate_action_file_open)
 DEFINE_ACTION(gth_browser_activate_action_file_new_window)
diff --git a/gthumb/gth-browser-actions-entries.h b/gthumb/gth-browser-actions-entries.h
index 17b866d..a2a0141 100644
--- a/gthumb/gth-browser-actions-entries.h
+++ b/gthumb/gth-browser-actions-entries.h
@@ -76,11 +76,6 @@ static GtkActionEntry gth_browser_action_entries[] = {
 	  N_("Edit various preferences"),
 	  G_CALLBACK (gth_browser_activate_action_edit_preferences) },
 
-	{ "Edit_Extensions", NULL,
-	  N_("Extensions"), NULL,
-	  N_("Activate, deactivate and configure the gthumb extensions"),
-	  G_CALLBACK (gth_browser_activate_action_edit_extensions) },
-
 	{ "Edit_SelectAll", GTK_STOCK_SELECT_ALL,
 	  NULL, NULL,
 	  NULL,
diff --git a/gthumb/gth-browser-ui.h b/gthumb/gth-browser-ui.h
index 5d3b6aa..82e377f 100644
--- a/gthumb/gth-browser-ui.h
+++ b/gthumb/gth-browser-ui.h
@@ -64,7 +64,6 @@ static const char *fixed_ui_info =
 "      <separator/>"
 "      <placeholder name='Edit_Actions'/>"
 "      <separator/>"
-"      <menuitem action='Edit_Extensions'/>"
 "      <menuitem action='Edit_Preferences'/>"
 "    </menu>"
 "    <menu name='View' action='ViewMenu'>"
diff --git a/gthumb/gth-main-default-types.c b/gthumb/gth-main-default-types.c
index 037b301..e1844d9 100644
--- a/gthumb/gth-main-default-types.c
+++ b/gthumb/gth-main-default-types.c
@@ -22,6 +22,7 @@
 
 #include <config.h>
 #include <glib/gi18n.h>
+#include "dlg-preferences-extensions.h"
 #include "gth-file-properties.h"
 #include "gth-main.h"
 #include "pixbuf-io.h"
@@ -59,4 +60,6 @@ gth_main_register_default_types (void)
 {
 	gth_main_register_type ("file-properties", GTH_TYPE_FILE_PROPERTIES);
 	gth_main_register_default_file_loader ();
+	gth_hook_add_callback ("dlg-preferences-construct", 9999, G_CALLBACK (extensions__dlg_preferences_construct_cb), NULL);
+	gth_hook_add_callback ("dlg-preferences-apply", 9999 /* Must be the last callback */, G_CALLBACK (extensions__dlg_preferences_apply), NULL);
 }



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