Restore some lost tweaks from earlier.
2001-07-26 Bradford Hovinen <hovinen@ximian.com> * applier.c (renderer_render_wallpaper): Restore some lost tweaks from earlier. * preferences.c (preferences_init): strdup the home directory * applier.c: Store preview widget in the renderer, not the applier itself
This commit is contained in:
parent
4e921471d4
commit
0336802107
5 changed files with 32 additions and 20 deletions
|
@ -1,5 +1,13 @@
|
|||
2001-07-26 Bradford Hovinen <hovinen@ximian.com>
|
||||
|
||||
* applier.c (renderer_render_wallpaper): Restore some lost tweaks
|
||||
from earlier.
|
||||
|
||||
* preferences.c (preferences_init): strdup the home directory
|
||||
|
||||
* applier.c: Store preview widget in the renderer, not the applier
|
||||
itself
|
||||
|
||||
* background-properties-capplet.c (create_dialog): Add a "(none)"
|
||||
string to the history
|
||||
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
|
||||
#define PDEBUG(pix) (g_print ("file %s: line %d (%s): Setting pixbuf to %i %i\n", __FILE__, __LINE__, __PRETTY_FUNCTION__, gdk_pixbuf_get_width (pix), gdk_pixbuf_get_height (pix)))
|
||||
|
||||
static GtkWidget *preview_widget;
|
||||
static gboolean gdk_pixbuf_xlib_inited = FALSE;
|
||||
|
||||
typedef struct _Renderer Renderer;
|
||||
|
@ -76,7 +75,7 @@ struct _Renderer
|
|||
gboolean is_root;
|
||||
gboolean is_set;
|
||||
|
||||
Applier *applier;
|
||||
GtkWidget *widget;
|
||||
Preferences *prefs;
|
||||
|
||||
gint x; /* Geometry relative to pixmap */
|
||||
|
@ -316,7 +315,7 @@ applier_apply_prefs (Applier *applier, Preferences *prefs,
|
|||
}
|
||||
|
||||
if (!prefs->enabled) {
|
||||
draw_disabled_message (applier_class_get_preview_widget ());
|
||||
draw_disabled_message (applier_get_preview_widget (applier));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -407,7 +406,7 @@ applier_apply_prefs (Applier *applier, Preferences *prefs,
|
|||
}
|
||||
|
||||
GtkWidget *
|
||||
applier_class_get_preview_widget (void)
|
||||
applier_get_preview_widget (Applier *applier)
|
||||
{
|
||||
GdkPixbuf *pixbuf;
|
||||
GdkPixmap *pixmap;
|
||||
|
@ -418,7 +417,7 @@ applier_class_get_preview_widget (void)
|
|||
gchar *filename;
|
||||
GdkGC *gc;
|
||||
|
||||
if (preview_widget != NULL) return preview_widget;
|
||||
if (applier->private->preview_widget != NULL) return applier->private->preview_widget;
|
||||
|
||||
filename = gnome_pixmap_file ("monitor.png");
|
||||
visual = gdk_window_get_visual (GDK_ROOT_PARENT ());
|
||||
|
@ -477,15 +476,15 @@ applier_class_get_preview_widget (void)
|
|||
mask = NULL;
|
||||
}
|
||||
|
||||
preview_widget = gtk_pixmap_new (pixmap, mask);
|
||||
gtk_widget_show (preview_widget);
|
||||
applier->private->preview_widget = gtk_pixmap_new (pixmap, mask);
|
||||
gtk_widget_show (applier->private->preview_widget);
|
||||
gdk_pixbuf_unref (pixbuf);
|
||||
g_free (filename);
|
||||
|
||||
gtk_widget_pop_visual ();
|
||||
gtk_widget_pop_colormap ();
|
||||
|
||||
return preview_widget;
|
||||
return applier->private->preview_widget;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -610,10 +609,11 @@ renderer_new (Applier *applier, gboolean is_root)
|
|||
renderer->pixmap = 0;
|
||||
renderer->is_set = FALSE;
|
||||
} else {
|
||||
if (!GTK_WIDGET_REALIZED (applier->private->preview_widget))
|
||||
gtk_widget_realize (applier->private->preview_widget);
|
||||
renderer->widget = applier_get_preview_widget (applier);
|
||||
|
||||
if (!GTK_WIDGET_REALIZED (renderer->widget))
|
||||
gtk_widget_realize (renderer->widget);
|
||||
|
||||
renderer->applier = applier;
|
||||
renderer->x = MONITOR_CONTENTS_X;
|
||||
renderer->y = MONITOR_CONTENTS_Y;
|
||||
renderer->width = MONITOR_CONTENTS_WIDTH;
|
||||
|
@ -841,9 +841,10 @@ renderer_render_wallpaper (Renderer *renderer)
|
|||
(renderer->wallpaper_pixbuf,
|
||||
renderer->pixbuf,
|
||||
renderer->wx, renderer->wy,
|
||||
renderer->wwidth,
|
||||
renderer->wheight,
|
||||
renderer->wx, renderer->wy,
|
||||
MIN (renderer->wwidth, renderer->width),
|
||||
MIN (renderer->wheight, renderer->height),
|
||||
renderer->wx - renderer->srcx,
|
||||
renderer->wy - renderer->srcy,
|
||||
scalex, scaley,
|
||||
GDK_INTERP_BILINEAR);
|
||||
} else {
|
||||
|
@ -980,7 +981,7 @@ renderer_render_to_screen (Renderer *renderer)
|
|||
gdk_window_clear (GDK_ROOT_PARENT ());
|
||||
} else {
|
||||
gdk_color_alloc (gdk_window_get_colormap
|
||||
(renderer->applier->private->preview_widget->window),
|
||||
(renderer->widget->window),
|
||||
renderer->prefs->color1);
|
||||
gdk_gc_set_foreground (gc, renderer->prefs->color1);
|
||||
XFillRectangle (GDK_DISPLAY (), renderer->pixmap, xgc,
|
||||
|
|
|
@ -59,6 +59,6 @@ void applier_destroy (GtkObject *object);
|
|||
void applier_apply_prefs (Applier *applier, Preferences *prefs,
|
||||
gboolean do_root, gboolean do_preview);
|
||||
|
||||
GtkWidget *applier_class_get_preview_widget (void);
|
||||
GtkWidget *applier_get_preview_widget (Applier *applier);
|
||||
|
||||
#endif /* __APPLIER_H */
|
||||
|
|
|
@ -220,6 +220,7 @@ static void
|
|||
setup_dialog (GtkWidget *widget, Bonobo_PropertyBag bag)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
Applier *applier;
|
||||
|
||||
dialog = gtk_object_get_data (GTK_OBJECT (widget), "glade-data");
|
||||
CUSTOM_CREATE_PEDITOR (option_menu, ulong, "orientation", "color_option");
|
||||
|
@ -237,7 +238,8 @@ setup_dialog (GtkWidget *widget, Bonobo_PropertyBag bag)
|
|||
bonobo_event_source_client_add_listener (bag, property_change_cb,
|
||||
NULL, NULL, bag);
|
||||
|
||||
gtk_signal_connect_after (GTK_OBJECT (applier_class_get_preview_widget ()), "realize", realize_cb, bag);
|
||||
applier = gtk_object_get_data (GTK_OBJECT (widget), "applier");
|
||||
gtk_signal_connect_after (GTK_OBJECT (applier_get_preview_widget (applier)), "realize", realize_cb, bag);
|
||||
}
|
||||
|
||||
static GtkWidget*
|
||||
|
@ -252,11 +254,12 @@ create_dialog (void)
|
|||
gtk_object_set_data (GTK_OBJECT (widget), "glade-data", dialog);
|
||||
|
||||
applier = APPLIER (applier_new ());
|
||||
gtk_object_set_data (GTK_OBJECT (widget), "applier", applier);
|
||||
|
||||
/* Minor GUI addition */
|
||||
holder = WID ("preview_holder");
|
||||
gtk_box_pack_start (GTK_BOX (holder),
|
||||
applier_class_get_preview_widget (),
|
||||
applier_get_preview_widget (applier),
|
||||
TRUE, TRUE, 0);
|
||||
gtk_widget_show_all (holder);
|
||||
|
||||
|
@ -273,7 +276,7 @@ int
|
|||
main (int argc, char **argv)
|
||||
{
|
||||
const gchar* legacy_files[] = { "Background", NULL };
|
||||
|
||||
|
||||
glade_gnome_init ();
|
||||
gnomelib_register_popt_table (options, "background options");
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ preferences_init (Preferences *prefs)
|
|||
prefs->orientation = ORIENTATION_VERT;
|
||||
prefs->wallpaper_type = WPTYPE_TILED;
|
||||
prefs->wallpaper_filename = NULL;
|
||||
prefs->wallpaper_sel_path = g_get_home_dir ();
|
||||
prefs->wallpaper_sel_path = g_strdup (g_get_home_dir ());
|
||||
prefs->auto_apply = TRUE;
|
||||
prefs->wallpapers = NULL;
|
||||
prefs->adjust_opacity = TRUE;
|
||||
|
|
Loading…
Add table
Reference in a new issue