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