[gthumb] save and restore the "fit window to image" option
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] save and restore the "fit window to image" option
- Date: Sat, 7 Aug 2010 14:26:34 +0000 (UTC)
commit 6a5db65c3176099e3ca60c039a6c409534a1c288
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sat Aug 7 12:08:42 2010 +0200
save and restore the "fit window to image" option
.../data/gthumb-image-viewer.schemas.in | 13 +++++++++
extensions/image_viewer/gth-image-viewer-page.c | 29 +++++++++++++++++--
extensions/image_viewer/preferences.h | 1 +
3 files changed, 40 insertions(+), 3 deletions(-)
---
diff --git a/extensions/image_viewer/data/gthumb-image-viewer.schemas.in b/extensions/image_viewer/data/gthumb-image-viewer.schemas.in
index 4f7fd33..30d2222 100644
--- a/extensions/image_viewer/data/gthumb-image-viewer.schemas.in
+++ b/extensions/image_viewer/data/gthumb-image-viewer.schemas.in
@@ -93,5 +93,18 @@
</locale>
</schema>
+ <schema>
+ <key>/schemas/apps/gthumb/viewer/shrink_wrap</key>
+ <applyto>/apps/gthumb/viewer/shrink_wrap</applyto>
+ <owner>gthumb</owner>
+ <type>bool</type>
+ <default>false</default>
+ <locale name="C">
+ <short></short>
+ <long> Whether to resize the window to fit the size of the image
+ </long>
+ </locale>
+ </schema>
+
</schemalist>
</gconfschemafile>
diff --git a/extensions/image_viewer/gth-image-viewer-page.c b/extensions/image_viewer/gth-image-viewer-page.c
index 9b4c38f..6feb1ef 100644
--- a/extensions/image_viewer/gth-image-viewer-page.c
+++ b/extensions/image_viewer/gth-image-viewer-page.c
@@ -25,10 +25,10 @@
#include <gdk/gdkkeysyms.h>
#include <gthumb.h>
#include "gth-image-viewer-page.h"
-
+#include "preferences.h"
#define GTH_IMAGE_VIEWER_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTH_TYPE_IMAGE_VIEWER_PAGE, GthImageViewerPagePrivate))
-#define GCONF_NOTIFICATIONS 7
+#define GCONF_NOTIFICATIONS 8
struct _GthImageViewerPagePrivate {
@@ -152,7 +152,7 @@ static void
image_viewer_activate_action_view_shrink_wrap (GtkAction *action,
GthImageViewerPage *self)
{
- gth_image_viewer_page_shrink_wrap (self, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
+ eel_gconf_set_boolean (PREF_VIEWER_SHRINK_WRAP, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
}
@@ -404,10 +404,23 @@ pref_reset_scrollbars_changed (GConfClient *client,
static void
+pref_viewer_shrink_wrap_changed (GConfClient *client,
+ guint cnxn_id,
+ GConfEntry *entry,
+ gpointer user_data)
+{
+ GthImageViewerPage *self = user_data;
+
+ gth_image_viewer_page_shrink_wrap (self, eel_gconf_get_boolean (PREF_VIEWER_SHRINK_WRAP, FALSE));
+}
+
+
+static void
gth_image_viewer_page_real_activate (GthViewerPage *base,
GthBrowser *browser)
{
GthImageViewerPage *self;
+ GtkAction *action;
int i;
self = (GthImageViewerPage*) base;
@@ -441,6 +454,11 @@ gth_image_viewer_page_real_activate (GthViewerPage *base,
gth_image_viewer_set_black_background (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_BLACK_BACKGROUND, FALSE));
gth_image_viewer_set_reset_scrollbars (GTH_IMAGE_VIEWER (self->priv->viewer), eel_gconf_get_boolean (PREF_RESET_SCROLLBARS, TRUE));
+ self->priv->shrink_wrap = eel_gconf_get_boolean (PREF_VIEWER_SHRINK_WRAP, FALSE);
+ action = gtk_action_group_get_action (self->priv->actions, "ImageViewer_View_ShrinkWrap");
+ if (action != NULL)
+ g_object_set (action, "active", self->priv->shrink_wrap, NULL);
+
gtk_widget_show (self->priv->viewer);
g_signal_connect (G_OBJECT (self->priv->viewer),
@@ -518,6 +536,11 @@ gth_image_viewer_page_real_activate (GthViewerPage *base,
PREF_RESET_SCROLLBARS,
pref_reset_scrollbars_changed,
self);
+
+ self->priv->cnxn_id[i++] = eel_gconf_notification_add (
+ PREF_VIEWER_SHRINK_WRAP,
+ pref_viewer_shrink_wrap_changed,
+ self);
}
diff --git a/extensions/image_viewer/preferences.h b/extensions/image_viewer/preferences.h
index c9d878d..d9f3c1f 100644
--- a/extensions/image_viewer/preferences.h
+++ b/extensions/image_viewer/preferences.h
@@ -32,6 +32,7 @@
#define PREF_VIEWER_CHECK_TYPE "/apps/gthumb/viewer/check_type"
#define PREF_VIEWER_CHECK_SIZE "/apps/gthumb/viewer/check_size"
#define PREF_VIEWER_BLACK_BACKGROUND "/apps/gthumb/viewer/black_background"
+#define PREF_VIEWER_SHRINK_WRAP "/apps/gthumb/viewer/shrink_wrap"
void image_viewer__dlg_preferences_construct_cb (GtkWidget *dialog,
GthBrowser *browser,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]