[gthumb: 7/57] added the web album dialog, changed the layout
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb: 7/57] added the web album dialog, changed the layout
- Date: Sun, 20 Jun 2010 16:22:20 +0000 (UTC)
commit bcddd8ff3b14c7aa1cc65b5dd3ecb910ebd90c74
Author: Paolo Bacchilega <paobac src gnome org>
Date: Fri Jun 4 10:37:22 2010 +0200
added the web album dialog, changed the layout
extensions/webalbums/Makefile.am | 21 +-
extensions/webalbums/actions.c | 35 +
extensions/webalbums/actions.h | 32 +
extensions/webalbums/callbacks.c | 111 +
extensions/webalbums/callbacks.h | 31 +
extensions/webalbums/data/ui/web-album-exporter.ui | 3211 ++++++--------------
extensions/webalbums/dlg-web-exporter.c | 1259 +-------
extensions/webalbums/dlg-web-exporter.h | 6 +-
extensions/webalbums/main.c | 54 +
9 files changed, 1280 insertions(+), 3480 deletions(-)
---
diff --git a/extensions/webalbums/Makefile.am b/extensions/webalbums/Makefile.am
index efb3684..2722833 100644
--- a/extensions/webalbums/Makefile.am
+++ b/extensions/webalbums/Makefile.am
@@ -5,14 +5,17 @@ SUBDIRS = data
extensiondir = $(pkglibdir)/extensions
extension_LTLIBRARIES = libwebalbums.la
-libwebalbums_la_SOURCES = \
- albumtheme.c \
- albumtheme-private.c \
- albumtheme-private.h \
- catalog-web-exporter.c \
- catalog-web-exporter.h \
- dlg-web-exporter.c \
- dlg-web-exporter.h
+libwebalbums_la_SOURCES = \
+ actions.c \
+ actions.h \
+ albumtheme.c \
+ albumtheme-private.c \
+ albumtheme-private.h \
+ callbacks.c \
+ callbacks.h \
+ dlg-web-exporter.c \
+ dlg-web-exporter.h \
+ main.c
albumtheme-lex.c: albumtheme.l
$(AM_V_GEN)( $(FLEX) $< && mv $(LEX_OUTPUT_ROOT).c albumtheme-lex.c )
@@ -43,7 +46,7 @@ EXTRA_DIST = $(extensionini_in_files) \
albumtheme.c \
albumtheme.y \
albumtheme.l \
- lex.albumtheme.c
+ albumtheme-lex.c
CLEANFILES = $(BUILT_SOURCES)
diff --git a/extensions/webalbums/actions.c b/extensions/webalbums/actions.c
new file mode 100644
index 0000000..c482542
--- /dev/null
+++ b/extensions/webalbums/actions.c
@@ -0,0 +1,35 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+
+#include <config.h>
+#include <glib/gi18n.h>
+#include <gthumb.h>
+#include "dlg-web-exporter.h"
+
+
+void
+gth_browser_activate_action_export_webalbum (GtkAction *action,
+ GthBrowser *browser)
+{
+ dlg_web_exporter (browser);
+}
diff --git a/extensions/webalbums/actions.h b/extensions/webalbums/actions.h
new file mode 100644
index 0000000..116c50a
--- /dev/null
+++ b/extensions/webalbums/actions.h
@@ -0,0 +1,32 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef ACTIONS_H
+#define ACTIONS_H
+
+#include <gtk/gtk.h>
+
+#define DEFINE_ACTION(x) void x (GtkAction *action, gpointer data);
+
+DEFINE_ACTION(gth_browser_activate_action_export_webalbum)
+
+#endif /* ACTIONS_H */
diff --git a/extensions/webalbums/callbacks.c b/extensions/webalbums/callbacks.c
new file mode 100644
index 0000000..049b19a
--- /dev/null
+++ b/extensions/webalbums/callbacks.c
@@ -0,0 +1,111 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+
+#include <config.h>
+#include <glib/gi18n.h>
+#include <glib-object.h>
+#include <gthumb.h>
+#include "actions.h"
+
+
+#define BROWSER_DATA_KEY "webalbums-browser-data"
+
+
+static const char *ui_info =
+"<ui>"
+" <menubar name='MenuBar'>"
+" <menu name='File' action='FileMenu'>"
+" <placeholder name='Misc_Actions'>"
+" <menuitem action='File_CreateWebAlbum'/>"
+" </placeholder>"
+" </menu>"
+" </menubar>"
+"</ui>";
+
+
+static GtkActionEntry action_entries[] = {
+ { "File_CreateWebAlbum", "webalbums",
+ N_("Create a _Web Album..."), NULL,
+ N_("Create a static web album"),
+ G_CALLBACK (gth_browser_activate_action_export_webalbum) },
+};
+
+
+typedef struct {
+ GtkActionGroup *action_group;
+} BrowserData;
+
+
+static void
+browser_data_free (BrowserData *data)
+{
+ g_free (data);
+}
+
+
+void
+wa__gth_browser_construct_cb (GthBrowser *browser)
+{
+ BrowserData *data;
+ GError *error = NULL;
+ guint merge_id;
+
+ g_return_if_fail (GTH_IS_BROWSER (browser));
+
+ data = g_new0 (BrowserData, 1);
+
+ data->action_group = gtk_action_group_new ("Web Albums Actions");
+ gtk_action_group_set_translation_domain (data->action_group, NULL);
+ gtk_action_group_add_actions (data->action_group,
+ action_entries,
+ G_N_ELEMENTS (action_entries),
+ browser);
+ gtk_ui_manager_insert_action_group (gth_browser_get_ui_manager (browser), data->action_group, 0);
+
+ merge_id = gtk_ui_manager_add_ui_from_string (gth_browser_get_ui_manager (browser), ui_info, -1, &error);
+ if (merge_id == 0) {
+ g_warning ("building ui failed: %s", error->message);
+ g_clear_error (&error);
+ }
+
+ g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free);
+}
+
+
+void
+wa__gth_browser_update_sensitivity_cb (GthBrowser *browser)
+{
+ BrowserData *data;
+ GtkAction *action;
+ int n_selected;
+ gboolean sensitive;
+
+ data = g_object_get_data (G_OBJECT (browser), BROWSER_DATA_KEY);
+ g_return_if_fail (data != NULL);
+
+ n_selected = gth_file_selection_get_n_selected (GTH_FILE_SELECTION (gth_browser_get_file_list_view (browser)));
+ sensitive = n_selected > 0;
+
+ action = gtk_action_group_get_action (data->action_group, "File_CreateWebAlbum");
+ g_object_set (action, "sensitive", sensitive, NULL);
+}
diff --git a/extensions/webalbums/callbacks.h b/extensions/webalbums/callbacks.h
new file mode 100644
index 0000000..5bfc8d5
--- /dev/null
+++ b/extensions/webalbums/callbacks.h
@@ -0,0 +1,31 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef CALLBACKS_H
+#define CALLBACKS_H
+
+#include <gthumb.h>
+
+void wa__gth_browser_construct_cb (GthBrowser *browser);
+void wa__gth_browser_update_sensitivity_cb (GthBrowser *browser);
+
+#endif /* CALLBACKS_H */
diff --git a/extensions/webalbums/data/ui/web-album-exporter.ui b/extensions/webalbums/data/ui/web-album-exporter.ui
index d5090a3..677fd36 100644
--- a/extensions/webalbums/data/ui/web-album-exporter.ui
+++ b/extensions/webalbums/data/ui/web-album-exporter.ui
@@ -1,2323 +1,888 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-
-<widget class="GtkDialog" id="web_album_dialog">
- <property name="border_width">6</property>
- <property name="title" translatable="yes">Web Album</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox6">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area6">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="wa_help_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-help</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-11</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="wa_cancel_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="wa_ok_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="label">gtk-save</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkTable" id="table8">
- <property name="border_width">6</property>
- <property name="visible">True</property>
- <property name="n_rows">16</property>
- <property name="n_columns">3</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label112">
- <property name="visible">True</property>
- <property name="label" translatable="yes">S_ort:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">10</property>
- <property name="bottom_attach">11</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label113">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Index Page Layout</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">3</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label88">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> </property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label84">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Destination:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <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>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label87">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Saving</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label94">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Album Style</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">3</property>
- <property name="top_attach">11</property>
- <property name="bottom_attach">12</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label86">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Header:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">12</property>
- <property name="bottom_attach">13</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox62">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkComboBox" id="wa_sort_images_combobox">
- <property name="visible">True</property>
- <property name="items" translatable="yes">by name</property>
- <property name="add_tearoffs">False</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="wa_reverse_order_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Re_verse order</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">10</property>
- <property name="bottom_attach">11</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label122">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Footer:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">13</property>
- <property name="bottom_attach">14</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox70">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkEntry" id="wa_header_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char">*</property>
- <property name="activates_default">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">12</property>
- <property name="bottom_attach">13</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox71">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkEntry" id="wa_footer_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="editable">True</property>
- <property name="visibility">True</property>
- <property name="max_length">0</property>
- <property name="text" translatable="yes"></property>
- <property name="has_frame">True</property>
- <property name="invisible_char">*</property>
- <property name="activates_default">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">13</property>
- <property name="bottom_attach">14</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label99">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Size :</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="mnemonic_widget">wa_rows_spinbutton</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">6</property>
- <property name="bottom_attach">7</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label123">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><small><i><b>Note:</b> %d (current date).</i></small></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">14</property>
- <property name="bottom_attach">15</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label85">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Theme:</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">15</property>
- <property name="bottom_attach">16</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox54">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkButton" id="wa_select_theme_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label124">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><small><i><b>Note:</b> click to customize.</i></small></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">True</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">15</property>
- <property name="bottom_attach">16</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="wa_copy_images_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Copy originals to destination</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="wa_resize_images_hbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkCheckButton" id="wa_resize_images_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Resize if larger than:</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="wa_resize_images_options_hbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkOptionMenu" id="wa_resize_images_optionmenu">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="history">0</property>
-
- <child>
- <widget class="GtkMenu" id="menu2">
-
- <child>
- <widget class="GtkMenuItem" id="320x1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">320 x 200</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_320x1_activate" last_modification_time="Thu, 15 May 2003 18:27:44 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="320x2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">320 x 320</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_320x2_activate" last_modification_time="Thu, 15 May 2003 18:27:44 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="640x1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">640 x 480</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_640x1_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="640x2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">640 x 640</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_640x2_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="800x6">
- <property name="visible">True</property>
- <property name="label" translatable="yes">800 x 600</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_800x1_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="800x7">
- <property name="visible">True</property>
- <property name="label" translatable="yes">800 x 800</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_800x2_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="1024x1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">1024 x 768</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_1024x1_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="1024x2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">1024 x 1024</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_1024x2_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="1280x1">
- <property name="visible">True</property>
- <property name="label" translatable="yes">1280 x 960</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_1280x1_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
-
- <child>
- <widget class="GtkMenuItem" id="1280x2">
- <property name="visible">True</property>
- <property name="label" translatable="yes">1280 x 1280</property>
- <property name="use_underline">True</property>
- <signal name="activate" handler="on_1280x2_activate" last_modification_time="Thu, 15 May 2003 18:26:48 GMT"/>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
- <property name="x_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFileChooserButton" id="wa_destination_filechooserbutton">
- <property name="visible">True</property>
- <property name="title" translatable="yes">Choose destination folder</property>
- <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
- <property name="local_only">False</property>
- <property name="show_hidden">False</property>
- <property name="do_overwrite_confirmation">False</property>
- <property name="width_chars">-1</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox91">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkCheckButton" id="wa_single_index_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">or _use a single index page</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">8</property>
- <property name="bottom_attach">9</property>
- <property name="x_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="wa_rows_hbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkHBox" id="hbox60">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkHBox" id="hbox69">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkSpinButton" id="wa_rows_spinbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
- <property name="numeric">False</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
- <property name="adjustment">1 1 100 1 10 0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label132">
- <property name="visible">True</property>
- <property name="label" translatable="yes">rows per page,</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">7</property>
- <property name="bottom_attach">8</property>
- <property name="x_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="wa_cols_hbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkSpinButton" id="wa_cols_spinbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="climb_rate">1</property>
- <property name="digits">0</property>
- <property name="numeric">False</property>
- <property name="update_policy">GTK_UPDATE_ALWAYS</property>
- <property name="snap_to_ticks">False</property>
- <property name="wrap">False</property>
- <property name="adjustment">1 1 100 1 10 0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label133">
- <property name="visible">True</property>
- <property name="label" translatable="yes">columns, by</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">6</property>
- <property name="bottom_attach">7</property>
- <property name="x_options">fill</property>
- <property name="y_options">fill</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label143">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><small><i><b>Note:</b> Some themes may auto-adjust the
-number of rows and columns, but keep the total
-number of images per page constant.</i></small></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">9</property>
- <property name="bottom_attach">10</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="wa_use_subfolders_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Use subfolders to organize files</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="web_album_theme_dialog">
- <property name="border_width">6</property>
- <property name="title" translatable="yes">Web Album Theme</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">True</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox7">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area7">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="wat_cancel_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="wat_ok_button">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="has_default">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment3">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox85">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image4">
- <property name="visible">True</property>
- <property name="stock">gtk-apply</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label135">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Select</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox32">
- <property name="border_width">6</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkVBox" id="vbox24">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">5</property>
-
- <child>
- <widget class="GtkLabel" id="label102">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Theme</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox57">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label101">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> </property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox37">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkHBox" id="hbox58">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">10</property>
-
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow4">
- <property name="width_request">200</property>
- <property name="height_request">250</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
- <child>
- <widget class="GtkTreeView" id="wat_theme_treeview">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="headers_visible">False</property>
- <property name="rules_hint">False</property>
- <property name="reorderable">False</property>
- <property name="enable_search">True</property>
- <property name="fixed_height_mode">False</property>
- <property name="hover_selection">False</property>
- <property name="hover_expand">False</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox27">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label137">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Style Preview</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
-
- <child>
- <widget class="GtkHBox" id="hbox87">
- <property name="border_width">3</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkImage" id="wat_preview_image">
- <property name="width_request">220</property>
- <property name="height_request">220</property>
- <property name="visible">True</property>
- <property name="stock">gtk-missing-image</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="wat_go_to_folder_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
-
- <child>
- <widget class="GtkAlignment" id="alignment4">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
-
- <child>
- <widget class="GtkHBox" id="hbox90">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
- <child>
- <widget class="GtkImage" id="image5">
- <property name="visible">True</property>
- <property name="stock">gtk-jump-to</property>
- <property name="icon_size">4</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="label136">
- <property name="visible">True</property>
- <property name="label" translatable="yes">_Go to Theme Folder</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="wat_install_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Install Theme...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox33">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label117">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Personalize theme</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox65">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label116">
- <property name="visible">True</property>
- <property name="label" translatable="yes"> </property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox34">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkHBox" id="hbox89">
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkButton" id="wat_thumbnail_caption_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Thumbnail Caption...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkButton" id="wat_image_caption_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">I_mage Caption...</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="progress_dialog">
- <property name="border_width">6</property>
- <property name="width_request">300</property>
- <property name="title" translatable="yes"></property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox8">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">8</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area8">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="progress_cancel">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox26">
- <property name="border_width">6</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkProgressBar" id="progress_progressbar">
- <property name="visible">True</property>
- <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
- <property name="fraction">0</property>
- <property name="pulse_step">0.10000000149</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- </widget>
- <packing>
- <property name="padding">12</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkLabel" id="progress_info">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-<widget class="GtkDialog" id="caption_dialog">
- <property name="border_width">6</property>
- <property name="title" translatable="yes">Caption</property>
- <property name="type">GTK_WINDOW_TOPLEVEL</property>
- <property name="window_position">GTK_WIN_POS_NONE</property>
- <property name="modal">False</property>
- <property name="resizable">False</property>
- <property name="destroy_with_parent">False</property>
- <property name="decorated">True</property>
- <property name="skip_taskbar_hint">False</property>
- <property name="skip_pager_hint">False</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
- <property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
- <property name="has_separator">False</property>
-
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox9">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">3</property>
-
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area9">
- <property name="visible">True</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
-
- <child>
- <widget class="GtkButton" id="c_cancelbutton">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
-
- <child>
- <widget class="GtkButton" id="c_okbutton">
- <property name="visible">True</property>
- <property name="can_default">True</property>
- <property name="can_focus">True</property>
- <property name="label">gtk-ok</property>
- <property name="use_stock">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="response_id">-5</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox31">
- <property name="border_width">6</property>
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">12</property>
-
- <child>
- <widget class="GtkVBox" id="vbox36">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label140">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Basic Information</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox93">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label141">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">6</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="vbox38">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkCheckButton" id="c_filename_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">File _name</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_filesize_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">File si_ze</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_imagedim_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Image dim_ensions</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="c_caption_data_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label138">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Comments</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox92">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label139">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">6</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="caption_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkCheckButton" id="c_comment_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Co_mment</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_place_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Place</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_date_time_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Date and Time</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="c_exif_data_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkLabel" id="label119">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Camera Data</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkHBox" id="hbox67">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">0</property>
-
- <child>
- <widget class="GtkLabel" id="label120">
- <property name="visible">True</property>
- <property name="label" translatable="yes"></property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">6</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkVBox" id="exif_vbox">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">6</property>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_date_time_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Da_te and Time</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_exposure_time_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Exposure _time</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_exposure_mode_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">E_xposure mode</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_flash_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Flash</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_shutter_speed_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Shutter speed</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_aperture_value_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Aperture value</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_focal_length_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Focal _length</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
-
- <child>
- <widget class="GtkCheckButton" id="c_exif_camera_model_checkbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Came_ra Model</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
- </packing>
- </child>
- </widget>
- </child>
-</widget>
-
-</glade-interface>
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-naming-policy toplevel-contextual -->
+ <object class="GtkAdjustment" id="rows_adjustment">
+ <property name="value">1</property>
+ <property name="lower">1</property>
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="cols_adjustment">
+ <property name="value">1</property>
+ <property name="lower">1</property>
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkDialog" id="web_album_dialog">
+ <property name="border_width">6</property>
+ <property name="title" translatable="yes">Web Album</property>
+ <property name="type_hint">dialog</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox6">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkNotebook" id="notebook1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="border_width">6</property>
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox5">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label84">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Destination:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFileChooserButton" id="wa_destination_filechooserbutton">
+ <property name="visible">True</property>
+ <property name="local_only">False</property>
+ <property name="action">select-folder</property>
+ <property name="title" translatable="yes">Choose destination folder</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="wa_use_subfolders_checkbutton">
+ <property name="label" translatable="yes">Use subfolders to organize files</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="copy_images_checkbutton">
+ <property name="label" translatable="yes">_Copy originals to destination</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="resize_images_hbox">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="resize_images_checkbutton">
+ <property name="label" translatable="yes">_Resize if larger than:</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="resize_images_options_hbox">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkComboBox" id="resize_images_combobox">
+ <property name="visible">True</property>
+ <property name="model">size_liststore</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext1"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Saving</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame2">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox4">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkTable" id="table2">
+ <property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkTable" id="template_help_table">
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">%P</property>
+ <attributes>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">%N</property>
+ <attributes>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">The current page number</property>
+ <attributes>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </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>
+ <child>
+ <object class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">The total number of pages</property>
+ <attributes>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Special code</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Description</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label16">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes" comments="translate only the text in the curly brackets">%D{ format }</property>
+ <attributes>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label17">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">The current date</property>
+ <attributes>
+ <attribute name="size" value="8000"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="footer_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="activates_default">True</property>
+ <property name="secondary_icon_stock">gtk-help</property>
+ <property name="secondary_icon_activatable">True</property>
+ <property name="secondary_icon_sensitive">True</property>
+ <property name="secondary_icon_tooltip_text">Help</property>
+ </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>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label122">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Footer:</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>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="header_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="activates_default">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label86">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Header:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox6">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label18">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Theme:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow4">
+ <property name="width_request">200</property>
+ <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>
+ <object class="GtkIconView" id="theme_iconview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="model">theme_liststore</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Album</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">General</property>
+ </object>
+ <packing>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table3">
+ <property name="visible">True</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label112">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">S_ort:</property>
+ <property name="use_underline">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox62">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkComboBox" id="sort_combobox">
+ <property name="visible">True</property>
+ <property name="model">sort_liststore</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="wa_reverse_order_checkbutton">
+ <property name="label" translatable="yes">Re_verse order</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">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="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="wa_single_index_checkbutton">
+ <property name="label" translatable="yes">or _use a single index page</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </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>
+ <child>
+ <object class="GtkTable" id="table1">
+ <property name="visible">True</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="GtkSpinButton" id="cols_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="adjustment">cols_adjustment</property>
+ <property name="climb_rate">1</property>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label133">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">columns,</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="rows_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ <property name="adjustment">rows_adjustment</property>
+ <property name="climb_rate">1</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="GtkLabel" id="label132">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">rows per page</property>
+ </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>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="top_padding">4</property>
+ <child>
+ <object class="GtkLabel" id="label99">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes">_Size:</property>
+ <property name="use_underline">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Page Layout</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame4">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment6">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkScrolledWindow" id="thumbnail_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/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Thumbnail Caption</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Index</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="border_width">6</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkFrame" id="frame5">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment7">
+ <property name="visible">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkScrolledWindow" id="image_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/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Image Caption</property>
+ <property name="use_markup">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child type="tab">
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Image</property>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area6">
+ <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="can_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">0</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_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>
+ <child>
+ <object class="GtkButton" id="ok_button">
+ <property name="label">gtk-save</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">2</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>
+ <action-widget response="-11">help_button</action-widget>
+ <action-widget response="-6">cancel_button</action-widget>
+ <action-widget response="-5">ok_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkListStore" id="theme_liststore"/>
+ <object class="GtkListStore" id="size_liststore">
+ <columns>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="sort_liststore">
+ <columns>
+ <!-- column-name data -->
+ <column type="gpointer"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+</interface>
diff --git a/extensions/webalbums/dlg-web-exporter.c b/extensions/webalbums/dlg-web-exporter.c
index e1c5842..d56fb98 100644
--- a/extensions/webalbums/dlg-web-exporter.c
+++ b/extensions/webalbums/dlg-web-exporter.c
@@ -3,7 +3,7 @@
/*
* GThumb
*
- * Copyright (C) 2003 Free Software Foundation, Inc.
+ * Copyright (C) 2003-2010 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,1227 +21,196 @@
*/
#include <config.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
#include <glib/gi18n.h>
#include <gtk/gtk.h>
-#include <libgnome/gnome-url.h>
-#include <libgnome/gnome-help.h>
-#include <libgnomevfs/gnome-vfs-directory.h>
-#include <libgnomevfs/gnome-vfs-ops.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-#include <glade/glade.h>
-
-#include "catalog-web-exporter.h"
-#include "dlg-file-utils.h"
-#include "file-utils.h"
-#include "gfile-utils.h"
-#include "gtk-utils.h"
-#include "gth-file-view.h"
-#include "main.h"
-#include "pixbuf-utils.h"
-#include "gconf-utils.h"
-#include "gth-browser.h"
-#include "gth-utils.h"
-#include "glib-utils.h"
-
-static int sort_method_to_idx[] = { -1, 0, 1, 2, 3, 4, 5, 6 };
-static GthSortMethod idx_to_sort_method[] = { GTH_SORT_METHOD_BY_NAME,
- GTH_SORT_METHOD_BY_PATH,
- GTH_SORT_METHOD_BY_SIZE,
- GTH_SORT_METHOD_BY_TIME,
- GTH_SORT_METHOD_BY_EXIF_DATE,
- GTH_SORT_METHOD_BY_COMMENT,
- GTH_SORT_METHOD_MANUAL};
-static int idx_to_resize_width[] = { 320, 320, 640, 640, 800, 800, 1024, 1024, 1280, 1280 };
-static int idx_to_resize_height[] = { 200, 320, 480, 640, 600, 800, 768, 1024, 960, 1280 };
+#include "dlg-web-exporter.h"
-
-#define str_void(x) (((x) == NULL) || (*(x) == 0))
-#define GLADE_EXPORTER_FILE "gthumb_web_exporter.glade"
-#define MAX_PREVIEW_SIZE 220
+#define GET_WIDGET(name) _gtk_builder_get_widget (data->builder, (name))
+#define STRING_IS_VOID(x) (((x) == NULL) || (*(x) == 0))
#define DEFAULT_ALBUM_THEME "Wiki"
-typedef struct {
- GthBrowser *browser;
-
- GladeXML *gui;
- GtkWidget *dialog;
-
- GtkWidget *progress_dialog;
- GtkWidget *progress_progressbar;
- GtkWidget *progress_info;
- GtkWidget *progress_cancel;
-
- GtkWidget *btn_ok;
-
- GtkWidget *wa_destination_filechooserbutton;
- GtkWidget *wa_use_subfolders_checkbutton;
- GtkWidget *wa_copy_images_checkbutton;
- GtkWidget *wa_resize_images_checkbutton;
- GtkWidget *wa_resize_images_optionmenu;
- GtkWidget *wa_resize_images_hbox;
- GtkWidget *wa_resize_images_options_hbox;
-
- GtkWidget *wa_rows_spinbutton;
- GtkWidget *wa_cols_spinbutton;
- GtkWidget *wa_single_index_checkbutton;
- GtkWidget *wa_rows_hbox;
- GtkWidget *wa_cols_hbox;
- GtkWidget *wa_sort_images_combobox;
- GtkWidget *wa_reverse_order_checkbutton;
-
- GtkWidget *wa_header_entry;
- GtkWidget *wa_footer_entry;
- GtkWidget *wa_theme_combo;
- GtkWidget *wa_select_theme_button;
-
- /**/
+static struct {
+ int width;
+ int height;
+} resize_size[] = { { 320, 200 },
+ { 320, 320 },
+ { 640, 480 },
+ { 640, 640 },
+ { 800, 600 },
+ { 800, 800 },
+ { 1024, 768 },
+ { 1024, 1024 },
+ { 1280, 960 },
+ { 1280, 1280 } };
- CatalogWebExporter *exporter;
+typedef struct {
+ GthBrowser *browser;
+ GtkBuilder *builder;
+ GtkWidget *dialog;
+ GtkWidget *thumbnail_caption_chooser;
+ GtkWidget *image_caption_chooser;
} DialogData;
-/* called when the main dialog is closed. */
static void
destroy_cb (GtkWidget *widget,
DialogData *data)
{
- g_object_unref (data->gui);
- if (data->exporter != NULL)
- g_object_unref (data->exporter);
+ gth_browser_set_dialog (data->browser, "web_exporter", NULL);
+ g_object_unref (data->builder);
g_free (data);
}
-/* called when the "help" button is clicked. */
static void
-help_cb (GtkWidget *widget,
- DialogData *data)
+help_clicked_cb (GtkWidget *widget,
+ DialogData *data)
{
- gthumb_display_help (GTK_WINDOW (data->dialog), "gthumb-web-album");
+ show_help_dialog (GTK_WINDOW (data->dialog), "webalbums");
}
static void
-export (GtkWidget *widget,
- DialogData *data)
+ok_clicked_cb (GtkWidget *widget,
+ DialogData *data)
{
- CatalogWebExporter *exporter = data->exporter;
- char *location;
- char *path;
- char *theme;
- const char *header;
- const char *footer;
-
- /* Save options. */
-
- path = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (data->wa_destination_filechooserbutton));
- location = remove_ending_separator (path);
- g_free (path);
-
- eel_gconf_set_path (PREF_WEB_ALBUM_DESTINATION, location);
-
- eel_gconf_set_boolean (PREF_WEB_ALBUM_USE_SUBFOLDERS, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->wa_use_subfolders_checkbutton)));
-
- eel_gconf_set_boolean (PREF_WEB_ALBUM_COPY_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->wa_copy_images_checkbutton)));
-
- eel_gconf_set_boolean (PREF_WEB_ALBUM_RESIZE_IMAGES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->wa_resize_images_checkbutton)));
-
- eel_gconf_set_integer (PREF_WEB_ALBUM_RESIZE_WIDTH, idx_to_resize_width[gtk_option_menu_get_history (GTK_OPTION_MENU (data->wa_resize_images_optionmenu))]);
-
- eel_gconf_set_integer (PREF_WEB_ALBUM_RESIZE_HEIGHT, idx_to_resize_height[gtk_option_menu_get_history (GTK_OPTION_MENU (data->wa_resize_images_optionmenu))]);
-
- eel_gconf_set_integer (PREF_WEB_ALBUM_ROWS, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (data->wa_rows_spinbutton)));
-
- eel_gconf_set_integer (PREF_WEB_ALBUM_COLUMNS, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (data->wa_cols_spinbutton)));
-
- eel_gconf_set_boolean (PREF_WEB_ALBUM_SINGLE_INDEX, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->wa_single_index_checkbutton)));
-
- pref_set_web_album_sort_order (idx_to_sort_method [gtk_combo_box_get_active (GTK_COMBO_BOX (data->wa_sort_images_combobox))]);
-
- eel_gconf_set_boolean (PREF_WEB_ALBUM_REVERSE, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->wa_reverse_order_checkbutton)));
-
- header = gtk_entry_get_text (GTK_ENTRY (data->wa_header_entry));
- eel_gconf_set_string (PREF_WEB_ALBUM_HEADER, header);
-
- footer = gtk_entry_get_text (GTK_ENTRY (data->wa_footer_entry));
- eel_gconf_set_string (PREF_WEB_ALBUM_FOOTER, footer);
-
- theme = _gtk_button_get_filename_label (GTK_BUTTON (data->wa_select_theme_button));
- eel_gconf_set_string (PREF_WEB_ALBUM_THEME, theme);
-
- if (strcmp (theme, "") == 0) {
- g_free (location);
- return;
- }
-
- /**/
-
- if (! dlg_check_folder (GTH_WINDOW (data->browser), location)) {
- g_free (location);
- return;
- }
-
- gtk_widget_hide (data->dialog);
-
- /* Set options. */
-
- catalog_web_exporter_set_location (exporter, location);
-
- catalog_web_exporter_set_use_subfolders (exporter, eel_gconf_get_boolean (PREF_WEB_ALBUM_USE_SUBFOLDERS, TRUE));
-
- catalog_web_exporter_set_copy_images (exporter, eel_gconf_get_boolean (PREF_WEB_ALBUM_COPY_IMAGES, FALSE));
-
- catalog_web_exporter_set_resize_images (exporter,
- eel_gconf_get_boolean (PREF_WEB_ALBUM_RESIZE_IMAGES, FALSE),
- idx_to_resize_width[gtk_option_menu_get_history (GTK_OPTION_MENU (data->wa_resize_images_optionmenu))],
- idx_to_resize_height[gtk_option_menu_get_history (GTK_OPTION_MENU (data->wa_resize_images_optionmenu))]);
-
- catalog_web_exporter_set_row_col (exporter, eel_gconf_get_integer (PREF_WEB_ALBUM_ROWS, 4), eel_gconf_get_integer (PREF_WEB_ALBUM_COLUMNS, 4));
- catalog_web_exporter_set_single_index (exporter, eel_gconf_get_boolean (PREF_WEB_ALBUM_SINGLE_INDEX, FALSE));
-
- catalog_web_exporter_set_sorted (exporter, pref_get_web_album_sort_order (), eel_gconf_get_boolean (PREF_WEB_ALBUM_REVERSE, FALSE));
- catalog_web_exporter_set_header (exporter, header);
- catalog_web_exporter_set_footer (exporter, footer);
- catalog_web_exporter_set_style (exporter, theme);
-
- g_free (location);
- g_free (theme);
-
- /* Export. */
+ GthTask *task;
- gtk_window_set_transient_for (GTK_WINDOW (data->progress_dialog),
- GTK_WINDOW (data->browser));
- gtk_window_set_modal (GTK_WINDOW (data->progress_dialog), TRUE);
- gtk_widget_show_all (data->progress_dialog);
+ task = gth_web_exporter_new (data->browser, NULL);
+ gth_browser_exec_task (data->browser, task, FALSE);
- catalog_web_exporter_export (exporter);
-}
-
-
-static void
-export_done (GtkObject *object,
- DialogData *data)
-{
- gtk_widget_destroy (data->progress_dialog);
gtk_widget_destroy (data->dialog);
}
static void
-export_progress (GtkObject *object,
- float percent,
- DialogData *data)
-{
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (data->progress_progressbar), percent);
-}
-
-
-static void
-export_info (GtkObject *object,
- const char *info,
- DialogData *data)
+update_sensitivity (DialogData *data)
{
- gtk_label_set_text (GTK_LABEL (data->progress_info), info);
+ gtk_widget_set_sensitive (GET_WIDGET ("resize_images_combobox"), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("resize_images_checkbutton"))));
+ gtk_widget_set_sensitive (GET_WIDGET ("resize_images_hbox"), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("copy_images_checkbutton"))));
}
static void
-export_start_copying (GtkObject *object,
- DialogData *data)
+footer_entry_icon_press_cb (GtkEntry *entry,
+ GtkEntryIconPosition icon_pos,
+ GdkEvent *event,
+ gpointer user_data)
{
- gtk_widget_hide (data->progress_dialog);
-}
-
-
-static void show_album_theme_cb (GtkWidget *widget, DialogData *data);
+ DialogData *data = user_data;
+ GtkWidget *help_box;
-
-static int
-get_idx_from_size (int width, int height)
-{
- int idx;
- if (width == 320)
- idx = 0;
- else if (width == 640)
- idx = 1;
- else if (width == 800)
- idx = 2;
- else if (width == 1024)
- idx = 3;
- else if (width == 1280)
- idx = 4;
+ help_box = GET_WIDGET ("template_help_table");
+ if (GTK_WIDGET_VISIBLE (help_box))
+ gtk_widget_hide (help_box);
else
- idx = 1;
- return 2 * idx + (width == height? 1 : 0);
-}
-
-
-static void
-copy_image_toggled_cb (GtkToggleButton *button,
- DialogData *data)
-{
- gtk_widget_set_sensitive (data->wa_resize_images_hbox, gtk_toggle_button_get_active (button));
-}
-
-
-static void
-resize_image_toggled_cb (GtkToggleButton *button,
- DialogData *data)
-{
- gtk_widget_set_sensitive (data->wa_resize_images_options_hbox, gtk_toggle_button_get_active (button));
-}
-
-
-static void
-single_index_toggled_cb (GtkToggleButton *button,
- DialogData *data)
-{
- gtk_widget_set_sensitive (data->wa_rows_hbox, !gtk_toggle_button_get_active (button));
-}
-
-
-
-static gboolean
-theme_present (const char *theme_name,
- const char *theme_dir)
-{
- char *filename;
-
- if (theme_name == NULL)
- return FALSE;
-
- if (theme_dir == NULL)
- return FALSE;
-
- filename = g_build_filename (theme_dir, theme_name, NULL);
-
- return path_is_dir (filename);
-}
-
-
-static char *
-get_default_theme (void)
-{
- char *current_theme;
- char *local_theme_dir;
- char *system_theme_dir;
- gboolean found = FALSE;
-
- current_theme = eel_gconf_get_string (PREF_WEB_ALBUM_THEME, DEFAULT_ALBUM_THEME);
-
- local_theme_dir = g_build_path (G_DIR_SEPARATOR_S,
- g_get_home_dir (),
- ".gnome2",
- "gthumb/albumthemes",
- NULL);
- system_theme_dir = g_build_path (G_DIR_SEPARATOR_S,
- GTHUMB_DATADIR,
- "gthumb/albumthemes",
- NULL);
-
- found = theme_present (current_theme, local_theme_dir);
-
- if (!found) {
- found = theme_present (current_theme, system_theme_dir);
- }
-
- if (!found) {
- g_free (current_theme);
- current_theme = g_strdup (DEFAULT_ALBUM_THEME);
- found = theme_present (current_theme, local_theme_dir);
- }
-
- if (!found) {
- found = theme_present (current_theme, system_theme_dir);
- }
-
- g_free (local_theme_dir);
- g_free (system_theme_dir);
-
- if (! found) {
- g_free (current_theme);
- return g_strdup ("");
- }
-
- return current_theme;
+ gtk_widget_show (help_box);
}
-/* create the main dialog. */
void
dlg_web_exporter (GthBrowser *browser)
{
DialogData *data;
- GtkWidget *btn_cancel;
- GtkWidget *btn_help;
- GList *list;
- char *svalue;
- gboolean reorderable;
- int idx;
-
- data = g_new0 (DialogData, 1);
+ int i;
+ int active_index;
+ GList *scan;
- data->browser = browser;
-
- list = gth_window_get_file_list_selection_as_fd (GTH_WINDOW (browser));
- if (list == NULL) {
- g_warning ("No file selected.");
- g_free (data);
+ if (gth_browser_get_dialog (browser, "web_exporter") != NULL) {
+ gtk_window_present (GTK_WINDOW (gth_browser_get_dialog (browser, "web_exporter")));
return;
}
- reorderable = gth_file_view_get_reorderable (gth_browser_get_file_view (browser));
-
- data->exporter = catalog_web_exporter_new (GTH_WINDOW (browser), list);
- file_data_list_free (list);
-
- data->gui = glade_xml_new (GTHUMB_GLADEDIR "/" GLADE_EXPORTER_FILE, NULL, NULL);
- if (!data->gui) {
- g_object_unref (data->exporter);
- g_free (data);
- g_warning ("Could not find " GLADE_EXPORTER_FILE "\n");
- return;
- }
-
- /* Get the widgets. */
-
- data->dialog = glade_xml_get_widget (data->gui, "web_album_dialog");
- data->wa_destination_filechooserbutton = glade_xml_get_widget (data->gui, "wa_destination_filechooserbutton");
- data->wa_use_subfolders_checkbutton = glade_xml_get_widget (data->gui, "wa_use_subfolders_checkbutton");
- data->wa_copy_images_checkbutton = glade_xml_get_widget (data->gui, "wa_copy_images_checkbutton");
-
- data->wa_resize_images_checkbutton = glade_xml_get_widget (data->gui, "wa_resize_images_checkbutton");
- data->wa_resize_images_optionmenu = glade_xml_get_widget (data->gui, "wa_resize_images_optionmenu");
- data->wa_resize_images_hbox = glade_xml_get_widget (data->gui, "wa_resize_images_hbox");
- data->wa_resize_images_options_hbox = glade_xml_get_widget (data->gui, "wa_resize_images_options_hbox");
-
- data->wa_rows_spinbutton = glade_xml_get_widget (data->gui, "wa_rows_spinbutton");
- data->wa_cols_spinbutton = glade_xml_get_widget (data->gui, "wa_cols_spinbutton");
- data->wa_single_index_checkbutton = glade_xml_get_widget (data->gui, "wa_single_index_checkbutton");
- data->wa_rows_hbox = glade_xml_get_widget (data->gui, "wa_rows_hbox");
- data->wa_cols_hbox = glade_xml_get_widget (data->gui, "wa_cols_hbox");
- data->wa_sort_images_combobox = glade_xml_get_widget (data->gui, "wa_sort_images_combobox");
- data->wa_reverse_order_checkbutton = glade_xml_get_widget (data->gui, "wa_reverse_order_checkbutton");
-
- data->wa_header_entry = glade_xml_get_widget (data->gui, "wa_header_entry");
- data->wa_footer_entry = glade_xml_get_widget (data->gui, "wa_footer_entry");
- data->wa_select_theme_button = glade_xml_get_widget (data->gui, "wa_select_theme_button");
+ data = g_new0 (DialogData, 1);
+ data->browser = browser;
+ data->builder = _gtk_builder_new_from_file ("web-album-exporter.ui", "webalbums");
- /**/
+ data->dialog = _gtk_builder_get_widget (data->builder, "web_album_dialog");
+ gth_browser_set_dialog (browser, "web_exporter", data->dialog);
+ g_object_set_data (G_OBJECT (data->dialog), "dialog_data", data);
- data->progress_dialog = glade_xml_get_widget (data->gui, "progress_dialog");
- data->progress_progressbar = glade_xml_get_widget (data->gui, "progress_progressbar");
- data->progress_info = glade_xml_get_widget (data->gui, "progress_info");
- data->progress_cancel = glade_xml_get_widget (data->gui, "progress_cancel");
+ data->thumbnail_caption_chooser = gth_metadata_chooser_new (GTH_METADATA_ALLOW_IN_PRINT);
+ gtk_widget_show (data->thumbnail_caption_chooser);
+ gtk_container_add (GTK_CONTAINER (GET_WIDGET ("thumbnail_caption_scrolledwindow")), data->thumbnail_caption_chooser);
- btn_cancel = glade_xml_get_widget (data->gui, "wa_cancel_button");
- data->btn_ok = glade_xml_get_widget (data->gui, "wa_ok_button");
- btn_help = glade_xml_get_widget (data->gui, "wa_help_button");
+ data->image_caption_chooser = gth_metadata_chooser_new (GTH_METADATA_ALLOW_IN_PRINT);
+ gtk_widget_show (data->image_caption_chooser);
+ gtk_container_add (GTK_CONTAINER (GET_WIDGET ("image_caption_scrolledwindow")), data->image_caption_chooser);
/* Set widgets data. */
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->wa_use_subfolders_checkbutton), eel_gconf_get_boolean (PREF_WEB_ALBUM_USE_SUBFOLDERS, TRUE));
-
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->wa_copy_images_checkbutton), eel_gconf_get_boolean (PREF_WEB_ALBUM_COPY_IMAGES, FALSE));
-
- gtk_widget_set_sensitive (data->wa_resize_images_hbox, eel_gconf_get_boolean (PREF_WEB_ALBUM_COPY_IMAGES, FALSE));
-
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->wa_resize_images_checkbutton), eel_gconf_get_boolean (PREF_WEB_ALBUM_RESIZE_IMAGES, FALSE));
-
- gtk_widget_set_sensitive (data->wa_resize_images_options_hbox, eel_gconf_get_boolean (PREF_WEB_ALBUM_RESIZE_IMAGES, FALSE));
-
- gtk_option_menu_set_history (GTK_OPTION_MENU (data->wa_resize_images_optionmenu), get_idx_from_size (eel_gconf_get_integer (PREF_WEB_ALBUM_RESIZE_WIDTH, 640), eel_gconf_get_integer (PREF_WEB_ALBUM_RESIZE_HEIGHT, 480)));
-
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (data->wa_rows_spinbutton), eel_gconf_get_integer (PREF_WEB_ALBUM_ROWS, 4));
-
- gtk_spin_button_set_value (GTK_SPIN_BUTTON (data->wa_cols_spinbutton), eel_gconf_get_integer (PREF_WEB_ALBUM_COLUMNS, 4));
-
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->wa_single_index_checkbutton), eel_gconf_get_boolean (PREF_WEB_ALBUM_SINGLE_INDEX, FALSE));
-
- gtk_widget_set_sensitive (data->wa_rows_hbox, !eel_gconf_get_boolean (PREF_WEB_ALBUM_SINGLE_INDEX, FALSE));
-
- /**/
-
- gtk_combo_box_append_text (GTK_COMBO_BOX (data->wa_sort_images_combobox),
- _("by path"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (data->wa_sort_images_combobox),
- _("by size"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (data->wa_sort_images_combobox),
- _("by file modified time"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (data->wa_sort_images_combobox),
- _("by Exif DateTime tag"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (data->wa_sort_images_combobox),
- _("by comment"));
- if (reorderable)
- gtk_combo_box_append_text (GTK_COMBO_BOX (data->wa_sort_images_combobox),
- _("manual order"));
-
- idx = sort_method_to_idx [pref_get_web_album_sort_order ()];
- if (!reorderable && (sort_method_to_idx[GTH_SORT_METHOD_MANUAL] == idx))
- idx = sort_method_to_idx[GTH_SORT_METHOD_BY_NAME];
- gtk_combo_box_set_active (GTK_COMBO_BOX (data->wa_sort_images_combobox), idx);
+ active_index = 0;
+ for (i = 0; i < G_N_ELEMENTS (resize_size); i++) {
+ GtkTreeIter iter;
+ char *name;
- /**/
+ gtk_list_store_append (GTK_LIST_STORE (GET_WIDGET ("size_liststore")), &iter);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->wa_reverse_order_checkbutton), eel_gconf_get_boolean (PREF_WEB_ALBUM_REVERSE, FALSE));
+ /* Translators: this is an image size, such as 1024 Ã? 768 */
+ name = g_strdup_printf (_("%d Ã? %d"), resize_size[i].width, resize_size[i].height);
+ gtk_list_store_set (GTK_LIST_STORE (GET_WIDGET ("size_liststore")), &iter,
+ 0, name,
+ -1);
- svalue = eel_gconf_get_string (PREF_WEB_ALBUM_HEADER, "");
- gtk_entry_set_text (GTK_ENTRY (data->wa_header_entry), svalue);
- g_free (svalue);
+ g_free (name);
+ }
+ gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("resize_images_combobox")), active_index);
- svalue = eel_gconf_get_string (PREF_WEB_ALBUM_FOOTER, "");
- gtk_entry_set_text (GTK_ENTRY (data->wa_footer_entry), svalue);
- g_free (svalue);
+ active_index = 0;
+ for (i = 0, scan = gth_main_get_all_sort_types (); scan; scan = scan->next, i++) {
+ GthFileDataSort *sort_type = scan->data;
+ GtkTreeIter iter;
- svalue = get_default_theme();
- _gtk_button_set_filename_label (GTK_BUTTON (data->wa_select_theme_button), svalue);
- g_free (svalue);
+ if (g_str_equal (sort_type->name, "file::mtime"))
+ active_index = i;
- catalog_web_exporter_set_index_caption (data->exporter, eel_gconf_get_integer (PREF_WEB_ALBUM_INDEX_CAPTION, 0));
- catalog_web_exporter_set_image_caption (data->exporter, eel_gconf_get_integer (PREF_WEB_ALBUM_IMAGE_CAPTION, 0));
+ gtk_list_store_append (GTK_LIST_STORE (GET_WIDGET ("sort_liststore")), &iter);
+ gtk_list_store_set (GTK_LIST_STORE (GET_WIDGET ("sort_liststore")), &iter,
+ 0, sort_type,
+ 1, sort_type->display_name,
+ -1);
+ }
+ gtk_combo_box_set_active (GTK_COMBO_BOX (GET_WIDGET ("sort_combobox")), active_index);
- /**/
+ gtk_entry_set_text (GTK_ENTRY (GET_WIDGET ("header_entry")),
+ g_file_info_get_edit_name (gth_browser_get_location_data (browser)->info));
- svalue = eel_gconf_get_path (PREF_WEB_ALBUM_DESTINATION, NULL);
- if (svalue == NULL)
- svalue = g_strdup (g_get_home_dir ());
- gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (data->wa_destination_filechooserbutton), svalue);
- g_free (svalue);
+ update_sensitivity (data);
- /* Signals. */
+ /* Set the signals handlers. */
g_signal_connect (G_OBJECT (data->dialog),
"destroy",
G_CALLBACK (destroy_cb),
data);
- g_signal_connect (G_OBJECT (btn_help),
+ g_signal_connect (GET_WIDGET ("ok_button"),
+ "clicked",
+ G_CALLBACK (ok_clicked_cb),
+ data);
+ g_signal_connect (GET_WIDGET ("help_button"),
"clicked",
- G_CALLBACK (help_cb),
+ G_CALLBACK (help_clicked_cb),
data);
- g_signal_connect_swapped (G_OBJECT (btn_cancel),
+ g_signal_connect_swapped (GET_WIDGET ("cancel_button"),
"clicked",
G_CALLBACK (gtk_widget_destroy),
- G_OBJECT (data->dialog));
- g_signal_connect (G_OBJECT (data->btn_ok),
- "clicked",
- G_CALLBACK (export),
- data);
- g_signal_connect (G_OBJECT (data->wa_select_theme_button),
- "clicked",
- G_CALLBACK (show_album_theme_cb),
- data);
- g_signal_connect (G_OBJECT (data->wa_copy_images_checkbutton),
- "toggled",
- G_CALLBACK (copy_image_toggled_cb),
- data);
- g_signal_connect (G_OBJECT (data->wa_resize_images_checkbutton),
- "toggled",
- G_CALLBACK (resize_image_toggled_cb),
- data);
-
- g_signal_connect (G_OBJECT (data->wa_single_index_checkbutton),
- "toggled",
- G_CALLBACK (single_index_toggled_cb),
- data);
-
- g_signal_connect (G_OBJECT (data->exporter),
- "web_exporter_done",
- G_CALLBACK (export_done),
- data);
- g_signal_connect (G_OBJECT (data->exporter),
- "web_exporter_progress",
- G_CALLBACK (export_progress),
- data);
- g_signal_connect (G_OBJECT (data->exporter),
- "web_exporter_info",
- G_CALLBACK (export_info),
- data);
- g_signal_connect (G_OBJECT (data->exporter),
- "web_exporter_start_copying",
- G_CALLBACK (export_start_copying),
- data);
-
- g_signal_connect_swapped (G_OBJECT (data->progress_dialog),
- "delete_event",
- G_CALLBACK (catalog_web_exporter_interrupt),
- data->exporter);
- g_signal_connect_swapped (G_OBJECT (data->progress_cancel),
- "clicked",
- G_CALLBACK (catalog_web_exporter_interrupt),
- data->exporter);
-
- /* Run dialog. */
-
- gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser));
- gtk_window_set_modal (GTK_WINDOW (data->dialog), TRUE);
- gtk_widget_show_all (data->dialog);
-}
-
-
-
-
-typedef struct {
- DialogData *data;
- GthBrowser *browser;
-
- GladeXML *gui;
- GtkWidget *dialog;
-
- GtkWidget *wat_dialog;
- GtkWidget *wat_theme_treeview;
- GtkWidget *wat_ok_button;
- GtkWidget *wat_cancel_button;
- GtkWidget *wat_install_button;
- GtkWidget *wat_go_to_folder_button;
- GtkWidget *wat_thumbnail_caption_button;
- GtkWidget *wat_image_caption_button;
- GtkWidget *wat_preview_image;
-
- GtkListStore *list_store;
-} ThemeDialogData;
-
-
-enum {
- THEME_NAME_COLUMN,
- NUM_OF_COLUMNS
-};
-
-
-/* called when the main dialog is closed. */
-static void
-theme_dialog_destroy_cb (GtkWidget *widget,
- ThemeDialogData *tdata)
-{
- g_object_unref (tdata->gui);
- g_free (tdata);
-}
-
-
-static void
-theme_dialog__ok_clicked (GtkWidget *widget,
- ThemeDialogData *tdata)
-{
- GtkTreeSelection *selection;
- gboolean theme_selected;
- GtkTreeIter iter;
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tdata->wat_theme_treeview));
- theme_selected = gtk_tree_selection_get_selected (selection, NULL, &iter);
-
- if (theme_selected) {
- char *utf8_name;
-
- gtk_tree_model_get (GTK_TREE_MODEL (tdata->list_store),
- &iter,
- THEME_NAME_COLUMN, &utf8_name,
- -1);
- gtk_button_set_label (GTK_BUTTON (tdata->data->wa_select_theme_button), utf8_name);
- g_free (utf8_name);
- }
-
- gtk_widget_destroy (tdata->dialog);
-}
-
-
-static void
-add_theme_dir (ThemeDialogData *tdata,
- char *theme_dir)
-{
- GList *dir_list = NULL;
- GList *scan;
-
- debug (DEBUG_INFO, "theme dir: %s", theme_dir);
-
- if (path_is_dir (theme_dir))
- path_list_new (theme_dir, NULL, &dir_list);
-
- for (scan = dir_list; scan; scan = scan->next) {
- GtkTreeIter iter;
- char *dir = scan->data;
- char *display_name;
- GFile *gfile;
-
- gfile = gfile_new (dir);
- display_name = gfile_get_display_name (gfile);
-
- gtk_list_store_append (tdata->list_store, &iter);
- gtk_list_store_set (tdata->list_store, &iter,
- THEME_NAME_COLUMN, display_name,
- -1);
- g_object_unref (gfile);
- g_free (display_name);
- }
- path_list_free (dir_list);
-}
-
-
-static void
-load_themes (ThemeDialogData *tdata)
-{
- char *theme_dir;
- const char *theme_name;
- GtkTreeModel *model;
- GtkTreeSelection *selection;
- GtkTreeIter iter;
-
- theme_dir = g_build_path (G_DIR_SEPARATOR_S,
- g_get_home_dir (),
- ".gnome2",
- "gthumb/albumthemes",
- NULL);
- add_theme_dir (tdata, theme_dir);
- g_free (theme_dir);
-
- theme_dir = g_build_path (G_DIR_SEPARATOR_S,
- GTHUMB_DATADIR,
- "gthumb/albumthemes",
- NULL);
- add_theme_dir (tdata, theme_dir);
- g_free (theme_dir);
-
- /* Select the current theme */
-
- model = GTK_TREE_MODEL (tdata->list_store);
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tdata->wat_theme_treeview));
- theme_name = gtk_button_get_label (GTK_BUTTON (tdata->data->wa_select_theme_button));
- if (! gtk_tree_model_get_iter_first (model, &iter))
- return;
-
- do {
- char *utf8_name;
- gtk_tree_model_get (model, &iter,
- THEME_NAME_COLUMN, &utf8_name,
- -1);
- if (strcmp (utf8_name, theme_name) == 0)
- gtk_tree_selection_select_iter (selection, &iter);
- } while (gtk_tree_model_iter_next (model, &iter));
-}
-
-
-static void
-theme_dialog__row_activated_cb (GtkTreeView *tree_view,
- GtkTreePath *path,
- GtkTreeViewColumn *column,
- ThemeDialogData *tdata)
-{
- theme_dialog__ok_clicked (NULL, tdata);
-}
-
-
-static void
-ensure_local_theme_dir_exists (void)
-{
- char *theme_dir;
-
- theme_dir = build_uri (get_home_uri (),
- ".gnome2",
- "gthumb/albumthemes",
- NULL);
-
- dir_make (theme_dir);
-
- g_free (theme_dir);
-}
-
-
-static void
-install_theme__ok_cb (GtkDialog *file_sel,
- int button_number,
- gpointer data)
-{
- ThemeDialogData *tdata;
- char *theme_archive;
- char *command_line = NULL;
- GError *err = NULL;
-
- tdata = g_object_get_data (G_OBJECT (file_sel), "theme_dialog_data");
- theme_archive = g_strdup (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (file_sel)));
-
- gtk_widget_destroy (GTK_WIDGET (file_sel));
-
- if (theme_archive == NULL)
- return;
-
- /**/
-
- ensure_local_theme_dir_exists ();
-
- if (file_extension_is (theme_archive, ".tar.gz")
- || file_extension_is (theme_archive, ".tgz"))
- command_line = g_strdup_printf ("tar -C %s%s -zxf %s",
- g_get_home_dir (),
- "/.gnome2/gthumb/albumthemes",
- theme_archive);
-
- else if (file_extension_is (theme_archive, ".tar.bz2"))
- command_line = g_strdup_printf ("tar -C %s%s -xf %s --use-compress-program bzip2",
- g_get_home_dir (),
- "/.gnome2/gthumb/albumthemes",
- theme_archive);
-
- if ((command_line != NULL)
- && ! g_spawn_command_line_sync (command_line, NULL, NULL, NULL, &err)
- && (err != NULL))
- _gtk_error_dialog_from_gerror_run (NULL, &err);
-
- g_free (command_line);
- g_free (theme_archive);
-
- /**/
-
- gtk_list_store_clear (tdata->list_store);
- load_themes (tdata);
-}
-
-
-static void
-install_theme_response_cb (GtkDialog *file_sel,
- int button_number,
- gpointer userdata)
-{
- if (button_number == GTK_RESPONSE_ACCEPT)
- install_theme__ok_cb (file_sel, button_number, userdata);
- else
- gtk_widget_destroy (GTK_WIDGET (file_sel));
-}
-
-
-static void
-theme_dialog__install_theme_clicked (GtkWidget *widget,
- ThemeDialogData *tdata)
-{
- GtkWidget *file_sel;
-
- file_sel = gtk_file_chooser_dialog_new (_("Select Album Theme"),
- GTK_WINDOW (tdata->dialog),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (file_sel), FALSE);
- gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_sel), g_get_home_dir ());
- gtk_dialog_set_default_response (GTK_DIALOG (file_sel), GTK_RESPONSE_ACCEPT);
-
- g_object_set_data (G_OBJECT (file_sel), "theme_dialog_data", tdata);
-
- g_signal_connect (G_OBJECT (file_sel),
- "response",
- G_CALLBACK (install_theme_response_cb),
- NULL);
-
- gtk_window_set_modal (GTK_WINDOW (file_sel), TRUE);
- gtk_widget_show (file_sel);
-}
-
-
-static void
-theme_dialog__go_to_folder_clicked (GtkWidget *widget,
- ThemeDialogData *tdata)
-{
- char *path;
- GError *err = NULL;
-
- path = g_strdup_printf ("file://%s/.gnome2/gthumb/albumthemes",
- g_get_home_dir ());
-
- ensure_dir_exists (path, 0775);
-
- if (! gnome_url_show (path, &err))
- _gtk_error_dialog_from_gerror_run (GTK_WINDOW (tdata->dialog),
- &err);
- g_free (path);
-}
-
-
-/* called when an item of the catalog list is selected. */
-static void
-theme_dialog__sel_changed_cb (GtkTreeSelection *selection,
- gpointer p)
-{
- ThemeDialogData *tdata = p;
- gboolean theme_selected;
- GtkTreeIter iter;
- char *utf8_name;
- char *theme, *path;
-
- theme_selected = gtk_tree_selection_get_selected (selection, NULL, &iter);
-
- if (!theme_selected)
- return;
-
- gtk_tree_model_get (GTK_TREE_MODEL (tdata->list_store),
- &iter,
- THEME_NAME_COLUMN, &utf8_name,
- -1);
-
- theme = gnome_vfs_escape_string (utf8_name);
- path = g_build_path (G_DIR_SEPARATOR_S,
- g_get_home_dir (),
- ".gnome2",
- "gthumb/albumthemes",
- theme,
- NULL);
-
- if (!path_is_dir (path)) {
- g_free (path);
- path = g_build_path (G_DIR_SEPARATOR_S,
- GTHUMB_DATADIR,
- "gthumb/albumthemes",
- theme,
- NULL);
- }
-
- if (path_is_dir (path)) {
- char *filename;
- GdkPixbuf *image = NULL;
-
- filename = build_uri (path, "preview.png", NULL);
- if (path_is_file (filename)
- && ((image = gdk_pixbuf_new_from_file (filename, NULL)) != NULL)) {
- int w = gdk_pixbuf_get_width (image);
- int h = gdk_pixbuf_get_height (image);
- if (scale_keeping_ratio (&w, &h, MAX_PREVIEW_SIZE, MAX_PREVIEW_SIZE, FALSE)) {
- GdkPixbuf *tmp = image;
- image = gdk_pixbuf_scale_simple (tmp, w, h, GDK_INTERP_BILINEAR);
- g_object_unref (tmp);
- }
- gtk_image_set_from_pixbuf (GTK_IMAGE (tdata->wat_preview_image), image);
- }
- else
- gtk_image_set_from_stock (GTK_IMAGE (tdata->wat_preview_image), GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_BUTTON);
-
- g_free (filename);
- if (image != NULL)
- g_object_unref (image);
- }
-
- g_free (utf8_name);
- g_free (path);
- g_free (theme);
-}
-
-
-static void show_thumbnail_caption_dialog_cb (GtkWidget *widget, ThemeDialogData *data);
-static void show_image_caption_dialog_cb (GtkWidget *widget, ThemeDialogData *data);
-
-
-static void
-show_album_theme_cb (GtkWidget *widget,
- DialogData *data)
-{
- ThemeDialogData *tdata;
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
- GtkTreeSelection *selection;
-
- tdata = g_new (ThemeDialogData, 1);
-
- tdata->data = data;
- tdata->browser = data->browser;
-
- tdata->gui = glade_xml_new (GTHUMB_GLADEDIR "/" GLADE_EXPORTER_FILE, NULL, NULL);
- if (!tdata->gui) {
- g_free (tdata);
- g_warning ("Could not find " GLADE_EXPORTER_FILE "\n");
- return;
- }
-
- /* Get the widgets. */
-
- tdata->dialog = glade_xml_get_widget (tdata->gui, "web_album_theme_dialog");
- tdata->wat_theme_treeview = glade_xml_get_widget (tdata->gui, "wat_theme_treeview");
- tdata->wat_ok_button = glade_xml_get_widget (tdata->gui, "wat_ok_button");
- tdata->wat_cancel_button = glade_xml_get_widget (tdata->gui, "wat_cancel_button");
- tdata->wat_install_button = glade_xml_get_widget (tdata->gui, "wat_install_button");
- tdata->wat_go_to_folder_button = glade_xml_get_widget (tdata->gui, "wat_go_to_folder_button");
- tdata->wat_thumbnail_caption_button = glade_xml_get_widget (tdata->gui, "wat_thumbnail_caption_button");
- tdata->wat_image_caption_button = glade_xml_get_widget (tdata->gui, "wat_image_caption_button");
- tdata->wat_preview_image = glade_xml_get_widget (tdata->gui, "wat_preview_image");
-
- /* Signals. */
-
- g_signal_connect (G_OBJECT (tdata->dialog),
- "destroy",
- G_CALLBACK (theme_dialog_destroy_cb),
- tdata);
- g_signal_connect_swapped (G_OBJECT (tdata->wat_cancel_button),
+ data->dialog);
+ g_signal_connect_swapped (GET_WIDGET ("copy_images_checkbutton"),
"clicked",
- G_CALLBACK (gtk_widget_destroy),
- G_OBJECT (tdata->dialog));
- g_signal_connect (G_OBJECT (tdata->wat_ok_button),
- "clicked",
- G_CALLBACK (theme_dialog__ok_clicked),
- tdata);
- g_signal_connect (G_OBJECT (tdata->wat_theme_treeview),
- "row_activated",
- G_CALLBACK (theme_dialog__row_activated_cb),
- tdata);
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tdata->wat_theme_treeview));
- g_signal_connect (G_OBJECT (selection),
- "changed",
- G_CALLBACK (theme_dialog__sel_changed_cb),
- tdata);
-
- g_signal_connect (G_OBJECT (tdata->wat_install_button),
- "clicked",
- G_CALLBACK (theme_dialog__install_theme_clicked),
- tdata);
- g_signal_connect (G_OBJECT (tdata->wat_go_to_folder_button),
- "clicked",
- G_CALLBACK (theme_dialog__go_to_folder_clicked),
- tdata);
- g_signal_connect (G_OBJECT (tdata->wat_thumbnail_caption_button),
- "clicked",
- G_CALLBACK (show_thumbnail_caption_dialog_cb),
- tdata);
- g_signal_connect (G_OBJECT (tdata->wat_image_caption_button),
- "clicked",
- G_CALLBACK (show_image_caption_dialog_cb),
- tdata);
-
- /* Set widgets data. */
-
- tdata->list_store = gtk_list_store_new (NUM_OF_COLUMNS, G_TYPE_STRING);
- gtk_tree_view_set_model (GTK_TREE_VIEW (tdata->wat_theme_treeview), GTK_TREE_MODEL (tdata->list_store));
- g_object_unref (tdata->list_store);
-
- gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (tdata->wat_theme_treeview), FALSE);
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tdata->wat_theme_treeview), FALSE);
-
- column = gtk_tree_view_column_new ();
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_column_pack_start (column, renderer, TRUE);
- gtk_tree_view_column_set_attributes (column, renderer,
- "text", THEME_NAME_COLUMN,
- NULL);
-
- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
- gtk_tree_view_column_set_sort_column_id (column, THEME_NAME_COLUMN);
- gtk_tree_view_append_column (GTK_TREE_VIEW (tdata->wat_theme_treeview), column);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (tdata->list_store), THEME_NAME_COLUMN, GTK_SORT_ASCENDING);
-
- load_themes (tdata);
-
- /* Run dialog. */
-
- gtk_widget_grab_focus (tdata->wat_theme_treeview);
-
- gtk_window_set_transient_for (GTK_WINDOW (tdata->dialog), GTK_WINDOW (data->dialog));
- gtk_window_set_modal (GTK_WINDOW (tdata->dialog), TRUE);
- gtk_widget_show_all (tdata->dialog);
-}
-
-
-typedef struct {
- DialogData *data;
- GthBrowser *browser;
-
- GladeXML *gui;
- GtkWidget *dialog;
-
- GtkWidget *c_comment_checkbutton;
- GtkWidget *c_place_checkbutton;
- GtkWidget *c_date_time_checkbutton;
- GtkWidget *c_imagedim_checkbutton;
- GtkWidget *c_filename_checkbutton;
- GtkWidget *c_filesize_checkbutton;
-
- GtkWidget *c_exif_date_time_checkbutton;
- GtkWidget *c_exif_exposure_time_checkbutton;
- GtkWidget *c_exif_exposure_mode_checkbutton;
- GtkWidget *c_exif_flash_checkbutton;
- GtkWidget *c_exif_shutter_speed_checkbutton;
- GtkWidget *c_exif_aperture_value_checkbutton;
- GtkWidget *c_exif_focal_length_checkbutton;
- GtkWidget *c_exif_camera_model_checkbutton;
-
- gboolean thumbnail_caption;
-} CaptionDialogData;
-
-
-/* called when the dialog is closed. */
-static void
-caption_dialog_destroy_cb (GtkWidget *widget,
- CaptionDialogData *cdata)
-{
- g_object_unref (cdata->gui);
- g_free (cdata);
-}
-
-
-static void
-caption_dialog__ok_clicked (GtkWidget *widget,
- CaptionDialogData *cdata)
-{
- const char *gconf_key;
- GthCaptionFields caption = 0;
-
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_comment_checkbutton)))
- caption |= GTH_CAPTION_COMMENT;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_place_checkbutton)))
- caption |= GTH_CAPTION_PLACE;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_date_time_checkbutton)))
- caption |= GTH_CAPTION_DATE_TIME;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_imagedim_checkbutton)))
- caption |= GTH_CAPTION_IMAGE_DIM;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_filename_checkbutton)))
- caption |= GTH_CAPTION_FILE_NAME;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_filesize_checkbutton)))
- caption |= GTH_CAPTION_FILE_SIZE;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_date_time_checkbutton)))
- caption |= GTH_CAPTION_EXIF_DATE_TIME;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_exposure_time_checkbutton)))
- caption |= GTH_CAPTION_EXIF_EXPOSURE_TIME;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_exposure_mode_checkbutton)))
- caption |= GTH_CAPTION_EXIF_EXPOSURE_MODE;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_flash_checkbutton)))
- caption |= GTH_CAPTION_EXIF_FLASH;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_shutter_speed_checkbutton)))
- caption |= GTH_CAPTION_EXIF_SHUTTER_SPEED;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_aperture_value_checkbutton)))
- caption |= GTH_CAPTION_EXIF_APERTURE_VALUE;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_focal_length_checkbutton)))
- caption |= GTH_CAPTION_EXIF_FOCAL_LENGTH;
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->c_exif_camera_model_checkbutton)))
- caption |= GTH_CAPTION_EXIF_CAMERA_MODEL;
-
- if (cdata->thumbnail_caption) {
- catalog_web_exporter_set_index_caption (cdata->data->exporter, caption);
- gconf_key = PREF_WEB_ALBUM_INDEX_CAPTION;
- } else {
- catalog_web_exporter_set_image_caption (cdata->data->exporter, caption);
- gconf_key = PREF_WEB_ALBUM_IMAGE_CAPTION;
- }
-
- eel_gconf_set_integer (gconf_key, caption);
-
- gtk_widget_destroy (cdata->dialog);
-}
-
-
-static void
-show_caption_dialog_cb (GtkWidget *widget,
- ThemeDialogData *tdata,
- gboolean thumbnail_caption)
-{
- CaptionDialogData *cdata;
- GtkWidget *ok_button;
- GtkWidget *cancel_button;
- const char *gconf_key;
- GthCaptionFields caption = 0;
- cdata = g_new (CaptionDialogData, 1);
-
- cdata->data = tdata->data;
- cdata->browser = tdata->browser;
- cdata->thumbnail_caption = thumbnail_caption;
-
- cdata->gui = glade_xml_new (GTHUMB_GLADEDIR "/" GLADE_EXPORTER_FILE, NULL, NULL);
- if (!cdata->gui) {
- g_free (cdata);
- g_warning ("Could not find " GLADE_EXPORTER_FILE "\n");
- return;
- }
-
- /* Get the widgets. */
-
- cdata->dialog = glade_xml_get_widget (cdata->gui, "caption_dialog");
- cdata->c_comment_checkbutton = glade_xml_get_widget (cdata->gui, "c_comment_checkbutton");
- cdata->c_place_checkbutton = glade_xml_get_widget (cdata->gui, "c_place_checkbutton");
- cdata->c_date_time_checkbutton = glade_xml_get_widget (cdata->gui, "c_date_time_checkbutton");
- cdata->c_imagedim_checkbutton = glade_xml_get_widget (cdata->gui, "c_imagedim_checkbutton");
- cdata->c_filename_checkbutton = glade_xml_get_widget (cdata->gui, "c_filename_checkbutton");
- cdata->c_filesize_checkbutton = glade_xml_get_widget (cdata->gui, "c_filesize_checkbutton");
- cdata->c_exif_date_time_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_date_time_checkbutton");
- cdata->c_exif_exposure_time_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_exposure_time_checkbutton");
- cdata->c_exif_exposure_mode_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_exposure_mode_checkbutton");
- cdata->c_exif_flash_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_flash_checkbutton");
- cdata->c_exif_shutter_speed_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_shutter_speed_checkbutton");
- cdata->c_exif_aperture_value_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_aperture_value_checkbutton");
- cdata->c_exif_focal_length_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_focal_length_checkbutton");
- cdata->c_exif_camera_model_checkbutton = glade_xml_get_widget (cdata->gui, "c_exif_camera_model_checkbutton");
-
- ok_button = glade_xml_get_widget (cdata->gui, "c_okbutton");
- cancel_button = glade_xml_get_widget (cdata->gui, "c_cancelbutton");
-
- /* Signals. */
-
- g_signal_connect (G_OBJECT (cdata->dialog),
- "destroy",
- G_CALLBACK (caption_dialog_destroy_cb),
- cdata);
- g_signal_connect_swapped (G_OBJECT (cancel_button),
+ G_CALLBACK (update_sensitivity),
+ data);
+ g_signal_connect_swapped (GET_WIDGET ("resize_images_checkbutton"),
"clicked",
- G_CALLBACK (gtk_widget_destroy),
- G_OBJECT (cdata->dialog));
- g_signal_connect (G_OBJECT (ok_button),
- "clicked",
- G_CALLBACK (caption_dialog__ok_clicked),
- cdata);
-
- /* Set widgets data. */
-
- if (cdata->thumbnail_caption)
- gconf_key = PREF_WEB_ALBUM_INDEX_CAPTION;
- else
- gconf_key = PREF_WEB_ALBUM_IMAGE_CAPTION;
- caption = eel_gconf_get_integer (gconf_key, 0);
-
- if (caption & GTH_CAPTION_COMMENT)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_comment_checkbutton), TRUE);
- if (caption & GTH_CAPTION_PLACE)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_place_checkbutton), TRUE);
- if (caption & GTH_CAPTION_DATE_TIME)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_date_time_checkbutton), TRUE);
- if (caption & GTH_CAPTION_IMAGE_DIM)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_imagedim_checkbutton), TRUE);
- if (caption & GTH_CAPTION_FILE_NAME)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_filename_checkbutton), TRUE);
- if (caption & GTH_CAPTION_FILE_SIZE)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_filesize_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_DATE_TIME)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_date_time_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_EXPOSURE_TIME)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_exposure_time_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_EXPOSURE_MODE)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_exposure_mode_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_FLASH)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_flash_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_SHUTTER_SPEED)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_shutter_speed_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_APERTURE_VALUE)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_aperture_value_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_FOCAL_LENGTH)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_focal_length_checkbutton), TRUE);
- if (caption & GTH_CAPTION_EXIF_CAMERA_MODEL)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cdata->c_exif_camera_model_checkbutton), TRUE);
-
+ G_CALLBACK (update_sensitivity),
+ data);
+ g_signal_connect (GET_WIDGET ("footer_entry"),
+ "icon-press",
+ G_CALLBACK (footer_entry_icon_press_cb),
+ data);
/* Run dialog. */
- gtk_window_set_transient_for (GTK_WINDOW (cdata->dialog), GTK_WINDOW (tdata->dialog));
- gtk_window_set_modal (GTK_WINDOW (cdata->dialog), TRUE);
- gtk_widget_show (cdata->dialog);
-}
-
-
-static void
-show_thumbnail_caption_dialog_cb (GtkWidget *widget,
- ThemeDialogData *data)
-{
- show_caption_dialog_cb (widget, data, TRUE);
-}
-
-
-static void
-show_image_caption_dialog_cb (GtkWidget *widget,
- ThemeDialogData *data)
-{
- show_caption_dialog_cb (widget, data, FALSE);
+ gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (browser));
+ gtk_window_set_modal (GTK_WINDOW (data->dialog), FALSE);
+ gtk_widget_show (data->dialog);
}
diff --git a/extensions/webalbums/dlg-web-exporter.h b/extensions/webalbums/dlg-web-exporter.h
index bc5e950..c7a3a33 100644
--- a/extensions/webalbums/dlg-web-exporter.h
+++ b/extensions/webalbums/dlg-web-exporter.h
@@ -3,7 +3,7 @@
/*
* GThumb
*
- * Copyright (C) 2003 Free Software Foundation, Inc.
+ * Copyright (C) 2003-2010 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,8 +23,8 @@
#ifndef DLG_WEB_EXPORTER_H
#define DLG_WEB_EXPORTER_H
-#include "gth-browser.h"
+#include <gthumb.h>
-void dlg_web_exporter (GthBrowser *browser);
+void dlg_web_exporter (GthBrowser *browser);
#endif /* DLG_WEB_EXPORTER_H */
diff --git a/extensions/webalbums/main.c b/extensions/webalbums/main.c
new file mode 100644
index 0000000..41efae6
--- /dev/null
+++ b/extensions/webalbums/main.c
@@ -0,0 +1,54 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/*
+ * GThumb
+ *
+ * Copyright (C) 2010 Free Software Foundation, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+ */
+
+
+#include <config.h>
+#include <gtk/gtk.h>
+#include <gthumb.h>
+#include "callbacks.h"
+
+
+G_MODULE_EXPORT void
+gthumb_extension_activate (void)
+{
+ gth_hook_add_callback ("gth-browser-construct", 70, G_CALLBACK (wa__gth_browser_construct_cb), NULL);
+ /*gth_hook_add_callback ("gth-browser-update-sensitivity", 10, G_CALLBACK (wa__gth_browser_update_sensitivity_cb), NULL);*/
+}
+
+
+G_MODULE_EXPORT void
+gthumb_extension_deactivate (void)
+{
+}
+
+
+G_MODULE_EXPORT gboolean
+gthumb_extension_is_configurable (void)
+{
+ return FALSE;
+}
+
+
+G_MODULE_EXPORT void
+gthumb_extension_configure (GtkWindow *parent)
+{
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]