Fix layout after introducing avatar
authorArtem Garmash <artemgarmash@gmail.com>
Sat, 9 Jan 2010 23:33:37 +0000 (01:33 +0200)
committerArtem Garmash <artem.garmash@nokia.com>
Sun, 27 Jun 2010 19:13:42 +0000 (22:13 +0300)
src/el-home-applet.c

index 3a2088d..3d58568 100644 (file)
                 EL_TYPE_HOME_APPLET, ELHomeAppletPrivate))
 
 #define BOX_WIDTH 352
-#define BOX_HEIGHT 266
+#define BOX_HEIGHT 276
 
-#define C_WIDTH (BOX_WIDTH - 2*HILDON_MARGIN_HALF)
-#define C_HEIGHT (BOX_HEIGHT - 2*HILDON_MARGIN_HALF)
-#define C_X HILDON_MARGIN_HALF
-#define C_Y 4*HILDON_MARGIN_HALF
+#define CONTENT_OFFSET_X HILDON_MARGIN_HALF
+#define CONTENT_OFFSET_Y_TOP 4*HILDON_MARGIN_HALF
+#define CONTENT_OFFSET_Y_BOTTOM HILDON_MARGIN_HALF
+#define C_WIDTH (BOX_WIDTH - 2*CONTENT_OFFSET_X)
+#define C_HEIGHT (BOX_HEIGHT - (CONTENT_OFFSET_Y_TOP + CONTENT_OFFSET_Y_BOTTOM))
 
 #define HEADER_HEIGHT 48
 #define MESSAGE_HEIGHT (C_HEIGHT - HEADER_HEIGHT)
@@ -56,6 +57,7 @@
 
 #define SCROLL_PERIOD 100 /* ms */
 #define SCROLL_STEP 1 /* pixel */
+#define TEXT_Y_OFFSET (HEADER_HEIGHT + HILDON_MARGIN_HALF)
 
 struct _ELHomeAppletPrivate
 {
@@ -296,10 +298,10 @@ expose_event (GtkWidget *self, GdkEventExpose *event)
         cairo_set_line_width (cr, 3.0f);
 
         rounded_rectangle (cr,
-                           C_X,
-                           C_Y,
-                           BOX_WIDTH - 2*C_X,
-                           BOX_HEIGHT - 2*C_Y,
+                           CONTENT_OFFSET_X,
+                           CONTENT_OFFSET_Y_TOP,
+                           BOX_WIDTH - 2*CONTENT_OFFSET_X,
+                           BOX_HEIGHT - (CONTENT_OFFSET_Y_TOP + CONTENT_OFFSET_Y_BOTTOM),
                            BOX_RADIOUS);
 
         cairo_close_path (cr);
@@ -308,7 +310,7 @@ expose_event (GtkWidget *self, GdkEventExpose *event)
         /* draw header */
         cairo_set_line_width (cr, 1.0f);
 
-        cairo_translate (cr, C_X, C_Y);
+        cairo_translate (cr, CONTENT_OFFSET_X, CONTENT_OFFSET_Y_TOP);
         cairo_move_to (cr, 0, HEADER_HEIGHT);
         cairo_line_to (cr, 0, BOX_RADIOUS);
         cairo_curve_to (cr, 0, 0, 0, 0, BOX_RADIOUS, 0);
@@ -377,11 +379,11 @@ expose_event (GtkWidget *self, GdkEventExpose *event)
         cairo_fill (cr);
 
         /* cairo_set_source_rgba (cr, red, green, blue, 1.0f); */
-        /* cairo_translate (cr, -C_X, -C_Y); */
+        /* cairo_translate (cr, -CONTENT_OFFSET_X, -C_Y); */
         /* rounded_rectangle (cr, */
-        /*                    C_X, */
+        /*                    CONTENT_OFFSET_X, */
         /*                    C_Y, */
-        /*                    BOX_WIDTH - 2*C_X, */
+        /*                    BOX_WIDTH - 2*CONTENT_OFFSET_X, */
         /*                    BOX_HEIGHT - 2*C_Y, */
         /*                    BOX_RADIOUS); */
         /* cairo_close_path (cr); */
@@ -404,16 +406,16 @@ expose_event (GtkWidget *self, GdkEventExpose *event)
         }
 
         cairo_rectangle (cr,
-                         2*C_X,
-                         HEADER_HEIGHT,
+                         2*CONTENT_OFFSET_X,
+                         TEXT_Y_OFFSET,
                          MESSAGE_WIDTH,
                          message_height);
         cairo_clip (cr);
 
         cairo_set_source_surface (cr,
                                   priv->message_surface,
-                                  2*C_X,
-                                  HEADER_HEIGHT - priv->scroll_offset);
+                                  2*CONTENT_OFFSET_X,
+                                  TEXT_Y_OFFSET - priv->scroll_offset);
         cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
         cairo_paint (cr);
 
@@ -681,11 +683,6 @@ show_event (ELHomeApplet *self, RTComElIter *it)
 
         if (priv->message) {
                 gtk_widget_hide (priv->empty);
-                /* TODO: don's show avatar at all, fix layout */
-                gtk_widget_show (priv->avatar);
-                gtk_image_set_from_icon_name (GTK_IMAGE (priv->avatar),
-                                              "general_default_avatar",
-                                              HILDON_ICON_SIZE_THUMB);
         }
         else {
                 gtk_widget_show (priv->empty);
@@ -886,8 +883,8 @@ scroll_anim_cb (ELHomeApplet *self)
 
         priv->scroll_offset += SCROLL_STEP;
         gtk_widget_queue_draw_area (GTK_WIDGET (self),
-                                    3*C_X,
-                                    HEADER_HEIGHT + C_Y,
+                                    3*CONTENT_OFFSET_X,
+                                    HEADER_HEIGHT + CONTENT_OFFSET_Y_TOP,
                                     MESSAGE_WIDTH,
                                     C_HEIGHT - priv->received->allocation.height - HEADER_HEIGHT);
 
@@ -909,7 +906,7 @@ button_press_event_cb (GtkWidget      *widget,
         ELHomeAppletPrivate *priv = self->priv;
 
         if (priv->event_id > 0) {
-                if (event->y < C_Y + HEADER_HEIGHT) {
+                if (event->y < CONTENT_OFFSET_Y_TOP + HEADER_HEIGHT) {
                         if (priv->aggregator &&
                             osso_abook_waitable_is_ready
                             (OSSO_ABOOK_WAITABLE (priv->aggregator), NULL))
@@ -1082,11 +1079,14 @@ el_home_applet_init (ELHomeApplet *self)
         priv->sender = gtk_label_new ("asdf asdf asdf asdf asdf");
         gtk_misc_set_alignment (GTK_MISC (priv->sender),
                                 0.5f,
-                                0.5f);
+                                0.55f);
         gtk_label_set_ellipsize (GTK_LABEL (priv->sender),
                                  PANGO_ELLIPSIZE_END);
         gtk_widget_set_name (priv->sender, "hildon-shadow-label");
         hildon_helper_set_logical_font (priv->sender, "SystemFont");
+        gtk_widget_set_size_request (priv->sender,
+                                     -1,
+                                     HILDON_ICON_PIXEL_SIZE_THUMB);
 
         priv->message = g_strdup ("One two three four five six seven eight nine ten");
 
@@ -1112,10 +1112,9 @@ el_home_applet_init (ELHomeApplet *self)
         GTK_WIDGET_SET_FLAGS (priv->cut_message, GTK_NO_SHOW_ALL);
 
         hbox = gtk_hbox_new (FALSE, 0);
-        /* gtk_box_pack_start (GTK_BOX (hbox), priv->unread, FALSE, FALSE, 0); */
         /* gtk_box_pack_start (GTK_BOX (hbox), priv->icon, FALSE, FALSE, 0); */
-        gtk_box_pack_start (GTK_BOX (hbox), priv->avatar, FALSE, FALSE, 0);
         gtk_box_pack_start (GTK_BOX (hbox), priv->sender, TRUE, TRUE, 0);
+        gtk_box_pack_start (GTK_BOX (hbox), priv->avatar, FALSE, FALSE, 0);
 
         footer = gtk_hbox_new (FALSE, 0);
         gtk_box_pack_start (GTK_BOX (footer), priv->unread, FALSE, FALSE, 0);