Author: akv
Date: 2009-12-19 22:42:01 +0100 (Sat, 19 Dec 2009)
New Revision: 2798

Modified:
   trunk/src/gtk-helper.c
   trunk/src/gtk-helper.h
   trunk/src/rs-toolbox.c
Log:
Moved gui_box* functions from rs-toolbox.c to gtk-helper.c.

Modified: trunk/src/gtk-helper.c
===================================================================
--- trunk/src/gtk-helper.c      2009-12-18 22:23:45 UTC (rev 2797)
+++ trunk/src/gtk-helper.c      2009-12-19 21:42:01 UTC (rev 2798)
@@ -21,6 +21,7 @@
 #include <glib/gstdio.h>
 #include <gtk/gtk.h>
 #include <config.h>
+#include <gconf/gconf-client.h>
 #include "application.h"
 #include "conf_interface.h"
 #include "gtk-interface.h"
@@ -1169,3 +1170,51 @@
 
        return eventbox;
 }
+
+void
+gui_box_toggle_callback(GtkExpander *expander, gchar *key)
+{
+       GConfClient *client = gconf_client_get_default();
+       gboolean expanded = gtk_expander_get_expanded(expander);
+
+       /* Save state to gconf */
+       gconf_client_set_bool(client, key, expanded, NULL);
+}
+
+void
+gui_box_notify(GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer 
user_data)
+{
+       GtkExpander *expander = GTK_EXPANDER(user_data);
+
+       if (entry->value)
+       {
+               gboolean expanded = gconf_value_get_bool(entry->value);
+               gtk_expander_set_expanded(expander, expanded);
+       }
+}
+
+GtkWidget *
+gui_box(const gchar *title, GtkWidget *in, gchar *key, gboolean 
default_expanded)
+{
+       GtkWidget *expander, *label;
+       gboolean expanded;
+
+       rs_conf_get_boolean_with_default(key, &expanded, default_expanded);
+
+       expander = gtk_expander_new(NULL);
+
+       if (key)
+       {
+               GConfClient *client = gconf_client_get_default();
+               gchar *name = g_build_filename("/apps", PACKAGE, key, NULL);
+               g_signal_connect_after(expander, "activate", 
G_CALLBACK(gui_box_toggle_callback), name);
+               gconf_client_notify_add(client, name, gui_box_notify, expander, 
NULL, NULL);
+       }
+       gtk_expander_set_expanded(GTK_EXPANDER(expander), expanded);
+
+       label = gtk_label_new(title);
+       gtk_expander_set_label_widget (GTK_EXPANDER (expander), label);
+       gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+       gtk_container_add (GTK_CONTAINER (expander), in);
+       return expander;
+}

Modified: trunk/src/gtk-helper.h
===================================================================
--- trunk/src/gtk-helper.h      2009-12-18 22:23:45 UTC (rev 2797)
+++ trunk/src/gtk-helper.h      2009-12-19 21:42:01 UTC (rev 2798)
@@ -17,6 +17,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA.
  */
 
+#include <gconf/gconf-client.h>
+
 typedef struct _RS_CONFBOX RS_CONFBOX;
 
 #define gui_label_set_text_printf(label, format, ...) do { \
@@ -82,3 +84,7 @@
  * @return A new GtkLabel
  */
 extern GtkWidget *gui_label_new_with_mouseover(const gchar *normal_text, const 
gchar *hover_text);
+
+extern void gui_box_toggle_callback(GtkExpander *expander, gchar *key);
+extern void gui_box_notify(GConfClient *client, guint cnxn_id, GConfEntry 
*entry, gpointer user_data);
+extern GtkWidget * gui_box(const gchar *title, GtkWidget *in, gchar *key, 
gboolean default_expanded);

Modified: trunk/src/rs-toolbox.c
===================================================================
--- trunk/src/rs-toolbox.c      2009-12-18 22:23:45 UTC (rev 2797)
+++ trunk/src/rs-toolbox.c      2009-12-19 21:42:01 UTC (rev 2798)
@@ -102,7 +102,6 @@
 static gboolean basic_range_reset(GtkWidget *widget, GdkEventButton *event, 
gpointer user_data);
 static GtkRange *basic_slider(RSToolbox *toolbox, const gint snapshot, 
GtkTable *table, const gint row, const BasicSettings *basic);
 static void curve_changed(GtkWidget *widget, gpointer user_data);
-static GtkWidget *gui_box(const gchar *title, GtkWidget *in, gchar *key, 
gboolean default_expanded);
 static GtkWidget *new_snapshot_page();
 static GtkWidget *new_transform(RSToolbox *toolbox, gboolean show);
 static void toolbox_copy_from_photo(RSToolbox *toolbox, const gint snapshot, 
const RSSettingsMask mask, RS_PHOTO *photo);
@@ -569,57 +568,7 @@
        gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, 
GDK_CURRENT_TIME);
 }
 
-/* FIXME: Move gui_box_* somewhere sane! */
-
-static void
-gui_box_toggle_callback(GtkExpander *expander, gchar *key)
-{
-       GConfClient *client = gconf_client_get_default();
-       gboolean expanded = gtk_expander_get_expanded(expander);
-
-       /* Save state to gconf */
-       gconf_client_set_bool(client, key, expanded, NULL);
-}
-
-static void
-gui_box_notify(GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer 
user_data)
-{
-       GtkExpander *expander = GTK_EXPANDER(user_data);
-
-       if (entry->value)
-       {
-               gboolean expanded = gconf_value_get_bool(entry->value);
-               gtk_expander_set_expanded(expander, expanded);
-       }
-}
-
 static GtkWidget *
-gui_box(const gchar *title, GtkWidget *in, gchar *key, gboolean 
default_expanded)
-{
-       GtkWidget *expander, *label;
-       gboolean expanded;
-
-       rs_conf_get_boolean_with_default(key, &expanded, default_expanded);
-
-       expander = gtk_expander_new(NULL);
-
-       if (key)
-       {
-               GConfClient *client = gconf_client_get_default();
-               gchar *name = g_build_filename("/apps", PACKAGE, key, NULL);
-               g_signal_connect_after(expander, "activate", 
G_CALLBACK(gui_box_toggle_callback), name);
-               gconf_client_notify_add(client, name, gui_box_notify, expander, 
NULL, NULL);
-       }
-       gtk_expander_set_expanded(GTK_EXPANDER(expander), expanded);
-
-       label = gtk_label_new(title);
-       gtk_expander_set_label_widget (GTK_EXPANDER (expander), label);
-       gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
-       gtk_container_add (GTK_CONTAINER (expander), in);
-       return expander;
-}
-
-static GtkWidget *
 new_snapshot_page(RSToolbox *toolbox, const gint snapshot)
 {
        GtkWidget *vbox = gtk_vbox_new(FALSE, 1);


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to