summaryrefslogtreecommitdiff
path: root/cut-n-paste-code
diff options
context:
space:
mode:
authorAndy Hertzfeld <andy@src.gnome.org>2000-08-24 07:58:33 +0000
committerAndy Hertzfeld <andy@src.gnome.org>2000-08-24 07:58:33 +0000
commit3820e600c8ab4ac5812585f65cd4f3fa2cc20a5e (patch)
tree12757d95a1d30b03ffa670c151636611a67a252a /cut-n-paste-code
parentcc32da32fceeb9e423a0d9b4f3155312f783d7ea (diff)
downloadnautilus-3820e600c8ab4ac5812585f65cd4f3fa2cc20a5e.tar.gz
made the druid's logo image be dynamically sized instead of fixed size;
made the druid's logo image be dynamically sized instead of fixed size; also, it now uses the anti-aliased canvas for prettier edges. Made the first time druid set up the logo images.
Diffstat (limited to 'cut-n-paste-code')
-rw-r--r--cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-finish.c42
-rw-r--r--cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-standard.c51
-rw-r--r--cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-start.c39
3 files changed, 89 insertions, 43 deletions
diff --git a/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-finish.c b/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-finish.c
index b5609cc46..8375700c6 100644
--- a/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-finish.c
+++ b/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-finish.c
@@ -59,6 +59,7 @@ static void nautilus_druid_page_finish_prepare (NautilusDruidPage *page,
static NautilusDruidPageClass *parent_class = NULL;
#define LOGO_WIDTH 50.0
+#define LOGO_HEIGHT 50.0
#define DRUID_PAGE_HEIGHT 318
#define DRUID_PAGE_WIDTH 516
#define DRUID_PAGE_LEFT_WIDTH 100.0
@@ -126,7 +127,7 @@ nautilus_druid_page_finish_init (NautilusDruidPageFinish *druid_page_finish)
/* Set up the canvas */
gtk_container_set_border_width (GTK_CONTAINER (druid_page_finish), 0);
- druid_page_finish->_priv->canvas = gnome_canvas_new ();
+ druid_page_finish->_priv->canvas = gnome_canvas_new_aa ();
gtk_widget_set_usize (druid_page_finish->_priv->canvas, DRUID_PAGE_WIDTH, DRUID_PAGE_HEIGHT);
gtk_widget_show (druid_page_finish->_priv->canvas);
gnome_canvas_set_scroll_region (GNOME_CANVAS (druid_page_finish->_priv->canvas), 0.0, 0.0, DRUID_PAGE_WIDTH, DRUID_PAGE_HEIGHT);
@@ -141,7 +142,7 @@ nautilus_druid_page_finish_destroy(GtkObject *object)
g_free(druid_page_finish->_priv);
druid_page_finish->_priv = NULL;
- if(GTK_OBJECT_CLASS(parent_class)->destroy)
+ if (GTK_OBJECT_CLASS(parent_class)->destroy)
(* GTK_OBJECT_CLASS(parent_class)->destroy)(object);
}
@@ -150,9 +151,18 @@ static void
nautilus_druid_page_finish_configure_size (NautilusDruidPageFinish *druid_page_finish, gint width, gint height)
{
gfloat watermark_width = DRUID_PAGE_LEFT_WIDTH;
- gfloat watermark_height = (gfloat) height - LOGO_WIDTH + GNOME_PAD * 2.0;
- gfloat watermark_ypos = LOGO_WIDTH + GNOME_PAD * 2.0;
-
+ gfloat watermark_height = (gfloat) height - LOGO_HEIGHT + GNOME_PAD * 2.0;
+ gfloat watermark_ypos = LOGO_HEIGHT + GNOME_PAD * 2.0;
+ gfloat cur_logo_width, cur_logo_height;
+
+ if (druid_page_finish->logo_image) {
+ cur_logo_width = gdk_pixbuf_get_width (druid_page_finish->logo_image);
+ cur_logo_height = gdk_pixbuf_get_height (druid_page_finish->logo_image);
+ } else {
+ cur_logo_width = LOGO_WIDTH;
+ cur_logo_height = LOGO_HEIGHT;
+ }
+
if (druid_page_finish->watermark_image) {
watermark_width = gdk_pixbuf_get_width (druid_page_finish->watermark_image);
watermark_height = gdk_pixbuf_get_height (druid_page_finish->watermark_image);
@@ -170,22 +180,22 @@ nautilus_druid_page_finish_configure_size (NautilusDruidPageFinish *druid_page_f
"y2", (gfloat) height,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_finish->_priv->textbox_item,
- "x1", (gfloat) watermark_width,
- "y1", (gfloat) LOGO_WIDTH + GNOME_PAD * 2.0,
+ "x1", watermark_width,
+ "y1", cur_logo_height + GNOME_PAD * 2.0,
"x2", (gfloat) width,
"y2", (gfloat) height,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_finish->_priv->logoframe_item,
- "x1", (gfloat) width - LOGO_WIDTH -GNOME_PAD,
+ "x1", (gfloat) width - cur_logo_width -GNOME_PAD,
"y1", (gfloat) GNOME_PAD,
"x2", (gfloat) width - GNOME_PAD,
- "y2", (gfloat) GNOME_PAD + LOGO_WIDTH,
+ "y2", (gfloat) GNOME_PAD + cur_logo_height,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_finish->_priv->logo_item,
- "x", (gfloat) width - GNOME_PAD - LOGO_WIDTH,
+ "x", (gfloat) width - GNOME_PAD - cur_logo_width,
"y", (gfloat) GNOME_PAD,
- "width", (gfloat) LOGO_WIDTH,
- "height", (gfloat) LOGO_WIDTH, NULL);
+ "width", (gfloat) cur_logo_width,
+ "height", (gfloat) cur_logo_height, NULL);
gnome_canvas_item_set (druid_page_finish->_priv->watermark_item,
"x", 0.0,
"y", watermark_ypos,
@@ -193,13 +203,13 @@ nautilus_druid_page_finish_configure_size (NautilusDruidPageFinish *druid_page_f
"height", watermark_height,
NULL);
gnome_canvas_item_set (druid_page_finish->_priv->title_item,
- "x", 15.0,
- "y", (gfloat) GNOME_PAD + LOGO_WIDTH / 2.0,
+ "x", 15.0,
+ "y", (gfloat) GNOME_PAD + cur_logo_height / 2.0,
"anchor", GTK_ANCHOR_WEST,
NULL);
gnome_canvas_item_set (druid_page_finish->_priv->text_item,
"x", ((width - watermark_width) * 0.5) + watermark_width,
- "y", LOGO_WIDTH + GNOME_PAD * 2.0 + (height - (LOGO_WIDTH + GNOME_PAD * 2.0))/ 2.0,
+ "y", LOGO_HEIGHT + GNOME_PAD * 2.0 + (height - (cur_logo_height + GNOME_PAD * 2.0))/ 2.0,
"anchor", GTK_ANCHOR_CENTER,
NULL);
}
@@ -501,6 +511,8 @@ nautilus_druid_page_finish_set_logo (NautilusDruidPageFinish *druid_pag
gdk_pixbuf_ref (logo_image);
gnome_canvas_item_set (druid_page_finish->_priv->logo_item,
"pixbuf", druid_page_finish->logo_image, NULL);
+ nautilus_druid_page_finish_configure_size (druid_page_finish, DRUID_PAGE_WIDTH, DRUID_PAGE_HEIGHT);
+
}
void
nautilus_druid_page_finish_set_watermark (NautilusDruidPageFinish *druid_page_finish,
diff --git a/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-standard.c b/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-standard.c
index 5d84ab8bc..b7e775031 100644
--- a/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-standard.c
+++ b/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-standard.c
@@ -61,6 +61,8 @@ static void nautilus_druid_page_standard_prepare (NautilusDruidPage
static NautilusDruidPageClass *parent_class = NULL;
#define LOGO_WIDTH 50.0
+#define LOGO_HEIGHT 50.0
+
#define DRUID_PAGE_WIDTH 516
#define GDK_COLOR_TO_RGBA(color) GNOME_CANVAS_COLOR (color.red/256, color.green/256, color.blue/256)
@@ -127,7 +129,7 @@ nautilus_druid_page_standard_init (NautilusDruidPageStandard *druid_page_standar
vbox = gtk_vbox_new (FALSE, 0);
hbox = gtk_hbox_new (FALSE, 0);
druid_page_standard->vbox = gtk_vbox_new (FALSE, 0);
- druid_page_standard->_priv->canvas = gnome_canvas_new ();
+ druid_page_standard->_priv->canvas = gnome_canvas_new_aa ();
druid_page_standard->_priv->side_bar = gtk_drawing_area_new ();
druid_page_standard->_priv->bottom_bar = gtk_drawing_area_new ();
druid_page_standard->_priv->right_bar = gtk_drawing_area_new ();
@@ -162,7 +164,7 @@ nautilus_druid_page_standard_init (NautilusDruidPageStandard *druid_page_standar
gtk_box_pack_start (GTK_BOX (hbox), druid_page_standard->_priv->side_bar, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (hbox), druid_page_standard->vbox, TRUE, TRUE, 0);
gtk_box_pack_end (GTK_BOX (hbox), druid_page_standard->_priv->right_bar, FALSE, FALSE, 0);
- gtk_widget_set_usize (druid_page_standard->_priv->canvas, 508, LOGO_WIDTH + GNOME_PAD * 2);
+ gtk_widget_set_usize (druid_page_standard->_priv->canvas, 508, LOGO_HEIGHT + GNOME_PAD * 2);
gtk_container_set_border_width (GTK_CONTAINER (druid_page_standard), 0);
gtk_container_add (GTK_CONTAINER (druid_page_standard), vbox);
gtk_widget_show_all (vbox);
@@ -183,23 +185,39 @@ nautilus_druid_page_standard_destroy(GtkObject *object)
static void
nautilus_druid_page_standard_configure_size (NautilusDruidPageStandard *druid_page_standard, gint width, gint height)
{
+ gfloat cur_logo_width, cur_logo_height;
+
+ if (druid_page_standard->logo_image) {
+ cur_logo_width = gdk_pixbuf_get_width (druid_page_standard->logo_image);
+ cur_logo_height = gdk_pixbuf_get_height (druid_page_standard->logo_image);
+ } else {
+ cur_logo_width = LOGO_WIDTH;
+ cur_logo_height = LOGO_HEIGHT;
+ }
+
gnome_canvas_item_set (druid_page_standard->_priv->background_item,
"x1", 0.0,
"y1", 0.0,
"x2", (gfloat) width,
- "y2", (gfloat) LOGO_WIDTH + GNOME_PAD * 2,
+ "y2", (gfloat) cur_logo_height + GNOME_PAD * 2,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_standard->_priv->logoframe_item,
- "x1", (gfloat) width - LOGO_WIDTH - GNOME_PAD,
+ "x1", (gfloat) width - cur_logo_width - GNOME_PAD,
"y1", (gfloat) GNOME_PAD,
"x2", (gfloat) width - GNOME_PAD,
- "y2", (gfloat) GNOME_PAD + LOGO_WIDTH,
+ "y2", (gfloat) GNOME_PAD + cur_logo_height,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_standard->_priv->logo_item,
- "x", (gfloat) width - GNOME_PAD - LOGO_WIDTH,
+ "x", (gfloat) width - GNOME_PAD - cur_logo_width,
"y", (gfloat) GNOME_PAD,
- "width", (gfloat) LOGO_WIDTH,
- "height", (gfloat) LOGO_WIDTH, NULL);
+ "width", (gfloat) cur_logo_width,
+ "height", (gfloat) cur_logo_height, NULL);
+ gnome_canvas_item_set (druid_page_standard->_priv->title_item,
+ "x", 15.0,
+ "y", (gfloat) GNOME_PAD + cur_logo_height / 2.0,
+ "anchor", GTK_ANCHOR_WEST,
+ NULL);
+
}
static void
@@ -242,13 +260,7 @@ nautilus_druid_page_standard_construct (NautilusDruidPageStandard *druid_page_st
"fill_color_rgba", fill_color,
NULL);
- gnome_canvas_item_set (druid_page_standard->_priv->title_item,
- "x", 15.0,
- "y", (gfloat) GNOME_PAD + LOGO_WIDTH / 2.0,
- "anchor", GTK_ANCHOR_WEST,
- NULL);
-
- nautilus_druid_page_standard_configure_size (druid_page_standard, DRUID_PAGE_WIDTH, GNOME_PAD * 2 + LOGO_WIDTH);
+ nautilus_druid_page_standard_configure_size (druid_page_standard, DRUID_PAGE_WIDTH, GNOME_PAD * 2 + LOGO_HEIGHT);
gtk_signal_connect (GTK_OBJECT (druid_page_standard),
"prepare",
nautilus_druid_page_standard_prepare,
@@ -398,9 +410,13 @@ void
nautilus_druid_page_standard_set_logo (NautilusDruidPageStandard *druid_page_standard,
GdkPixbuf*logo_image)
{
+ GtkWidget *widget;
+
g_return_if_fail (druid_page_standard != NULL);
g_return_if_fail (NAUTILUS_IS_DRUID_PAGE_STANDARD (druid_page_standard));
+ widget = GTK_WIDGET (druid_page_standard);
+
if (druid_page_standard->logo_image)
gdk_pixbuf_unref (druid_page_standard->logo_image);
@@ -408,5 +424,10 @@ nautilus_druid_page_standard_set_logo (NautilusDruidPageStandard *druid
gdk_pixbuf_ref (logo_image);
gnome_canvas_item_set (druid_page_standard->_priv->logo_item,
"pixbuf", druid_page_standard->logo_image, NULL);
+
+ nautilus_druid_page_standard_configure_size (druid_page_standard,
+ widget->allocation.width,
+ widget->allocation.height);
+
}
diff --git a/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-start.c b/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-start.c
index da3b854a6..2b21312ad 100644
--- a/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-start.c
+++ b/cut-n-paste-code/widgets/nautilus-druid/nautilus-druid-page-start.c
@@ -57,7 +57,8 @@ static void nautilus_druid_page_start_prepare (NautilusDruidPage *page,
gpointer *data);
static NautilusDruidPageClass *parent_class = NULL;
-#define LOGO_WIDTH 50.0
+#define LOGO_WIDTH 50.0
+#define LOGO_HEIGHT 50.0
#define DRUID_PAGE_HEIGHT 318
#define DRUID_PAGE_WIDTH 516
#define DRUID_PAGE_LEFT_WIDTH 100.0
@@ -126,7 +127,7 @@ nautilus_druid_page_start_init (NautilusDruidPageStart *druid_page_start)
/* Set up the canvas */
gtk_container_set_border_width (GTK_CONTAINER (druid_page_start), 0);
- druid_page_start->_priv->canvas = gnome_canvas_new ();
+ druid_page_start->_priv->canvas = gnome_canvas_new_aa ();
gtk_widget_set_usize (druid_page_start->_priv->canvas, DRUID_PAGE_WIDTH, DRUID_PAGE_HEIGHT);
gtk_widget_show (druid_page_start->_priv->canvas);
gnome_canvas_set_scroll_region (GNOME_CANVAS (druid_page_start->_priv->canvas), 0.0, 0.0, DRUID_PAGE_WIDTH, DRUID_PAGE_HEIGHT);
@@ -150,9 +151,18 @@ static void
nautilus_druid_page_start_configure_size (NautilusDruidPageStart *druid_page_start, gint width, gint height)
{
gfloat watermark_width = DRUID_PAGE_LEFT_WIDTH;
- gfloat watermark_height = (gfloat) height - LOGO_WIDTH + GNOME_PAD * 2.0;
- gfloat watermark_ypos = LOGO_WIDTH + GNOME_PAD * 2.0;
-
+ gfloat watermark_height = (gfloat) height - LOGO_HEIGHT + GNOME_PAD * 2.0;
+ gfloat watermark_ypos = LOGO_HEIGHT + GNOME_PAD * 2.0;
+ gfloat cur_logo_width, cur_logo_height;
+
+ if (druid_page_start->logo_image) {
+ cur_logo_width = gdk_pixbuf_get_width (druid_page_start->logo_image);
+ cur_logo_height = gdk_pixbuf_get_height (druid_page_start->logo_image);
+ } else {
+ cur_logo_width = LOGO_WIDTH;
+ cur_logo_height = LOGO_HEIGHT;
+ }
+
if (druid_page_start->watermark_image) {
watermark_width = gdk_pixbuf_get_width (druid_page_start->watermark_image);
watermark_height = gdk_pixbuf_get_height (druid_page_start->watermark_image);
@@ -171,21 +181,21 @@ nautilus_druid_page_start_configure_size (NautilusDruidPageStart *druid_page_sta
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_start->_priv->textbox_item,
"x1", watermark_width,
- "y1", LOGO_WIDTH + GNOME_PAD * 2.0,
+ "y1", cur_logo_height + GNOME_PAD * 2.0,
"x2", (gfloat) width,
"y2", (gfloat) height,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_start->_priv->logoframe_item,
- "x1", (gfloat) width - LOGO_WIDTH -GNOME_PAD,
+ "x1", (gfloat) width - cur_logo_width -GNOME_PAD,
"y1", (gfloat) GNOME_PAD,
"x2", (gfloat) width - GNOME_PAD,
- "y2", (gfloat) GNOME_PAD + LOGO_WIDTH,
+ "y2", (gfloat) GNOME_PAD + cur_logo_height,
"width_units", 1.0, NULL);
gnome_canvas_item_set (druid_page_start->_priv->logo_item,
- "x", (gfloat) width - GNOME_PAD - LOGO_WIDTH,
+ "x", (gfloat) width - GNOME_PAD - cur_logo_width,
"y", (gfloat) GNOME_PAD,
- "width", (gfloat) LOGO_WIDTH,
- "height", (gfloat) LOGO_WIDTH, NULL);
+ "width", (gfloat) cur_logo_width,
+ "height", (gfloat) cur_logo_height, NULL);
gnome_canvas_item_set (druid_page_start->_priv->watermark_item,
"x", 0.0,
"y", watermark_ypos,
@@ -194,12 +204,12 @@ nautilus_druid_page_start_configure_size (NautilusDruidPageStart *druid_page_sta
NULL);
gnome_canvas_item_set (druid_page_start->_priv->title_item,
"x", 15.0,
- "y", (gfloat) GNOME_PAD + LOGO_WIDTH / 2.0,
+ "y", (gfloat) GNOME_PAD + cur_logo_height / 2.0,
"anchor", GTK_ANCHOR_WEST,
NULL);
gnome_canvas_item_set (druid_page_start->_priv->text_item,
"x", ((width - watermark_width) * 0.5) + watermark_width,
- "y", LOGO_WIDTH + GNOME_PAD * 2.0 + (height - (LOGO_WIDTH + GNOME_PAD * 2.0))/ 2.0,
+ "y", LOGO_HEIGHT + GNOME_PAD * 2.0 + (height - (cur_logo_height + GNOME_PAD * 2.0))/ 2.0,
"anchor", GTK_ANCHOR_CENTER,
NULL);
}
@@ -513,7 +523,10 @@ nautilus_druid_page_start_set_logo (NautilusDruidPageStart *druid_page_
gdk_pixbuf_ref (logo_image);
gnome_canvas_item_set (druid_page_start->_priv->logo_item,
"pixbuf", druid_page_start->logo_image, NULL);
+
+ nautilus_druid_page_start_configure_size (druid_page_start, DRUID_PAGE_WIDTH, DRUID_PAGE_HEIGHT);
}
+
void
nautilus_druid_page_start_set_watermark (NautilusDruidPageStart *druid_page_start,
GdkPixbuf *watermark)