[gthumb] added option to choose the thumbnail pane orientation.



commit cfbe66d7b835f2d215e7ae97b9ba448e96affd59
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Thu Jun 24 23:11:50 2010 +0200

    added option to choose the thumbnail pane orientation.

 data/gthumb.schemas.in   |   13 +++++++
 data/ui/preferences.ui   |   63 +++++++++++++++++++++++++++++---
 gthumb/dlg-preferences.c |   13 +++++++
 gthumb/gth-browser.c     |   89 +++++++++++++++++++++++++++++++++++++++++++---
 gthumb/gth-file-list.c   |   65 ++++++++++++++++++++++++++-------
 gthumb/gth-file-list.h   |    5 ++-
 gthumb/gth-preferences.h |    1 +
 7 files changed, 223 insertions(+), 26 deletions(-)
---
diff --git a/data/gthumb.schemas.in b/data/gthumb.schemas.in
index 46a73be..70c0bb8 100644
--- a/data/gthumb.schemas.in
+++ b/data/gthumb.schemas.in
@@ -465,6 +465,19 @@
 	</locale>
       </schema>
 
+      <schema>
+	<key>/schemas/apps/gthumb/ui/viewer_thumbnails_orientation</key>
+	<applyto>/apps/gthumb/ui/viewer_thumbnails_orientation</applyto>
+	<owner>gthumb</owner>
+	<type>string</type>
+	<default>horizontal</default>
+	<locale name="C">
+	  <short></short>
+	  <long>
+	  </long>
+	</locale>
+      </schema>
+
       <!-- Messages -->
 
       <schema>
diff --git a/data/ui/preferences.ui b/data/ui/preferences.ui
index ed42356..595b297 100644
--- a/data/ui/preferences.ui
+++ b/data/ui/preferences.ui
@@ -56,9 +56,12 @@
                         <property name="visible">True</property>
                         <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkHBox" id="hbox7">
+                          <object class="GtkTable" id="table1">
                             <property name="visible">True</property>
-                            <property name="spacing">12</property>
+                            <property name="n_rows">2</property>
+                            <property name="n_columns">2</property>
+                            <property name="column_spacing">6</property>
+                            <property name="row_spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="label6">
                                 <property name="visible">True</property>
@@ -67,9 +70,7 @@
                                 <property name="use_underline">True</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
+                                <property name="x_options">GTK_FILL</property>
                               </packing>
                             </child>
                             <child>
@@ -80,7 +81,39 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="position">1</property>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label1">
+                                <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">T_humbnails in viewer:</property>
+                                <property name="use_underline">True</property>
+                              </object>
+                              <packing>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
+                                <property name="x_options">GTK_FILL</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkComboBox" id="thumbnails_pane_orient_combobox">
+                                <property name="visible">True</property>
+                                <property name="model">thumbnails_pane_orient_liststore</property>
+                                <child>
+                                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                                  <attributes>
+                                    <attribute name="text">1</attribute>
+                                  </attributes>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="right_attach">2</property>
+                                <property name="top_attach">1</property>
+                                <property name="bottom_attach">2</property>
                               </packing>
                             </child>
                           </object>
@@ -699,4 +732,22 @@
       </row>
     </data>
   </object>
+  <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">0</col>
+        <col id="1" translatable="yes">on the bottom</col>
+      </row>
+      <row>
+        <col id="0">1</col>
+        <col id="1" translatable="yes">on the side</col>
+      </row>
+    </data>
+  </object>
 </interface>
diff --git a/gthumb/dlg-preferences.c b/gthumb/dlg-preferences.c
index ed6638e..9887b23 100644
--- a/gthumb/dlg-preferences.c
+++ b/gthumb/dlg-preferences.c
@@ -152,6 +152,14 @@ toolbar_style_changed_cb (GtkWidget  *widget,
 
 
 static void
+thumbnails_pane_orientation_changed_cb (GtkWidget  *widget,
+					DialogData *data)
+{
+	eel_gconf_set_enum (PREF_UI_VIEWER_THUMBNAILS_ORIENT, GTK_TYPE_ORIENTATION, gtk_combo_box_get_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnails_pane_orient_combobox"))));
+}
+
+
+static void
 confirm_deletion_toggled_cb (GtkToggleButton *button,
 			     DialogData      *data)
 {
@@ -278,6 +286,7 @@ dlg_preferences (GthBrowser *browser)
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("confirm_deletion_checkbutton")), eel_gconf_get_boolean (PREF_MSG_CONFIRM_DELETION, DEFAULT_MSG_CONFIRM_DELETION));
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("ask_to_save_checkbutton")), eel_gconf_get_boolean (PREF_MSG_SAVE_MODIFIED_IMAGE, DEFAULT_MSG_SAVE_MODIFIED_IMAGE));
 	gtk_combo_box_set_active (GTK_COMBO_BOX (data->toolbar_style_combobox), eel_gconf_get_enum (PREF_UI_TOOLBAR_STYLE, GTH_TYPE_TOOLBAR_STYLE, GTH_TOOLBAR_STYLE_SYSTEM));
+	gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("thumbnails_pane_orient_combobox")), eel_gconf_get_enum (PREF_UI_VIEWER_THUMBNAILS_ORIENT, GTK_TYPE_ORIENTATION, GTK_ORIENTATION_HORIZONTAL));
 
 	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("embed_metadata_checkbutton")), eel_gconf_get_boolean (PREF_STORE_METADATA_IN_FILES, TRUE));
 
@@ -309,6 +318,10 @@ dlg_preferences (GthBrowser *browser)
 			  "changed",
 			  G_CALLBACK (toolbar_style_changed_cb),
 			  data);
+	g_signal_connect (GET_WIDGET ("thumbnails_pane_orient_combobox"),
+			  "changed",
+			  G_CALLBACK (thumbnails_pane_orientation_changed_cb),
+			  data);
 	g_signal_connect (G_OBJECT (GET_WIDGET ("use_startup_location_radiobutton")),
 			  "toggled",
 			  G_CALLBACK (use_startup_toggled_cb),
diff --git a/gthumb/gth-browser.c b/gthumb/gth-browser.c
index 56cc5dd..fb5a851 100644
--- a/gthumb/gth-browser.c
+++ b/gthumb/gth-browser.c
@@ -63,7 +63,7 @@
 #define GO_FORWARD_HISTORY_POPUP "/GoForwardHistoryPopup"
 #define GO_PARENT_POPUP "/GoParentPopup"
 #define MAX_HISTORY_LENGTH 15
-#define GCONF_NOTIFICATIONS 12
+#define GCONF_NOTIFICATIONS 13
 #define DEF_SIDEBAR_WIDTH 255
 #define DEF_VIEWER_SIDEBAR_WIDTH 285
 #define DEF_PROPERTIES_HEIGHT 128
@@ -3311,6 +3311,70 @@ pref_ui_toolbar_style_changed (GConfClient *client,
 
 
 static void
+pref_ui_viewer_thumbnails_orient_changed (GConfClient *client,
+					  guint        cnxn_id,
+					  GConfEntry  *entry,
+					  gpointer     user_data)
+{
+	GthBrowser     *browser = user_data;
+	GtkOrientation  viewer_thumbnails_orientation;
+	GtkWidget      *viewer_thumbnails_pane;
+	GtkWidget      *child1;
+	GtkWidget      *child2;
+
+	viewer_thumbnails_orientation = eel_gconf_get_enum (PREF_UI_VIEWER_THUMBNAILS_ORIENT, GTK_TYPE_ORIENTATION, GTK_ORIENTATION_HORIZONTAL);
+	if (viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL)
+		viewer_thumbnails_pane = gtk_vpaned_new ();
+	else
+		viewer_thumbnails_pane = gtk_hpaned_new ();
+
+	child1 = gtk_paned_get_child1 (GTK_PANED (browser->priv->viewer_thumbnails_pane));
+	child2 = gtk_paned_get_child2 (GTK_PANED (browser->priv->viewer_thumbnails_pane));
+
+	g_object_ref (child1);
+	gtk_widget_unrealize (child1);
+	gtk_container_remove (GTK_CONTAINER (browser->priv->viewer_thumbnails_pane), child1);
+
+	g_object_ref (child2);
+	gtk_widget_unrealize (child2);
+	gtk_container_remove (GTK_CONTAINER (browser->priv->viewer_thumbnails_pane), child2);
+
+	if (viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL) {
+		browser->priv->viewer_sidebar_pane = child2;
+		browser->priv->thumbnail_list = child1;
+		gtk_paned_pack1 (GTK_PANED (viewer_thumbnails_pane), browser->priv->viewer_sidebar_pane, TRUE, FALSE);
+		gtk_paned_pack2 (GTK_PANED (viewer_thumbnails_pane), browser->priv->thumbnail_list, FALSE, FALSE);
+	}
+	else {
+		browser->priv->viewer_sidebar_pane = child1;
+		browser->priv->thumbnail_list = child2;
+		gtk_paned_pack1 (GTK_PANED (viewer_thumbnails_pane), browser->priv->thumbnail_list, FALSE, FALSE);
+		gtk_paned_pack2 (GTK_PANED (viewer_thumbnails_pane), browser->priv->viewer_sidebar_pane, TRUE, FALSE);
+	}
+
+	g_object_notify (G_OBJECT (child1), "parent");
+	g_object_unref (child1);
+
+	g_object_notify (G_OBJECT (child2), "parent");
+	g_object_unref (child2);
+
+	gtk_widget_destroy (browser->priv->viewer_thumbnails_pane);
+	browser->priv->viewer_thumbnails_pane = viewer_thumbnails_pane;
+
+	if (viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL)
+		gth_file_list_set_type (GTH_FILE_LIST (browser->priv->thumbnail_list), GTH_FILE_LIST_TYPE_H_SIDEBAR);
+	else
+		gth_file_list_set_type (GTH_FILE_LIST (browser->priv->thumbnail_list), GTH_FILE_LIST_TYPE_V_SIDEBAR);
+
+	gth_window_attach_content (GTH_WINDOW (browser), GTH_BROWSER_PAGE_VIEWER, browser->priv->viewer_thumbnails_pane);
+
+	gtk_widget_show (browser->priv->thumbnail_list);
+	gtk_widget_show (browser->priv->viewer_sidebar_pane);
+	gtk_widget_show (browser->priv->viewer_thumbnails_pane);
+}
+
+
+static void
 _gth_browser_set_toolbar_visibility (GthBrowser *browser,
 				    gboolean    visible)
 {
@@ -3592,6 +3656,7 @@ _gth_browser_construct (GthBrowser *browser)
 	GtkWidget      *vbox;
 	GtkWidget      *scrolled_window;
 	GtkWidget      *menubar;
+	GtkOrientation  viewer_thumbnails_orientation;
 	char           *general_filter;
 	char           *caption;
 	int             i;
@@ -3682,14 +3747,21 @@ _gth_browser_construct (GthBrowser *browser)
 
 	/* content */
 
-	browser->priv->viewer_thumbnails_pane = gtk_vpaned_new ();
+	viewer_thumbnails_orientation = eel_gconf_get_enum (PREF_UI_VIEWER_THUMBNAILS_ORIENT, GTK_TYPE_ORIENTATION, GTK_ORIENTATION_HORIZONTAL);
+	if (viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL)
+		browser->priv->viewer_thumbnails_pane = gtk_vpaned_new ();
+	else
+		browser->priv->viewer_thumbnails_pane = gtk_hpaned_new ();
 	gtk_widget_show (browser->priv->viewer_thumbnails_pane);
 	gth_window_attach_content (GTH_WINDOW (browser), GTH_BROWSER_PAGE_VIEWER, browser->priv->viewer_thumbnails_pane);
 
 	browser->priv->viewer_sidebar_pane = gtk_hpaned_new ();
 	gtk_widget_set_size_request (browser->priv->viewer_sidebar_pane, -1, MIN_VIEWER_SIZE);
 	gtk_widget_show (browser->priv->viewer_sidebar_pane);
-	gtk_paned_pack1 (GTK_PANED (browser->priv->viewer_thumbnails_pane), browser->priv->viewer_sidebar_pane, TRUE, FALSE);
+	if (viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL)
+		gtk_paned_pack1 (GTK_PANED (browser->priv->viewer_thumbnails_pane), browser->priv->viewer_sidebar_pane, TRUE, FALSE);
+	else
+		gtk_paned_pack2 (GTK_PANED (browser->priv->viewer_thumbnails_pane), browser->priv->viewer_sidebar_pane, TRUE, FALSE);
 
 	browser->priv->viewer_container = gtk_alignment_new (0.0, 0.0, 1.0, 1.0);
 	gtk_widget_set_size_request (browser->priv->viewer_container, MIN_VIEWER_SIZE, -1);
@@ -3700,11 +3772,14 @@ _gth_browser_construct (GthBrowser *browser)
 	gtk_widget_set_size_request (browser->priv->viewer_sidebar, MAX (eel_gconf_get_integer (PREF_UI_VIEWER_SIDEBAR_WIDTH, DEF_VIEWER_SIDEBAR_WIDTH), DEF_VIEWER_SIDEBAR_WIDTH), -1);
 	gtk_paned_pack2 (GTK_PANED (browser->priv->viewer_sidebar_pane), browser->priv->viewer_sidebar, FALSE, FALSE);
 
-	browser->priv->thumbnail_list = gth_file_list_new (GTH_FILE_LIST_TYPE_THUMBNAIL, TRUE);
+	browser->priv->thumbnail_list = gth_file_list_new ((viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL) ? GTH_FILE_LIST_TYPE_H_SIDEBAR : GTH_FILE_LIST_TYPE_V_SIDEBAR, TRUE);
 	gth_file_list_set_caption (GTH_FILE_LIST (browser->priv->thumbnail_list), "none");
 	gth_file_view_set_spacing (GTH_FILE_VIEW (gth_file_list_get_view (GTH_FILE_LIST (browser->priv->thumbnail_list))), 0);
 	gth_file_list_set_thumb_size (GTH_FILE_LIST (browser->priv->thumbnail_list), 95);
-	gtk_paned_pack2 (GTK_PANED (browser->priv->viewer_thumbnails_pane), browser->priv->thumbnail_list, FALSE, FALSE);
+	if (viewer_thumbnails_orientation == GTK_ORIENTATION_HORIZONTAL)
+		gtk_paned_pack2 (GTK_PANED (browser->priv->viewer_thumbnails_pane), browser->priv->thumbnail_list, FALSE, FALSE);
+	else
+		gtk_paned_pack1 (GTK_PANED (browser->priv->viewer_thumbnails_pane), browser->priv->thumbnail_list, FALSE, FALSE);
 	_gth_browser_set_thumbnail_list_visibility (browser, eel_gconf_get_boolean (PREF_UI_THUMBNAIL_LIST_VISIBLE, TRUE));
 
 	g_signal_connect (G_OBJECT (gth_file_list_get_view (GTH_FILE_LIST (browser->priv->thumbnail_list))),
@@ -4013,6 +4088,10 @@ _gth_browser_construct (GthBrowser *browser)
 					   pref_ui_toolbar_style_changed,
 					   browser);
 	browser->priv->cnxn_id[i++] = eel_gconf_notification_add (
+					   PREF_UI_VIEWER_THUMBNAILS_ORIENT,
+					   pref_ui_viewer_thumbnails_orient_changed,
+					   browser);
+	browser->priv->cnxn_id[i++] = eel_gconf_notification_add (
 					   "/desktop/gnome/interface/toolbar_style",
 					   pref_ui_toolbar_style_changed,
 					   browser);
diff --git a/gthumb/gth-file-list.c b/gthumb/gth-file-list.c
index f272620..e4dc9e7 100644
--- a/gthumb/gth-file-list.c
+++ b/gthumb/gth-file-list.c
@@ -531,6 +531,42 @@ checkbox_toggled_cb (GtkCellRendererToggle *cell_renderer,
 
 
 static void
+_gth_file_list_set_type (GthFileList     *file_list,
+		 	 GthFileListType  list_type)
+{
+	file_list->priv->type = list_type;
+
+	if ((file_list->priv->type == GTH_FILE_LIST_TYPE_SELECTOR) || (file_list->priv->type == GTH_FILE_LIST_TYPE_NO_SELECTION))
+		gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_NONE);
+	else if ((file_list->priv->type == GTH_FILE_LIST_TYPE_H_SIDEBAR) || (file_list->priv->type == GTH_FILE_LIST_TYPE_V_SIDEBAR))
+		gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_SINGLE);
+	else
+		gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_MULTIPLE);
+
+	g_object_set (file_list->priv->checkbox_renderer,
+		      "visible", ((file_list->priv->type == GTH_FILE_LIST_TYPE_BROWSER) || (file_list->priv->type == GTH_FILE_LIST_TYPE_SELECTOR)),
+		      NULL);
+
+	g_object_set (file_list->priv->thumbnail_renderer,
+		      "fixed_size", (file_list->priv->type == GTH_FILE_LIST_TYPE_H_SIDEBAR) || (file_list->priv->type == GTH_FILE_LIST_TYPE_V_SIDEBAR),
+		      NULL);
+
+	if (file_list->priv->type == GTH_FILE_LIST_TYPE_V_SIDEBAR)
+		gtk_widget_set_size_request (GTK_WIDGET (file_list->priv->view),
+					     file_list->priv->thumb_size + (THUMBNAIL_BORDER * 2),
+					     -1);
+	else if (file_list->priv->type == GTH_FILE_LIST_TYPE_H_SIDEBAR)
+		gtk_widget_set_size_request (GTK_WIDGET (file_list->priv->view),
+					     -1,
+					     file_list->priv->thumb_size + (THUMBNAIL_BORDER * 2));
+	else
+		gtk_widget_set_size_request (GTK_WIDGET (file_list->priv->view),
+					     -1,
+					     -1);
+}
+
+
+static void
 gth_file_list_construct (GthFileList     *file_list,
 			 GthFileListType  list_type,
 			 gboolean         enable_drag_drop)
@@ -540,8 +576,6 @@ gth_file_list_construct (GthFileList     *file_list,
 	GtkCellRenderer *renderer;
 	GthFileStore    *model;
 
-	file_list->priv->type = list_type;
-
 	/* thumbnail loader */
 
 	file_list->priv->thumb_loader = gth_thumb_loader_new (file_list->priv->thumb_size);
@@ -589,13 +623,6 @@ gth_file_list_construct (GthFileList     *file_list,
 	file_list->priv->view = gth_icon_view_new_with_model (GTK_TREE_MODEL (model));
 	g_object_unref (model);
 
-	if ((file_list->priv->type == GTH_FILE_LIST_TYPE_SELECTOR) || (file_list->priv->type == GTH_FILE_LIST_TYPE_NO_SELECTION))
-		gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_NONE);
-	else if (file_list->priv->type == GTH_FILE_LIST_TYPE_THUMBNAIL)
-		gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_SINGLE);
-	else
-		gth_file_selection_set_selection_mode (GTH_FILE_SELECTION (file_list->priv->view), GTK_SELECTION_MULTIPLE);
-
 	if (enable_drag_drop) {
 		GtkTargetList  *target_list;
 		GtkTargetEntry *targets;
@@ -628,9 +655,6 @@ gth_file_list_construct (GthFileList     *file_list,
 					renderer,
 					"active", GTH_FILE_STORE_CHECKED_COLUMN,
 					NULL);
-	g_object_set (file_list->priv->checkbox_renderer,
-		      "visible", ((file_list->priv->type == GTH_FILE_LIST_TYPE_BROWSER) || (file_list->priv->type == GTH_FILE_LIST_TYPE_SELECTOR)),
-		      NULL);
 	g_signal_connect (file_list->priv->checkbox_renderer,
 			  "toggled",
 			  G_CALLBACK (checkbox_toggled_cb),
@@ -642,7 +666,6 @@ gth_file_list_construct (GthFileList     *file_list,
 	g_object_set (renderer,
 		      "size", file_list->priv->thumb_size,
 		      "yalign", 1.0,
-		      "fixed_size", (file_list->priv->type == GTH_FILE_LIST_TYPE_THUMBNAIL),
 		      NULL);
 	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (file_list->priv->view), renderer, FALSE);
 
@@ -681,6 +704,8 @@ gth_file_list_construct (GthFileList     *file_list,
 					"text", GTH_FILE_STORE_METADATA_COLUMN,
 					NULL);
 
+	_gth_file_list_set_type (file_list, list_type);
+
 	/* pack the widgets together */
 
 	gtk_widget_show (file_list->priv->view);
@@ -743,6 +768,14 @@ gth_file_list_new (GthFileListType list_type,
 }
 
 
+void
+gth_file_list_set_type (GthFileList     *file_list,
+			GthFileListType  list_type)
+{
+	_gth_file_list_set_type (file_list, list_type);
+}
+
+
 static void
 _gth_file_list_thumb_cleanup (GthFileList *file_list)
 {
@@ -1239,7 +1272,11 @@ gth_file_list_set_thumb_size (GthFileList *file_list,
 		      "wrap-width", file_list->priv->thumb_size + THUMBNAIL_BORDER,
 		      NULL);
 
-	if (file_list->priv->type == GTH_FILE_LIST_TYPE_THUMBNAIL)
+	if (file_list->priv->type == GTH_FILE_LIST_TYPE_V_SIDEBAR)
+		gtk_widget_set_size_request (GTK_WIDGET (file_list->priv->view),
+					     file_list->priv->thumb_size + (THUMBNAIL_BORDER * 2),
+					     -1);
+	else if (file_list->priv->type == GTH_FILE_LIST_TYPE_H_SIDEBAR)
 		gtk_widget_set_size_request (GTK_WIDGET (file_list->priv->view),
 					     -1,
 					     file_list->priv->thumb_size + (THUMBNAIL_BORDER * 2));
diff --git a/gthumb/gth-file-list.h b/gthumb/gth-file-list.h
index f01556e..8740aa2 100644
--- a/gthumb/gth-file-list.h
+++ b/gthumb/gth-file-list.h
@@ -37,7 +37,8 @@ typedef enum {
 	GTH_FILE_LIST_TYPE_BROWSER,
 	GTH_FILE_LIST_TYPE_SELECTOR,
 	GTH_FILE_LIST_TYPE_NO_SELECTION,
-	GTH_FILE_LIST_TYPE_THUMBNAIL,
+	GTH_FILE_LIST_TYPE_V_SIDEBAR,
+	GTH_FILE_LIST_TYPE_H_SIDEBAR
 } GthFileListType;
 
 #define GTH_TYPE_FILE_LIST            (gth_file_list_get_type ())
@@ -63,6 +64,8 @@ struct _GthFileListClass {
 GType             gth_file_list_get_type         (void);
 GtkWidget *       gth_file_list_new              (GthFileListType       list_type,
 						  gboolean              enable_drag_drop);
+void              gth_file_list_set_type         (GthFileList          *file_list,
+						  GthFileListType       list_type);
 void              gth_file_list_cancel           (GthFileList          *file_list,
 					          DataFunc              done_func,
 					          gpointer              user_data);
diff --git a/gthumb/gth-preferences.h b/gthumb/gth-preferences.h
index a45d186..59bfaf0 100644
--- a/gthumb/gth-preferences.h
+++ b/gthumb/gth-preferences.h
@@ -69,6 +69,7 @@ G_BEGIN_DECLS
 #define PREF_UI_VIEWER_SIDEBAR_WIDTH        "/apps/gthumb/ui/viewer_sidebar_width"
 #define PREF_UI_PROPERTIES_HEIGHT           "/apps/gthumb/ui/properties_height"
 #define PREF_UI_COMMENT_HEIGHT              "/apps/gthumb/ui/comment_height"
+#define PREF_UI_VIEWER_THUMBNAILS_ORIENT    "/apps/gthumb/ui/viewer_thumbnails_orientation"
 
 #define PREF_ADD_TO_CATALOG_LAST_CATALOG    "/apps/gthumb/dialogs/add_to_catalog/last_catalog"
 #define PREF_ADD_TO_CATALOG_VIEW            "/apps/gthumb/dialogs/add_to_catalog/view"



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