Set a different widget name to notes in portrait mode
authorAlberto Garcia <agarcia@igalia.com>
Tue, 16 Jun 2009 12:14:46 +0000 (14:14 +0200)
committerAlberto Garcia <agarcia@igalia.com>
Tue, 16 Jun 2009 12:17:32 +0000 (14:17 +0200)
* hildon/hildon-note.c (hildon_note_rename, screen_size_changed):
Set a different widget name to notes in portrait mode, for them to
be themed correctly.

Partially fixes: NB#118401 (HildonNote causes unnecessary
rescaling of images)

ChangeLog
hildon/hildon-note.c

index 36d2f7a..84a8fe9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2009-06-16  Alberto Garcia  <agarcia@igalia.com>
 
+       * hildon/hildon-note.c (hildon_note_rename, screen_size_changed):
+       Set a different widget name to notes in portrait mode, for them to
+       be themed correctly.
+
+       Partially fixes: NB#118401 (HildonNote causes unnecessary
+       rescaling of images)
+
+2009-06-16  Alberto Garcia  <agarcia@igalia.com>
+
        * hildon/hildon-note.c (hildon_note_class_init)
        (+hildon_note_size_request, screen_size_changed):
        Always request the full width of the screen.
index 278fc3d..88bfe8c 100644 (file)
@@ -552,6 +552,8 @@ screen_size_changed                            (GdkScreen *screen,
 {
     HildonNotePrivate *priv = HILDON_NOTE_GET_PRIVATE (note);
 
+    hildon_note_rename (HILDON_NOTE (note));
+
     if (priv->note_n == HILDON_NOTE_TYPE_INFORMATION ||
         priv->note_n == HILDON_NOTE_TYPE_INFORMATION_THEME) {
         gint screen_width = gdk_screen_get_width (screen);
@@ -640,13 +642,16 @@ hildon_note_rename                              (HildonNote *note)
   GEnumValue *value;
   GEnumClass *enum_class;
   gchar *name;
+  GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (note));
+  gboolean portrait = gdk_screen_get_width (screen) < gdk_screen_get_height (screen);
+  const gchar *portrait_suffix = portrait ? "-portrait" : NULL;
 
   HildonNotePrivate *priv = HILDON_NOTE_GET_PRIVATE (note);
 
   enum_class = g_type_class_ref (HILDON_TYPE_NOTE_TYPE);
   value = g_enum_get_value (enum_class, priv->note_n);
 
-  name = g_strconcat ("HildonNote-", value->value_nick, NULL);
+  name = g_strconcat ("HildonNote-", value->value_nick, portrait_suffix, NULL);
   gtk_widget_set_name (GTK_WIDGET (note), name);
   g_free (name);