Icon sizes fixture.
authorMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Fri, 2 Feb 2007 15:33:37 +0000 (15:33 +0000)
committerMichael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
Fri, 2 Feb 2007 15:33:37 +0000 (15:33 +0000)
ChangeLog.2
doc/Makefile.am
doc/gtk-doc.make
examples/Makefile.am
examples/hildon-icon-sizes-example.c [new file with mode: 0644]
src/hildon-date-editor.c
src/hildon-defines.c
src/hildon-defines.h
src/hildon-time-editor.c
src/hildon-wizard-dialog.c

index 662be51..5067a3b 100644 (file)
@@ -1,3 +1,18 @@
+2007-02-02  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
+
+       * doc/Makefile.am:
+       * doc/gtk-doc.make: EXTRA_DIST cleanup.
+
+       * src/hildon-defines.c:
+       * src/hildon-defines.h: Icon sizes fixture.
+
+       * examples/Makefile.am:
+       * examples/hildon-icon-sizes-example.c: Example for new icon defines.
+
+       * src/hildon-time-editor.c:
+       * src/hildon-wizard-dialog.c:
+       * src/hildon-date-editor.c: Fixes for new icon sizes.
+
 2007-02-01  Michael Dominic Kostrzewa  <michael.kostrzewa@nokia.com> 
 
        * src/hildon-helper.c:
index 96af44a..9a03916 100644 (file)
@@ -1,5 +1,3 @@
-EXTRA_DIST                                     = gtk-doc.make
-
 MAINTAINERCLEANFILES                           = Makefile.in                           \
                                                  hildon-sections.txt                   \
                                                  hildon-undocumented.txt               \
index eaa2be2..9799122 100644 (file)
@@ -26,7 +26,8 @@ EXTRA_DIST =                          \
        $(HTML_IMAGES)                  \
        $(DOC_MAIN_SGML_FILE)           \
        $(DOC_MODULE)-sections.txt      \
-       $(DOC_MODULE)-overrides.txt
+       $(DOC_MODULE)-overrides.txt     \
+        gtk-doc.make
 
 DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
           $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
index c7ad96d..9fea62a 100644 (file)
@@ -12,7 +12,8 @@ noinst_PROGRAMS                               = hildon-window-example         \
                                          hildon-color-chooser-example  \
                                          hildon-color-button-example   \
                                          hildon-login-dialog-example   \
-                                         hildon-time-editor-example
+                                         hildon-time-editor-example    \
+                                         hildon-icon-sizes-example
 
 # HIldon window
 hildon_window_example_LDADD            = $(HILDON_OBJ_LIBS)
@@ -74,4 +75,9 @@ hildon_login_dialog_example_LDADD     = $(HILDON_OBJ_LIBS)
 hildon_login_dialog_example_CFLAGS     = $(HILDON_OBJ_CFLAGS)
 hildon_login_dialog_example_SOURCES    = hildon-login-dialog-example.c
 
+# HIldon window
+hildon_icon_sizes_example_LDADD                = $(HILDON_OBJ_LIBS)
+hildon_icon_sizes_example_CFLAGS       = $(HILDON_OBJ_CFLAGS)
+hildon_icon_sizes_example_SOURCES      = hildon-icon-sizes-example.c
+
 endif
diff --git a/examples/hildon-icon-sizes-example.c b/examples/hildon-icon-sizes-example.c
new file mode 100644 (file)
index 0000000..d7d362f
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * This file is a part of hildon examples
+ *
+ * Copyright (C) 2005, 2006 Nokia Corporation, all rights reserved.
+ *
+ * Author: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#include                                        <stdio.h>
+#include                                        <stdlib.h>
+#include                                        <glib.h>
+#include                                        <gtk/gtk.h>
+#include                                        "hildon.h"
+
+int
+main                                            (int argc, 
+                                                 char **args)
+{
+    gtk_init (&argc, &args);
+
+    g_debug ("Small pixel size: %d", HILDON_ICON_PIXEL_SIZE_SMALL);
+    g_debug ("Wizard pixel size: %d", HILDON_ICON_PIXEL_SIZE_WIZARD);
+    g_debug ("Toolbar pixel size: %d", HILDON_ICON_PIXEL_SIZE_TOOLBAR);
+    g_debug ("Note pixel size: %d", HILDON_ICON_PIXEL_SIZE_NOTE);
+    g_debug ("Big note pixel size: %d", HILDON_ICON_PIXEL_SIZE_BIG_NOTE);
+    
+    return 0;
+}
+
+
index caac2dd..ca86542 100644 (file)
@@ -325,7 +325,7 @@ real_set_calendar_icon_state                    (HildonDateEditorPrivate *priv,
     g_assert (priv);
 
     gtk_image_set_from_icon_name (GTK_IMAGE (priv->calendar_icon),
-            pressed ? "qgn_widg_datedit_pr" : "qgn_widg_datedit", HILDON_ICON_SIZE_WIDG);
+            pressed ? "qgn_widg_datedit_pr" : "qgn_widg_datedit", HILDON_ICON_SIZE_SMALL);
 
     priv->calendar_icon_pressed = pressed;
 }
index 1dc7990..5ad7e9b 100644 (file)
 #include                                        <gtk/gtk.h>
 #include                                        "hildon-defines.h"
 
-const HildonIconSizes*                          hildoniconsizes = NULL;
-
-static HildonIconSizes                          iis; /* hildon internal icon sizes */
-
 /**
- * hildon_icon_sizes_init:
+ * hildon_get_icon_pixel_size:
+ * @size: the icon size to get pixel size for
  *
- * Initializes the icon size structures. Normally 
- * it's not needed to call this manually. 
+ * Returns the icon size (height) for the given, named icon.
+ * In most cases it's much more convienient to call one of the 
+ * predefined macros instead of this function directly.
  *
+ * Returns: the height/width of icon to use. O if icon could not be found. 
  */
-void 
-hildon_icon_sizes_init                          (void)
+gint
+hildon_get_icon_pixel_size                      (GtkIconSize size)
 {
-    if (hildoniconsizes != NULL)
-        return;
-
-    hildoniconsizes = &iis;
-
-    iis.icon_size_list                       = gtk_icon_size_register ("hildon_icon_size_list",                64, 64);
-    iis.icon_size_small                      = gtk_icon_size_register ("*icon_size_small",                     26, 26);
-    iis.icon_size_toolbar                    = gtk_icon_size_register ("icon_size_toolbar",                    26, 26);
-    iis.icon_size_widg                       = gtk_icon_size_register ("icon_size_widg",                       26, 26);
-    iis.icon_size_widg_wizard                = gtk_icon_size_register ("icon_size_widg_wizard",                50, 50);
-    iis.icon_size_grid                       = gtk_icon_size_register ("icon_size_grid",                       64, 64);
-    iis.icon_size_big_note                   = gtk_icon_size_register ("icon_size_big_note",                   50, 50);
-    iis.icon_size_note                       = gtk_icon_size_register ("icon_size_note",                       26, 26);
-    iis.icon_size_statusbar                  = gtk_icon_size_register ("icon_size_statusbar",                  40, 40);
-    iis.icon_size_indi_video_player_pre_roll = gtk_icon_size_register ("icon_size_indi_video_player_pre_roll", 64, 64);
-    iis.icon_size_indi_key_pad_lock          = gtk_icon_size_register ("icon_size_indi_key_pad_lock",          50, 50);
-    iis.icon_size_indi_copy                  = gtk_icon_size_register ("icon_size_indi_copy",                  64, 64);
-    iis.icon_size_indi_delete                = gtk_icon_size_register ("icon_size_indi_delete",                64, 64);
-    iis.icon_size_indi_process               = gtk_icon_size_register ("icon_size_indi_process",               64, 64);
-    iis.icon_size_indi_progressball          = gtk_icon_size_register ("icon_size_indi_progressball",          64, 64);
-    iis.icon_size_indi_send                  = gtk_icon_size_register ("icon_size_indi_send",                  64, 64);
-    iis.icon_size_indi_offmode_charging      = gtk_icon_size_register ("icon_size_indi_offmode_charging",      50, 50);
-    iis.icon_size_indi_tap_and_hold          = gtk_icon_size_register ("icon_size_indi_tap_and_hold",          34, 34);
-    iis.icon_size_indi_send_receive          = gtk_icon_size_register ("icon_size_indi_send_receive",          64, 64);
-    iis.icon_size_indi_wlan_strength         = gtk_icon_size_register ("icon_size_indi_wlan_strength",         64, 64);
-
-    iis.image_size_indi_nokia_logo           = gtk_icon_size_register ("image_size_indi_nokia_logo",           64, 64);
-    iis.image_size_indi_startup_failed       = gtk_icon_size_register ("image_size_indi_startup_failed",       64, 64);
-    iis.image_size_indi_startup_nokia_logo   = gtk_icon_size_register ("image_size_indi_startup_nokia_logo",   64, 64);
-    iis.image_size_indi_nokia_hands          = gtk_icon_size_register ("image_size_indi_nokia_hands",          64, 64);
+    gint w, h;
+    
+    if (gtk_icon_size_lookup (size, &w, &h))
+        return h;
+    else
+        return 0;
 }
 
+
index 40a5efc..3cacc74 100644 (file)
 #ifndef                                         __HILDON_DEFINES_H__
 #define                                         __HILDON_DEFINES_H__
 
-#include                                        <gtk/gtkwindow.h>
+#include                                        <gtk/gtk.h>
 #include                                        <gdk/gdkkeysyms.h>
 
 G_BEGIN_DECLS
 
-typedef struct                                  _HildonIconSizes HildonIconSizes;
-
-struct                                          _HildonIconSizes
-{
-    GtkIconSize icon_size_list;
-    GtkIconSize icon_size_small;
-    GtkIconSize icon_size_toolbar;
-    GtkIconSize icon_size_widg;
-    GtkIconSize icon_size_widg_wizard;
-    GtkIconSize icon_size_grid;
-    GtkIconSize icon_size_big_note;
-    GtkIconSize icon_size_note;
-    GtkIconSize icon_size_statusbar;
-    GtkIconSize icon_size_indi_video_player_pre_roll;
-    GtkIconSize icon_size_indi_key_pad_lock;
-    GtkIconSize icon_size_indi_copy;
-    GtkIconSize icon_size_indi_delete;
-    GtkIconSize icon_size_indi_process;
-    GtkIconSize icon_size_indi_progressball;
-    GtkIconSize icon_size_indi_send;
-    GtkIconSize icon_size_indi_offmode_charging;
-    GtkIconSize icon_size_indi_tap_and_hold;
-    GtkIconSize icon_size_indi_send_receive;
-    GtkIconSize icon_size_indi_wlan_strength;
-    GtkIconSize image_size_indi_nokia_logo;
-    GtkIconSize image_size_indi_startup_failed;
-    GtkIconSize image_size_indi_startup_nokia_logo;
-    GtkIconSize image_size_indi_nokia_hands;
-};
-
-extern const                                    HildonIconSizes *hildoniconsizes;
-
-#define                                         HILDON_ICON_SIZE_CHECK_AND_GET(iconvar) \
-                                                (!hildoniconsizes ? \
-                                                 hildon_icon_sizes_init (), hildoniconsizes->iconvar : \
-                                                 hildoniconsizes->iconvar)
-
-#define                                         HILDON_ICON_SIZE_LIST \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_list)
-
 #define                                         HILDON_ICON_SIZE_SMALL \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_small)
+                                                gtk_icon_size_from_name ("gtk-menu")
 
 #define                                         HILDON_ICON_SIZE_TOOLBAR \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_toolbar)
-
-#define                                         HILDON_ICON_SIZE_WIDG \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg)
-
-#define                                         HILDON_ICON_SIZE_WIDG_WIZARD \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg_wizard)
+                                                gtk_icon_size_from_name ("gtk-menu")
 
-#define                                         HILDON_ICON_SIZE_GRID \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_grid)
+#define                                         HILDON_ICON_SIZE_WIZARD \
+                                                gtk_icon_size_from_name ("gtk-dialog")
 
 #define                                         HILDON_ICON_SIZE_BIG_NOTE \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_big_note)
+                                                gtk_icon_size_from_name ("gtk-dialog")
 
 #define                                         HILDON_ICON_SIZE_NOTE \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_note)
-
-#define                                         HILDON_ICON_SIZE_STATUSBAR \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_statusbar)
-
-#define                                         HILDON_ICON_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_video_player_pre_roll)
-
-#define                                         HILDON_ICON_SIZE_INDI_COPY \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_copy)
-
-#define                                         HILDON_ICON_SIZE_INDI_DELETE \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_delete)
-
-#define                                         HILDON_ICON_SIZE_INDI_PROCESS \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_process)
-
-#define                                         HILDON_ICON_SIZE_INDI_PROGRESSBALL \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_progressball)
-
-#define                                         HILDON_ICON_SIZE_INDI_SEND \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send)
-
-#define                                         HILDON_ICON_SIZE_INDI_OFFMODE_CHARGING \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_offmode)
-
-#define                                         HILDON_ICON_SIZE_INDI_TAP_AND_HOLD \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_tap_and_hold)
-
-#define                                         HILDON_ICON_SIZE_INDI_SEND_RECEIVE \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send_receive)
-
-#define                                         HILDON_ICON_SIZE_INDI_WLAN_STRENGTH \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_wlan_strength)
-
-#define                                         HILDON_IMAGE_SIZE_INDI_NOKIA_LOGO \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_logo)
-
-#define                                         HILDON_IMAGE_SIZE_INDI_STARTUP_FAILED \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_failed)
-
-#define                                         HILDON_IMAGE_SIZE_INDI_STARTUP_NOKIA_LOGO \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_logo)
-
-#define                                         HILDON_IMAGE_SIZE_INDI_NOKIA_HAND \
-                                                HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_hands)
+                                                gtk_icon_size_from_name ("gtk-menu")
 
 /* Actual icon sizes */
 
-#define                                         HILDON_ICON_PIXEL_SIZE_LIST 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_SMALL 26
-
-#define                                         HILDON_ICON_PIXEL_SIZE_TOOLBAR 26
-
-#define                                         HILDON_ICON_PIXEL_SIZE_WIDG 26
-
-#define                                         HILDON_ICON_PIXEL_SIZE_WIDG_WIZARD 50
-
-#define                                         HILDON_ICON_PIXEL_SIZE_GRID 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_BIG_NOTE 50
-
-#define                                         HILDON_ICON_PIXEL_SIZE_NOTE 26
-
-#define                                         HILDON_ICON_PIXEL_SIZE_STATUSBAR 40
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_KEY_PAD_LOCK 50
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_COPY 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_DELETE 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_PROCESS 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_PROGRESSBALL 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_SEND 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_OFFMODE_CHARGING 50
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_TAP_AND_HOLD 34
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_SEND_RECEIVE 64
-
-#define                                         HILDON_ICON_PIXEL_SIZE_INDI_WLAN_STRENGTH 64
+#define                                         HILDON_ICON_PIXEL_SIZE_SMALL \
+                                                hildon_get_icon_pixel_size (HILDON_ICON_SIZE_SMALL)
 
-/* Actual image sizes */
+#define                                         HILDON_ICON_PIXEL_SIZE_TOOLBAR \
+                                                hildon_get_icon_pixel_size (HILDON_ICON_SIZE_TOOLBAR)
 
-#define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_LOGO 64
+#define                                         HILDON_ICON_PIXEL_SIZE_WIZARD \
+                                                hildon_get_icon_pixel_size (HILDON_ICON_SIZE_WIZARD)
 
-#define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_FAILED 64
+#define                                         HILDON_ICON_PIXEL_SIZE_BIG_NOTE \
+                                                hildon_get_icon_pixel_size (HILDON_ICON_SIZE_BIG_NOTE)
 
-#define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_NOKIA_LOGO 64
+#define                                         HILDON_ICON_PIXEL_SIZE_NOTE \
+                                                hildon_get_icon_pixel_size (HILDON_ICON_SIZE_NOTE)
 
-#define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_HANDS 64
+/* Margins */
 
 #define                                         HILDON_MARGIN_HALF 3
 
@@ -204,26 +80,26 @@ extern const                                    HildonIconSizes *hildoniconsizes
 
 #define                                         HILDON_HARDKEY_LEFT GDK_Left
 
-#define                                         HILDON_HARDKEY_RIGHT      GDK_Right
+#define                                         HILDON_HARDKEY_RIGHT GDK_Right
 
-#define                                         HILDON_HARDKEY_DOWN       GDK_Down
+#define                                         HILDON_HARDKEY_DOWN GDK_Down
 
-#define                                         HILDON_HARDKEY_SELECT     GDK_Return
+#define                                         HILDON_HARDKEY_SELECT GDK_Return
 
-#define                                         HILDON_HARDKEY_MENU       GDK_F4
+#define                                         HILDON_HARDKEY_MENU GDK_F4
 
-#define                                         HILDON_HARDKEY_HOME       GDK_F5
+#define                                         HILDON_HARDKEY_HOME GDK_F5
 
-#define                                         HILDON_HARDKEY_ESC        GDK_Escape
+#define                                         HILDON_HARDKEY_ESC GDK_Escape
 
 #define                                         HILDON_HARDKEY_FULLSCREEN GDK_F6
 
-#define                                         HILDON_HARDKEY_INCREASE   GDK_F7
+#define                                         HILDON_HARDKEY_INCREASE GDK_F7
 
-#define                                         HILDON_HARDKEY_DECREASE   GDK_F8
+#define                                         HILDON_HARDKEY_DECREASE GDK_F8
 
-void 
-hildon_icon_sizes_init                          (void);
+gint
+hildon_get_icon_pixel_size                      (GtkIconSize size);
 
 G_END_DECLS
 
index 126a4a8..53d93a3 100644 (file)
@@ -511,7 +511,7 @@ hildon_time_editor_init                         (HildonTimeEditor *editor)
     priv->ampm_button    = gtk_button_new();
     priv->skipper        = FALSE;
 
-    icon = gtk_image_new_from_icon_name (ICON_NAME, HILDON_ICON_SIZE_WIDG);
+    icon = gtk_image_new_from_icon_name (ICON_NAME, HILDON_ICON_SIZE_SMALL);
     hbox = gtk_hbox_new (FALSE, 0);
 
     GTK_WIDGET_SET_FLAGS (editor, GTK_NO_WINDOW);
index c9ae3fe..9bc8bb2 100644 (file)
@@ -245,7 +245,7 @@ hildon_wizard_dialog_init                       (HildonWizardDialog *wizard_dial
     gtk_dialog_set_has_separator (dialog, FALSE);
 
     priv->box = GTK_BOX (gtk_hbox_new (FALSE, 0));
-    priv->image = gtk_image_new_from_icon_name ("qgn_widg_wizard", HILDON_ICON_SIZE_WIDG_WIZARD);
+    priv->image = gtk_image_new_from_icon_name ("qgn_widg_wizard", HILDON_ICON_SIZE_WIZARD);
 
     /* Default values for user provided properties */
     priv->notebook = NULL;