[Xfce4-commits] ristretto:ristretto-0.0 Implement bgcolor settings

2011-10-23 Thread Stephan Arts
Updating branch refs/heads/ristretto-0.0
 to be4b10beab50a7a9e3ceb6e84fbfd65cd223395f (commit)
   from c2a9945bcada416a23698705f6402560405c756c (commit)

commit be4b10beab50a7a9e3ceb6e84fbfd65cd223395f
Author: Stephan Arts step...@xfce.org
Date:   Wed Apr 22 00:40:08 2009 +0200

Implement bgcolor settings

 src/picture_viewer.c |   14 -
 src/preferences_dialog.c |   71 ++
 src/settings.c   |  127 --
 3 files changed, 184 insertions(+), 28 deletions(-)

diff --git a/src/picture_viewer.c b/src/picture_viewer.c
index 1d5d0b1..9b803a1 100644
--- a/src/picture_viewer.c
+++ b/src/picture_viewer.c
@@ -27,6 +27,7 @@
 
 #include image.h
 #include picture_viewer.h
+#include settings.h
 
 typedef enum
 {
@@ -389,10 +390,18 @@ rstto_picture_viewer_expose(GtkWidget *widget, 
GdkEventExpose *event)
 static void
 rstto_picture_viewer_paint (GtkWidget *widget)
 {
+RsttoSettings *settings_manager = rstto_settings_new();
 RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER(widget);
 GdkPixbuf *pixbuf = viewer-priv-dst_pixbuf;
 GdkColor color;
 GdkColor line_color;
+GValue bg_color = {0, }, bg_color_override = {0, };
+g_value_init (bg_color, GDK_TYPE_COLOR);
+g_value_init (bg_color_override, G_TYPE_BOOLEAN);
+
+g_object_get_property (G_OBJECT(settings_manager), bgcolor, bg_color);
+g_object_get_property (G_OBJECT(settings_manager), bgcolor-override, 
bg_color_override);
+
 
 color.pixel = 0x0;
 line_color.pixel = 0x0;
@@ -405,9 +414,9 @@ rstto_picture_viewer_paint (GtkWidget *widget)
 GdkPixmap *buffer = gdk_pixmap_new(NULL, widget-allocation.width, 
widget-allocation.height, gdk_drawable_get_depth(widget-window));
 GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(buffer));
 
-if (viewer-priv-bg_color)
+if (g_value_get_boxed (bg_color)  g_value_get_boolean 
(bg_color_override))
 {
-gdk_gc_set_foreground(gc, viewer-priv-bg_color);
+gdk_gc_set_foreground(gc, g_value_get_boxed (bg_color));
 }
 else
 {
@@ -561,6 +570,7 @@ rstto_picture_viewer_paint (GtkWidget *widget)
 widget-allocation.height);
 g_object_unref(buffer);
}
+   g_object_unref (settings_manager);
 }
 
 static void
diff --git a/src/preferences_dialog.c b/src/preferences_dialog.c
index 62559b7..917c89f 100644
--- a/src/preferences_dialog.c
+++ b/src/preferences_dialog.c
@@ -29,6 +29,12 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *);
 static void
 rstto_preferences_dialog_class_init(RsttoPreferencesDialogClass *);
 
+
+static void
+cb_rstto_preferences_dialog_bgcolor_override_toggled (GtkToggleButton *, 
gpointer);
+static void
+cb_rstto_preferences_dialog_bgcolor_color_set (GtkColorButton *, gpointer);
+
 static GtkWidgetClass *parent_class = NULL;
 
 GType
@@ -68,7 +74,7 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
 GtkWidget *bgcolor_frame, *bgcolor_vbox, *bgcolor_hbox, *bgcolor_button;
 GtkWidget *cache_frame, *cache_vbox;
 GtkWidget *scaling_frame, *scaling_vbox;
-GtkObject *cache_hbox, *cache_adjustment, *cache_spin_button, 
*cache_preload_check_button;
+GtkWidget *cache_hbox, *cache_adjustment, *cache_spin_button, 
*cache_preload_check_button;
 GtkWidget *toolbar_vbox, *toolbar_frame;
 
 GtkWidget *widget;
@@ -85,9 +91,13 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
 widget = gtk_check_button_new_with_label (_(Override background color:));
 bgcolor_hbox = gtk_hbox_new(FALSE, 4);
 bgcolor_button = gtk_color_button_new();
-gtk_container_add (GTK_CONTAINER (bgcolor_hbox), widget);
-gtk_container_add (GTK_CONTAINER (bgcolor_hbox), bgcolor_button);
-gtk_container_add (GTK_CONTAINER (bgcolor_vbox), bgcolor_hbox);
+gtk_box_pack_start (GTK_BOX (bgcolor_hbox), widget, FALSE, FALSE, 0);
+gtk_box_pack_start (GTK_BOX (bgcolor_hbox), bgcolor_button, FALSE, FALSE, 
0);
+gtk_box_pack_start (GTK_BOX (bgcolor_vbox), bgcolor_hbox, FALSE, FALSE, 0);
+
+/* connect signals */
+g_signal_connect (G_OBJECT (widget), toggled, 
(GCallback)cb_rstto_preferences_dialog_bgcolor_override_toggled, 
bgcolor_button);
+g_signal_connect (G_OBJECT (bgcolor_button), color-set, G_CALLBACK 
(cb_rstto_preferences_dialog_bgcolor_color_set), NULL);
 
 cache_vbox = gtk_vbox_new(FALSE, 0);
 cache_frame = xfce_create_framebox_with_content (_(Image cache), 
cache_vbox);
@@ -98,8 +108,8 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
 cache_hbox = gtk_hbox_new(FALSE, 4);
 cache_spin_button = gtk_spin_button_new(GTK_ADJUSTMENT(cache_adjustment), 
1.0, 0);
 cache_preload_check_button = gtk_check_button_new_with_label (_(Preload 
images));
-gtk_container_add (GTK_CONTAINER (cache_hbox), widget);
-gtk_container_add (GTK_CONTAINER (cache_hbox), cache_spin_button);
+

[Xfce4-commits] ristretto:ristretto-0.0 Implement bgcolor settings

2011-10-23 Thread Stephan Arts
Updating branch refs/heads/ristretto-0.0
 to be4b10beab50a7a9e3ceb6e84fbfd65cd223395f (commit)
   from c2a9945bcada416a23698705f6402560405c756c (commit)

commit be4b10beab50a7a9e3ceb6e84fbfd65cd223395f
Author: Stephan Arts step...@xfce.org
Date:   Wed Apr 22 00:40:08 2009 +0200

Implement bgcolor settings

 src/picture_viewer.c |   14 -
 src/preferences_dialog.c |   71 ++
 src/settings.c   |  127 --
 3 files changed, 184 insertions(+), 28 deletions(-)

diff --git a/src/picture_viewer.c b/src/picture_viewer.c
index 1d5d0b1..9b803a1 100644
--- a/src/picture_viewer.c
+++ b/src/picture_viewer.c
@@ -27,6 +27,7 @@
 
 #include image.h
 #include picture_viewer.h
+#include settings.h
 
 typedef enum
 {
@@ -389,10 +390,18 @@ rstto_picture_viewer_expose(GtkWidget *widget, 
GdkEventExpose *event)
 static void
 rstto_picture_viewer_paint (GtkWidget *widget)
 {
+RsttoSettings *settings_manager = rstto_settings_new();
 RsttoPictureViewer *viewer = RSTTO_PICTURE_VIEWER(widget);
 GdkPixbuf *pixbuf = viewer-priv-dst_pixbuf;
 GdkColor color;
 GdkColor line_color;
+GValue bg_color = {0, }, bg_color_override = {0, };
+g_value_init (bg_color, GDK_TYPE_COLOR);
+g_value_init (bg_color_override, G_TYPE_BOOLEAN);
+
+g_object_get_property (G_OBJECT(settings_manager), bgcolor, bg_color);
+g_object_get_property (G_OBJECT(settings_manager), bgcolor-override, 
bg_color_override);
+
 
 color.pixel = 0x0;
 line_color.pixel = 0x0;
@@ -405,9 +414,9 @@ rstto_picture_viewer_paint (GtkWidget *widget)
 GdkPixmap *buffer = gdk_pixmap_new(NULL, widget-allocation.width, 
widget-allocation.height, gdk_drawable_get_depth(widget-window));
 GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(buffer));
 
-if (viewer-priv-bg_color)
+if (g_value_get_boxed (bg_color)  g_value_get_boolean 
(bg_color_override))
 {
-gdk_gc_set_foreground(gc, viewer-priv-bg_color);
+gdk_gc_set_foreground(gc, g_value_get_boxed (bg_color));
 }
 else
 {
@@ -561,6 +570,7 @@ rstto_picture_viewer_paint (GtkWidget *widget)
 widget-allocation.height);
 g_object_unref(buffer);
}
+   g_object_unref (settings_manager);
 }
 
 static void
diff --git a/src/preferences_dialog.c b/src/preferences_dialog.c
index 62559b7..917c89f 100644
--- a/src/preferences_dialog.c
+++ b/src/preferences_dialog.c
@@ -29,6 +29,12 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *);
 static void
 rstto_preferences_dialog_class_init(RsttoPreferencesDialogClass *);
 
+
+static void
+cb_rstto_preferences_dialog_bgcolor_override_toggled (GtkToggleButton *, 
gpointer);
+static void
+cb_rstto_preferences_dialog_bgcolor_color_set (GtkColorButton *, gpointer);
+
 static GtkWidgetClass *parent_class = NULL;
 
 GType
@@ -68,7 +74,7 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
 GtkWidget *bgcolor_frame, *bgcolor_vbox, *bgcolor_hbox, *bgcolor_button;
 GtkWidget *cache_frame, *cache_vbox;
 GtkWidget *scaling_frame, *scaling_vbox;
-GtkObject *cache_hbox, *cache_adjustment, *cache_spin_button, 
*cache_preload_check_button;
+GtkWidget *cache_hbox, *cache_adjustment, *cache_spin_button, 
*cache_preload_check_button;
 GtkWidget *toolbar_vbox, *toolbar_frame;
 
 GtkWidget *widget;
@@ -85,9 +91,13 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
 widget = gtk_check_button_new_with_label (_(Override background color:));
 bgcolor_hbox = gtk_hbox_new(FALSE, 4);
 bgcolor_button = gtk_color_button_new();
-gtk_container_add (GTK_CONTAINER (bgcolor_hbox), widget);
-gtk_container_add (GTK_CONTAINER (bgcolor_hbox), bgcolor_button);
-gtk_container_add (GTK_CONTAINER (bgcolor_vbox), bgcolor_hbox);
+gtk_box_pack_start (GTK_BOX (bgcolor_hbox), widget, FALSE, FALSE, 0);
+gtk_box_pack_start (GTK_BOX (bgcolor_hbox), bgcolor_button, FALSE, FALSE, 
0);
+gtk_box_pack_start (GTK_BOX (bgcolor_vbox), bgcolor_hbox, FALSE, FALSE, 0);
+
+/* connect signals */
+g_signal_connect (G_OBJECT (widget), toggled, 
(GCallback)cb_rstto_preferences_dialog_bgcolor_override_toggled, 
bgcolor_button);
+g_signal_connect (G_OBJECT (bgcolor_button), color-set, G_CALLBACK 
(cb_rstto_preferences_dialog_bgcolor_color_set), NULL);
 
 cache_vbox = gtk_vbox_new(FALSE, 0);
 cache_frame = xfce_create_framebox_with_content (_(Image cache), 
cache_vbox);
@@ -98,8 +108,8 @@ rstto_preferences_dialog_init(RsttoPreferencesDialog *dialog)
 cache_hbox = gtk_hbox_new(FALSE, 4);
 cache_spin_button = gtk_spin_button_new(GTK_ADJUSTMENT(cache_adjustment), 
1.0, 0);
 cache_preload_check_button = gtk_check_button_new_with_label (_(Preload 
images));
-gtk_container_add (GTK_CONTAINER (cache_hbox), widget);
-gtk_container_add (GTK_CONTAINER (cache_hbox), cache_spin_button);
+