[Xfce4-commits] <ristretto:master> Cleanup the code in xfce_wallpaper_manager
Stephan Arts
noreply at xfce.org
Thu Sep 15 00:16:01 CEST 2011
Updating branch refs/heads/master
to 98f5e8e9b67a408a9149437e2230a8e5c84d8294 (commit)
from 443b58dea3df41f6937a9d0189b4f847aa606883 (commit)
commit 98f5e8e9b67a408a9149437e2230a8e5c84d8294
Author: Stephan Arts <stephan at xfce.org>
Date: Wed Sep 14 23:48:48 2011 +0200
Cleanup the code in xfce_wallpaper_manager
src/xfce_wallpaper_manager.c | 391 ++++++++++++++++++++++++++++++------------
src/xfce_wallpaper_manager.h | 10 +-
2 files changed, 289 insertions(+), 112 deletions(-)
diff --git a/src/xfce_wallpaper_manager.c b/src/xfce_wallpaper_manager.c
index 98893b2..cf50036 100644
--- a/src/xfce_wallpaper_manager.c
+++ b/src/xfce_wallpaper_manager.c
@@ -87,7 +87,9 @@ enum
};
static gint
-rstto_xfce_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self, GFile *file)
+rstto_xfce_wallpaper_manager_configure_dialog_run (
+ RsttoWallpaperManager *self,
+ GFile *file)
{
RsttoXfceWallpaperManager *manager = RSTTO_XFCE_WALLPAPER_MANAGER (self);
gint response = GTK_RESPONSE_OK;
@@ -96,21 +98,44 @@ rstto_xfce_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self,
GdkScreen *screen = gdk_screen_get_default ();
gint n_monitors = gdk_screen_get_n_monitors (screen);
GdkRectangle monitor_geometry;
- GtkWidget *dialog = gtk_dialog_new_with_buttons (_("Set as wallpaper"), NULL, 0, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
+ GtkWidget *dialog = gtk_dialog_new_with_buttons (
+ _("Set as wallpaper"),
+ NULL,
+ 0,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OK,
+ GTK_RESPONSE_OK,
+ NULL);
GtkWidget *vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
GtkWidget *style_label = gtk_label_new( _("Style:"));
GtkWidget *monitor_label = gtk_label_new( _("Monitor:"));
GtkWidget *brightness_label = gtk_label_new( _("Brightness:"));
GtkWidget *saturation_label = gtk_label_new( _("Saturation:"));
- GtkObject *brightness_adjustment = gtk_adjustment_new (0.0, -128.0, 127.0, 1.0, 10.0, 0.0);
- GtkObject *saturation_adjustment = gtk_adjustment_new (1.0, -10.0, 10.0, 0.1, 0.5, 0.0);
- GtkWidget *brightness_slider = gtk_hscale_new (GTK_ADJUSTMENT (brightness_adjustment));
- GtkWidget *saturation_slider = gtk_hscale_new (GTK_ADJUSTMENT (saturation_adjustment));
- GdkPixbuf *image_pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default(),
- "image-missing",
- 128,
- 0,
- NULL);
+ GtkObject *brightness_adjustment = gtk_adjustment_new (
+ 0.0,
+ -128.0,
+ 127.0,
+ 1.0,
+ 10.0,
+ 0.0);
+ GtkObject *saturation_adjustment = gtk_adjustment_new (
+ 1.0,
+ -10.0,
+ 10.0,
+ 0.1,
+ 0.5,
+ 0.0);
+ GtkWidget *brightness_slider = gtk_hscale_new (
+ GTK_ADJUSTMENT (brightness_adjustment));
+ GtkWidget *saturation_slider = gtk_hscale_new (
+ GTK_ADJUSTMENT (saturation_adjustment));
+ GdkPixbuf *image_pixbuf = gtk_icon_theme_load_icon (
+ gtk_icon_theme_get_default(),
+ "image-missing",
+ 128,
+ 0,
+ NULL);
GtkWidget *image_prop_table = gtk_table_new (3, 2, FALSE);
manager->priv->monitor_chooser = rstto_monitor_chooser_new ();
@@ -121,60 +146,169 @@ rstto_xfce_wallpaper_manager_configure_dialog_run (RsttoWallpaperManager *self,
for (i = 0; i < n_monitors; ++i)
{
- gdk_screen_get_monitor_geometry (screen, i, &monitor_geometry);
+ gdk_screen_get_monitor_geometry (
+ screen,
+ i,
+ &monitor_geometry);
rstto_monitor_chooser_add (
- RSTTO_MONITOR_CHOOSER (manager->priv->monitor_chooser),
- monitor_geometry.width,
- monitor_geometry.height);
+ RSTTO_MONITOR_CHOOSER (manager->priv->monitor_chooser),
+ monitor_geometry.width,
+ monitor_geometry.height);
}
rstto_monitor_chooser_set_pixbuf (
- RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser),
- 0,
- gdk_pixbuf_new_from_file_at_size(
- g_file_get_path(file),
- 500,
- 500,
- NULL),
- NULL);
-
- gtk_box_pack_start (GTK_BOX (vbox), manager->priv->monitor_chooser, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), image_prop_table, FALSE, FALSE, 0);
-
- gtk_scale_set_value_pos (GTK_SCALE (brightness_slider), GTK_POS_RIGHT);
- gtk_scale_set_digits (GTK_SCALE (brightness_slider), 0);
- gtk_scale_set_value_pos (GTK_SCALE (saturation_slider), GTK_POS_RIGHT);
- gtk_scale_set_digits (GTK_SCALE (saturation_slider), 1);
- gtk_table_attach (GTK_TABLE (image_prop_table), brightness_label, 0, 1, 0, 1, 0, 0, 0, 0);
- gtk_table_attach (GTK_TABLE (image_prop_table), brightness_slider, 1, 2, 0, 1, GTK_EXPAND|GTK_FILL, 0, 0, 0);
- gtk_table_attach (GTK_TABLE (image_prop_table), saturation_label, 0, 1, 1, 2, 0, 0, 0, 0);
- gtk_table_attach (GTK_TABLE (image_prop_table), saturation_slider, 1, 2, 1, 2, GTK_EXPAND|GTK_FILL, 0, 0, 0);
- gtk_table_attach (GTK_TABLE (image_prop_table), style_label, 0, 1, 2, 3, 0, 0, 0, 0);
- gtk_table_attach (GTK_TABLE (image_prop_table), manager->priv->style_combo, 1, 2, 2, 3, GTK_EXPAND|GTK_FILL, 0, 0, 0);
-
- gtk_combo_box_append_text (GTK_COMBO_BOX (manager->priv->style_combo), _("Auto"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (manager->priv->style_combo), _("Centered"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (manager->priv->style_combo), _("Tiled"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (manager->priv->style_combo), _("Stretched"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (manager->priv->style_combo), _("Scaled"));
- gtk_combo_box_append_text (GTK_COMBO_BOX (manager->priv->style_combo), _("Zoomed"));
- gtk_combo_box_set_active (GTK_COMBO_BOX (manager->priv->style_combo), 4);
+ RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser),
+ 0,
+ gdk_pixbuf_new_from_file_at_size(
+ g_file_get_path(file),
+ 500,
+ 500,
+ NULL),
+ NULL);
+
+ gtk_box_pack_start (
+ GTK_BOX (vbox),
+ manager->priv->monitor_chooser,
+ FALSE,
+ FALSE,
+ 0);
+ gtk_box_pack_start (
+ GTK_BOX (vbox),
+ image_prop_table,
+ FALSE,
+ FALSE,
+ 0);
+
+ gtk_scale_set_value_pos (
+ GTK_SCALE (brightness_slider),
+ GTK_POS_RIGHT);
+ gtk_scale_set_digits (
+ GTK_SCALE (brightness_slider),
+ 0);
+
+ gtk_scale_set_value_pos (
+ GTK_SCALE (saturation_slider),
+ GTK_POS_RIGHT);
+ gtk_scale_set_digits (
+ GTK_SCALE (saturation_slider),
+ 1);
+ gtk_table_attach (
+ GTK_TABLE (image_prop_table),
+ brightness_label,
+ 0,
+ 1,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0);
+ gtk_table_attach (
+ GTK_TABLE (image_prop_table),
+ brightness_slider,
+ 1,
+ 2,
+ 0,
+ 1,
+ GTK_EXPAND|GTK_FILL,
+ 0,
+ 0,
+ 0);
+ gtk_table_attach (
+ GTK_TABLE (image_prop_table),
+ saturation_label,
+ 0,
+ 1,
+ 1,
+ 2,
+ 0,
+ 0,
+ 0,
+ 0);
+ gtk_table_attach (
+ GTK_TABLE (image_prop_table),
+ saturation_slider,
+ 1,
+ 2,
+ 1,
+ 2,
+ GTK_EXPAND|GTK_FILL,
+ 0,
+ 0,
+ 0);
+ gtk_table_attach (
+ GTK_TABLE (image_prop_table),
+ style_label,
+ 0,
+ 1,
+ 2,
+ 3,
+ 0,
+ 0,
+ 0,
+ 0);
+ gtk_table_attach (
+ GTK_TABLE (image_prop_table),
+ manager->priv->style_combo,
+ 1,
+ 2,
+ 2,
+ 3,
+ GTK_EXPAND|GTK_FILL,
+ 0,
+ 0,
+ 0);
+
+ gtk_combo_box_append_text (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ _("Auto"));
+ gtk_combo_box_append_text (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ _("Centered"));
+ gtk_combo_box_append_text (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ _("Tiled"));
+ gtk_combo_box_append_text (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ _("Stretched"));
+ gtk_combo_box_append_text (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ _("Scaled"));
+ gtk_combo_box_append_text (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ _("Zoomed"));
+
+ gtk_combo_box_set_active (
+ GTK_COMBO_BOX (manager->priv->style_combo),
+ 4);
manager->priv->screen = gdk_screen_get_number (screen);
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
- g_signal_connect (G_OBJECT(manager->priv->monitor_chooser), "changed", G_CALLBACK (cb_monitor_chooser_changed), manager);
- g_signal_connect (G_OBJECT(manager->priv->style_combo), "changed", G_CALLBACK (cb_style_combo_changed), manager);
+ g_signal_connect (
+ G_OBJECT(manager->priv->monitor_chooser),
+ "changed",
+ G_CALLBACK (cb_monitor_chooser_changed),
+ manager);
+ g_signal_connect (
+ G_OBJECT(manager->priv->style_combo),
+ "changed",
+ G_CALLBACK (cb_style_combo_changed),
+ manager);
gtk_widget_show_all (vbox);
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_hide (dialog);
if (response == GTK_RESPONSE_OK)
{
- manager->priv->style = gtk_combo_box_get_active (GTK_COMBO_BOX (manager->priv->style_combo));
- manager->priv->saturation = gtk_adjustment_get_value (GTK_ADJUSTMENT (saturation_adjustment));
- manager->priv->brightness = (gint)gtk_adjustment_get_value (GTK_ADJUSTMENT (brightness_adjustment));
- manager->priv->monitor = rstto_monitor_chooser_get_selected(RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser));
+ manager->priv->style = gtk_combo_box_get_active (
+ GTK_COMBO_BOX (manager->priv->style_combo));
+ manager->priv->saturation = gtk_adjustment_get_value (
+ GTK_ADJUSTMENT (saturation_adjustment));
+ manager->priv->brightness = (gint)gtk_adjustment_get_value (
+ GTK_ADJUSTMENT (brightness_adjustment));
+ manager->priv->monitor = rstto_monitor_chooser_get_selected (
+ RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser));
}
gtk_widget_destroy (dialog);
@@ -203,56 +337,75 @@ static gboolean
rstto_xfce_wallpaper_manager_set (RsttoWallpaperManager *self, GFile *file)
{
RsttoXfceWallpaperManager *manager = RSTTO_XFCE_WALLPAPER_MANAGER (self);
+
gchar *uri = g_file_get_path (file);
- gchar *image_path_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-path",
- manager->priv->screen,
- manager->priv->monitor);
- gchar *image_show_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-show",
- manager->priv->screen,
- manager->priv->monitor);
- gchar *image_style_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/image-style",
- manager->priv->screen,
- manager->priv->monitor);
- gchar *brightness_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/brightness",
- manager->priv->screen,
- manager->priv->monitor);
- gchar *saturation_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/saturation",
- manager->priv->screen,
- manager->priv->monitor);
-
- gchar *color1_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/color1",
- manager->priv->screen,
- manager->priv->monitor);
- gchar *color2_prop = g_strdup_printf("/backdrop/screen%d/monitor%d/color2",
- manager->priv->screen,
- manager->priv->monitor);
-
- xfconf_channel_set_string (manager->priv->channel,
- image_path_prop, uri);
- xfconf_channel_set_bool (manager->priv->channel,
- image_show_prop, TRUE);
- xfconf_channel_set_int (manager->priv->channel,
- image_style_prop, manager->priv->style);
-
- xfconf_channel_set_int (manager->priv->channel,
- brightness_prop, manager->priv->brightness);
- xfconf_channel_set_double (manager->priv->channel,
- saturation_prop,
- manager->priv->saturation);
-
- xfconf_channel_set_struct (manager->priv->channel,
- color1_prop,
- manager->priv->color1,
- XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
- XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
- G_TYPE_INVALID);
- xfconf_channel_set_struct (manager->priv->channel,
- color2_prop,
- manager->priv->color2,
- XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
- XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
- G_TYPE_INVALID);
+ gchar *image_path_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/image-path",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *image_show_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/image-show",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *image_style_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/image-style",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *brightness_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/brightness",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *saturation_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/saturation",
+ manager->priv->screen,
+ manager->priv->monitor);
+
+ gchar *color1_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/color1",
+ manager->priv->screen,
+ manager->priv->monitor);
+ gchar *color2_prop = g_strdup_printf (
+ "/backdrop/screen%d/monitor%d/color2",
+ manager->priv->screen,
+ manager->priv->monitor);
+
+ xfconf_channel_set_string (
+ manager->priv->channel,
+ image_path_prop,
+ uri);
+ xfconf_channel_set_bool (
+ manager->priv->channel,
+ image_show_prop,
+ TRUE);
+ xfconf_channel_set_int (
+ manager->priv->channel,
+ image_style_prop,
+ manager->priv->style);
+
+ xfconf_channel_set_int (
+ manager->priv->channel,
+ brightness_prop,
+ manager->priv->brightness);
+ xfconf_channel_set_double (
+ manager->priv->channel,
+ saturation_prop,
+ manager->priv->saturation);
+
+ xfconf_channel_set_struct (
+ manager->priv->channel,
+ color1_prop,
+ manager->priv->color1,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ G_TYPE_INVALID);
+ xfconf_channel_set_struct (
+ manager->priv->channel,
+ color2_prop,
+ manager->priv->color2,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ XFCONF_TYPE_INT16, XFCONF_TYPE_INT16,
+ G_TYPE_INVALID);
g_free (image_path_prop);
g_free (image_show_prop);
@@ -301,8 +454,16 @@ rstto_xfce_wallpaper_manager_get_type (void)
NULL
};
- rstto_xfce_wallpaper_manager_type = g_type_register_static (G_TYPE_OBJECT, "RsttoXfceWallpaperManager", &rstto_xfce_wallpaper_manager_info, 0);
- g_type_add_interface_static (rstto_xfce_wallpaper_manager_type, RSTTO_WALLPAPER_MANAGER_TYPE, &wallpaper_manager_iface_info);
+ rstto_xfce_wallpaper_manager_type = g_type_register_static (
+ G_TYPE_OBJECT,
+ "RsttoXfceWallpaperManager",
+ &rstto_xfce_wallpaper_manager_info,
+ 0);
+
+ g_type_add_interface_static (
+ rstto_xfce_wallpaper_manager_type,
+ RSTTO_WALLPAPER_MANAGER_TYPE,
+ &wallpaper_manager_iface_info);
}
return rstto_xfce_wallpaper_manager_type;
@@ -382,7 +543,9 @@ rstto_xfce_wallpaper_manager_new (void)
{
if (xfce_wallpaper_manager_object == NULL)
{
- xfce_wallpaper_manager_object = g_object_new (RSTTO_TYPE_XFCE_WALLPAPER_MANAGER, NULL);
+ xfce_wallpaper_manager_object = g_object_new (
+ RSTTO_TYPE_XFCE_WALLPAPER_MANAGER,
+ NULL);
}
else
{
@@ -398,12 +561,14 @@ cb_style_combo_changed (
RsttoXfceWallpaperManager *manager)
{
RsttoMonitorStyle style = gtk_combo_box_get_active (style_combo);
- gint monitor_id = rstto_monitor_chooser_get_selected (RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser));
+
+ gint monitor_id = rstto_monitor_chooser_get_selected (
+ RSTTO_MONITOR_CHOOSER (manager->priv->monitor_chooser));
rstto_monitor_chooser_set_style (
- RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser),
- monitor_id,
- style);
+ RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser),
+ monitor_id,
+ style);
}
@@ -412,16 +577,24 @@ cb_monitor_chooser_changed (
RsttoMonitorChooser *monitor_chooser,
RsttoXfceWallpaperManager *manager)
{
- rstto_monitor_chooser_set_pixbuf (monitor_chooser, manager->priv->monitor, NULL, NULL);
- manager->priv->monitor = rstto_monitor_chooser_get_selected (monitor_chooser);
+ gint monitor_id;
+
+ monitor_id = rstto_monitor_chooser_get_selected (monitor_chooser);
+ rstto_monitor_chooser_set_pixbuf (
+ monitor_chooser,
+ manager->priv->monitor,
+ NULL,
+ NULL);
rstto_monitor_chooser_set_pixbuf (
RSTTO_MONITOR_CHOOSER(manager->priv->monitor_chooser),
- manager->priv->monitor,
+ monitor_id,
gdk_pixbuf_new_from_file_at_size(
g_file_get_path(manager->priv->file),
500,
500,
NULL),
NULL);
+
+ manager->priv->monitor = monitor_id;
}
diff --git a/src/xfce_wallpaper_manager.h b/src/xfce_wallpaper_manager.h
index b90fc85..ac7f96d 100644
--- a/src/xfce_wallpaper_manager.h
+++ b/src/xfce_wallpaper_manager.h
@@ -21,7 +21,8 @@
G_BEGIN_DECLS
-#define RSTTO_TYPE_XFCE_WALLPAPER_MANAGER rstto_xfce_wallpaper_manager_get_type()
+#define RSTTO_TYPE_XFCE_WALLPAPER_MANAGER \
+ rstto_xfce_wallpaper_manager_get_type()
#define RSTTO_XFCE_WALLPAPER_MANAGER(obj)( \
G_TYPE_CHECK_INSTANCE_CAST ((obj), \
@@ -59,8 +60,11 @@ struct _RsttoXfceWallpaperManagerClass
GObjectClass parent_class;
};
-RsttoWallpaperManager *rstto_xfce_wallpaper_manager_new (void);
-GType rstto_xfce_wallpaper_manager_get_type (void);
+RsttoWallpaperManager *
+rstto_xfce_wallpaper_manager_new (void);
+
+GType
+rstto_xfce_wallpaper_manager_get_type (void);
G_END_DECLS
More information about the Xfce4-commits
mailing list