[gthumb] moved the extensions activation in the preferences dialog
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] moved the extensions activation in the preferences dialog
- Date: Sun, 22 May 2011 12:41:01 +0000 (UTC)
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]