[gnumeric] Pixmaps: more more icons to the resource setup.



commit abbe5ccce229bca354370ac7f6ffa1af13270d08
Author: Morten Welinder <terra gnome org>
Date:   Tue Mar 19 16:22:55 2013 -0400

    Pixmaps: more more icons to the resource setup.

 src/.gitignore                                     |    1 +
 src/Makefile.am                                    |   56 ++++++++-
 src/application.c                                  |  140 +++++++++++---------
 src/embedded-imgs.h                                |   12 ++
 src/libgnumeric.c                                  |    4 +-
 src/pixmaps/Makefile.am                            |  117 +----------------
 ...sheet-move-marker.xpm => sheet_move_marker.xpm} |    0
 7 files changed, 149 insertions(+), 181 deletions(-)
---
diff --git a/src/.gitignore b/src/.gitignore
index 48f64e6..b56e21b 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -13,6 +13,7 @@ gnumeric-component
 parser.c
 gnm-marshalers.c
 gnm-marshalers.h
+embedded-imgs.c
 gnumeric-paths.h
 ssconvert
 ssconvert.exe
diff --git a/src/Makefile.am b/src/Makefile.am
index 30ca277..a25de7e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -415,8 +415,60 @@ gnumeric_app_libs =                                \
        tools/libtools.la                       \
        widgets/libwidgets.la
 
-embedded_imgs = \
-       pixmaps/gnumeric_splash_1.4.png         \
+embedded_imgs =                                                \
+       pixmaps/cursor_cross.xpm                        \
+       pixmaps/bucket.xpm                              \
+       pixmaps/font.xpm                                \
+       pixmaps/sheet_move_marker.xpm                   \
+       pixmaps/gp_125grey.xpm                          \
+       pixmaps/gp_25grey.xpm                           \
+       pixmaps/gp_50grey.xpm                           \
+       pixmaps/gp_625grey.xpm                          \
+       pixmaps/gp_75grey.xpm                           \
+       pixmaps/gp_bricks.xpm                           \
+       pixmaps/gp_diag.xpm                             \
+       pixmaps/gp_diag_cross.xpm                       \
+       pixmaps/gp_foreground_solid.xpm                 \
+       pixmaps/gp_horiz.xpm                            \
+       pixmaps/gp_large_circles.xpm                    \
+       pixmaps/gp_rev_diag.xpm                         \
+       pixmaps/gp_semi_circle.xpm                      \
+       pixmaps/gp_small_circle.xpm                     \
+       pixmaps/gp_solid.xpm                            \
+       pixmaps/gp_thatch.xpm                           \
+       pixmaps/gp_thick_diag_cross.xpm                 \
+       pixmaps/gp_thin_diag.xpm                        \
+       pixmaps/gp_thin_diag_cross.xpm                  \
+       pixmaps/gp_thin_horiz.xpm                       \
+       pixmaps/gp_thin_horiz_cross.xpm                 \
+       pixmaps/gp_thin_rev_diag.xpm                    \
+       pixmaps/gp_thin_vert.xpm                        \
+       pixmaps/gp_vert.xpm                             \
+       pixmaps/line_pattern_dash_dot.xpm               \
+       pixmaps/line_pattern_dash_dot_dot.xpm           \
+       pixmaps/line_pattern_dashed.xpm                 \
+       pixmaps/line_pattern_dotted.xpm                 \
+       pixmaps/line_pattern_double.xpm                 \
+       pixmaps/line_pattern_hair.xpm                   \
+       pixmaps/line_pattern_medium.xpm                 \
+       pixmaps/line_pattern_medium_dash.xpm            \
+       pixmaps/line_pattern_medium_dash_dot.xpm        \
+       pixmaps/line_pattern_medium_dash_dot_dot.xpm    \
+       pixmaps/line_pattern_slant.xpm                  \
+       pixmaps/line_pattern_thick.xpm                  \
+       pixmaps/line_pattern_thin.xpm                   \
+       pixmaps/bottom_border.xpm                       \
+       pixmaps/diag_border.xpm                         \
+       pixmaps/inside_border.xpm                       \
+       pixmaps/inside_horiz_border.xpm                 \
+       pixmaps/inside_vert_border.xpm                  \
+       pixmaps/left_border.xpm                         \
+       pixmaps/no_border.xpm                           \
+       pixmaps/outline_border.xpm                      \
+       pixmaps/rev_diag_border.xpm                     \
+       pixmaps/right_border.xpm                        \
+       pixmaps/top_border.xpm                          \
+       pixmaps/gnumeric_splash_1.4.png                 \
        pixmaps/unknown_image.png
 
 embedded-imgs.c: $(top_srcdir)/tools/embedder $(embedded_imgs) Makefile
diff --git a/src/application.c b/src/application.c
index f64e0d9..cbeb726 100644
--- a/src/application.c
+++ b/src/application.c
@@ -23,7 +23,6 @@
 #include "gutils.h"
 #include "ranges.h"
 #include "sheet-object.h"
-#include "pixmaps/gnumeric-stock-pixbufs.h"
 #include "commands.h"
 #include "gui-clipboard.h"
 
@@ -722,74 +721,83 @@ gnumeric_application_get_property (GObject *obj, guint param_id,
 static void
 install_icons (void)
 {
-       static struct {
-               guchar const   *scalable_data;
-               gchar const    *name;
-       } const entry [] = {
+       static const char *icons[] = {
                /* Cursors */
-               { gnm_cursor_cross, "cursor_cross" },
-               { gnm_bucket, "bucket" },
-               { gnm_font, "font" },
-               { sheet_move_marker, "sheet_move_marker" },
+               "cursor_cross.xpm",
+               "bucket.xpm",
+               "font.xpm",
+               "sheet_move_marker.xpm",
+
                /* Patterns */
-               { gp_125grey, "gp_125grey" },
-               { gp_25grey, "gp_25grey" },
-               { gp_50grey, "gp_50grey" },
-               { gp_625grey, "gp_625grey" },
-               { gp_75grey, "gp_75grey" },
-               { gp_bricks, "gp_bricks" },
-               { gp_diag, "gp_diag" },
-               { gp_diag_cross, "gp_diag_cross" },
-               { gp_foreground_solid, "gp_foreground_solid" },
-               { gp_horiz, "gp_horiz" },
-               { gp_large_circles, "gp_large_circles" },
-               { gp_rev_diag, "gp_rev_diag" },
-               { gp_semi_circle, "gp_semi_circle" },
-               { gp_small_circle, "gp_small_circle" },
-               { gp_solid, "gp_solid" },
-               { gp_thatch, "gp_thatch" },
-               { gp_thick_diag_cross, "gp_thick_diag_cross" },
-               { gp_thin_diag, "gp_thin_diag" },
-               { gp_thin_diag_cross, "gp_thin_diag_cross" },
-               { gp_thin_horiz, "gp_thin_horiz" },
-               { gp_thin_horiz_cross, "gp_thin_horiz_cross" },
-               { gp_thin_rev_diag, "gp_thin_rev_diag" },
-               { gp_thin_vert, "gp_thin_vert" },
-               { gp_vert, "gp_vert" },
-               { line_pattern_dash_dot, "line_pattern_dash_dot" },
-               { line_pattern_dash_dot_dot, "line_pattern_dash_dot_dot" },
-               { line_pattern_dashed, "line_pattern_dashed" },
-               { line_pattern_dotted, "line_pattern_dotted" },
-               { line_pattern_double, "line_pattern_double" },
-               { line_pattern_hair, "line_pattern_hair" },
-               { line_pattern_medium, "line_pattern_medium" },
-               { line_pattern_medium_dash, "line_pattern_medium_dash" },
-               { line_pattern_medium_dash_dot, "line_pattern_medium_dash_dot" },
-               { line_pattern_medium_dash_dot_dot, "line_pattern_medium_dash_dot_dot" },
-               { line_pattern_slant, "line_pattern_slant" },
-               { line_pattern_thick, "line_pattern_thick" },
-               { line_pattern_thin, "line_pattern_thin" },
+               "gp_125grey.xpm",
+               "gp_25grey.xpm",
+               "gp_50grey.xpm",
+               "gp_625grey.xpm",
+               "gp_75grey.xpm",
+               "gp_bricks.xpm",
+               "gp_diag.xpm",
+               "gp_diag_cross.xpm",
+               "gp_foreground_solid.xpm",
+               "gp_horiz.xpm",
+               "gp_large_circles.xpm",
+               "gp_rev_diag.xpm",
+               "gp_semi_circle.xpm",
+               "gp_small_circle.xpm",
+               "gp_solid.xpm",
+               "gp_thatch.xpm",
+               "gp_thick_diag_cross.xpm",
+               "gp_thin_diag.xpm",
+               "gp_thin_diag_cross.xpm",
+               "gp_thin_horiz.xpm",
+               "gp_thin_horiz_cross.xpm",
+               "gp_thin_rev_diag.xpm",
+               "gp_thin_vert.xpm",
+               "gp_vert.xpm",
+               "line_pattern_dash_dot.xpm",
+               "line_pattern_dash_dot_dot.xpm",
+               "line_pattern_dashed.xpm",
+               "line_pattern_dotted.xpm",
+               "line_pattern_double.xpm",
+               "line_pattern_hair.xpm",
+               "line_pattern_medium.xpm",
+               "line_pattern_medium_dash.xpm",
+               "line_pattern_medium_dash_dot.xpm",
+               "line_pattern_medium_dash_dot_dot.xpm",
+               "line_pattern_slant.xpm",
+               "line_pattern_thick.xpm",
+               "line_pattern_thin.xpm",
+
                /* Borders */
-               { bottom_border, "bottom_border" },
-               { diag_border, "diag_border" },
-               { inside_border, "inside_border" },
-               { inside_horiz_border, "inside_horiz_border" },
-               { inside_vert_border, "inside_vert_border" },
-               { left_border, "left_border" },
-               { no_border, "no_border" },
-               { outline_border, "outline_border" },
-               { rev_diag_border, "rev_diag_border" },
-               { right_border, "right_border" },
-               { top_border, "top_border" },
+               "bottom_border.xpm",
+               "diag_border.xpm",
+               "inside_border.xpm",
+               "inside_horiz_border.xpm",
+               "inside_vert_border.xpm",
+               "left_border.xpm",
+               "no_border.xpm",
+               "outline_border.xpm",
+               "rev_diag_border.xpm",
+               "right_border.xpm",
+               "top_border.xpm"
        };
        unsigned int ui;
 
-       for (ui = 0; ui < G_N_ELEMENTS (entry); ui++) {
-               GdkPixbuf *pixbuf = gdk_pixbuf_new_from_inline
-                       (-1, entry[ui].scalable_data, FALSE, NULL);
-               gtk_icon_theme_add_builtin_icon (entry[ui].name,
-                       gdk_pixbuf_get_width (pixbuf), pixbuf);
+       for (ui = 0; ui < G_N_ELEMENTS (icons); ui++) {
+               const char *filename = icons[ui];
+               char *res = g_strconcat ("res:gnm:pixmaps/", filename, NULL);
+               char *iconname;
+               GdkPixbuf *pixbuf = go_gdk_pixbuf_load_from_file (res);
+               int size = gdk_pixbuf_get_width (pixbuf);
+
+               iconname = g_strdup (filename);
+               strchr(iconname, '.')[0] = 0;
+               gtk_icon_theme_add_builtin_icon (iconname,
+                                                size,
+                                                pixbuf);
+
                g_object_unref (pixbuf);
+               g_free (iconname);
+               g_free (res);
        }
 }
 
@@ -863,14 +871,18 @@ gnm_app_class_init (GObjectClass *gobject_klass)
                NULL, NULL,
                g_cclosure_marshal_VOID__VOID,
                G_TYPE_NONE, 0);
-
-       install_icons ();
 }
 
 static void
 gnm_app_init (GObject *obj)
 {
        GnmApp *gnm_app = GNM_APP (obj);
+       static gboolean icons_installed = FALSE;
+
+       if (!icons_installed) {
+               icons_installed = TRUE;
+               install_icons ();
+       }
 
        gnm_app->clipboard_copied_contents = NULL;
        gnm_app->clipboard_sheet_view = NULL;
diff --git a/src/embedded-imgs.h b/src/embedded-imgs.h
new file mode 100644
index 0000000..2d1b741
--- /dev/null
+++ b/src/embedded-imgs.h
@@ -0,0 +1,12 @@
+#ifndef GNUMERIC_EMBEDDED_IMGS_H
+#define GNUMERIC_EMBEDDED_IMGS_H
+
+#include "gnumeric.h"
+
+G_BEGIN_DECLS
+
+void gnm_register_imgs_files (void);
+
+G_END_DECLS
+
+#endif
diff --git a/src/libgnumeric.c b/src/libgnumeric.c
index 339c790..c771998 100644
--- a/src/libgnumeric.c
+++ b/src/libgnumeric.c
@@ -243,6 +243,8 @@ gnm_init (void)
        inited = TRUE;
 
        libgoffice_init ();
+       gnm_register_ui_files ();
+       gnm_register_imgs_files ();
        go_plugin_service_define ("function_group",
                &plugin_service_function_group_get_type);
        go_plugin_service_define ("ui",
@@ -252,8 +254,6 @@ gnm_init (void)
        go_plugin_loader_module_register_version ("gnumeric", GNM_VERSION_FULL);
 
        g_object_new (GNM_APP_TYPE, NULL);
-       gnm_register_ui_files ();
-       gnm_register_imgs_files ();
        mathfunc_init ();
 
        gnm_style_init ();
diff --git a/src/pixmaps/Makefile.am b/src/pixmaps/Makefile.am
index 9041173..6a10c2f 100644
--- a/src/pixmaps/Makefile.am
+++ b/src/pixmaps/Makefile.am
@@ -41,8 +41,8 @@ IMAGES =                                                      \
        equal-sign.xpm          \
        formula_guru_16.png             formula_guru_24.png     \
        insert_image_16.png             insert_image_24.png     \
-       bucket.xpm              \
-       font.xpm                \
+       bucket.xpm              \
+       font.xpm                \
        expr_entry.png          \
        \
        gnm_subscript_16.png            gnm_subscript_24.png    \
@@ -64,57 +64,6 @@ IMAGES =                                                     \
        object_spinbutton_24.png        \
        object_slider_24.png            \
        \
-       bottom_border.xpm               \
-       diag_border.xpm                 \
-       inside_border.xpm               \
-       inside_horiz_border.xpm         \
-       inside_vert_border.xpm          \
-       left_border.xpm                 \
-       no_border.xpm                   \
-       outline_border.xpm              \
-       rev_diag_border.xpm             \
-       right_border.xpm                \
-       top_border.xpm                  \
-       \
-       gp_125grey.xpm                  \
-       gp_25grey.xpm                   \
-       gp_50grey.xpm                   \
-       gp_625grey.xpm                  \
-       gp_75grey.xpm                   \
-       gp_bricks.xpm                   \
-       gp_diag.xpm                     \
-       gp_diag_cross.xpm               \
-       gp_foreground_solid.xpm         \
-       gp_horiz.xpm                    \
-       gp_large_circles.xpm            \
-       gp_rev_diag.xpm                 \
-       gp_semi_circle.xpm              \
-       gp_small_circle.xpm             \
-       gp_solid.xpm                    \
-       gp_thatch.xpm                   \
-       gp_thick_diag_cross.xpm         \
-       gp_thin_diag.xpm                \
-       gp_thin_diag_cross.xpm          \
-       gp_thin_horiz.xpm               \
-       gp_thin_horiz_cross.xpm         \
-       gp_thin_rev_diag.xpm            \
-       gp_thin_vert.xpm                \
-       gp_vert.xpm                     \
-       \
-       line_pattern_dash_dot.xpm               \
-       line_pattern_dash_dot_dot.xpm           \
-       line_pattern_dashed.xpm                 \
-       line_pattern_dotted.xpm                 \
-       line_pattern_double.xpm                 \
-       line_pattern_hair.xpm                   \
-       line_pattern_medium.xpm                 \
-       line_pattern_medium_dash.xpm            \
-       line_pattern_medium_dash_dot.xpm        \
-       line_pattern_medium_dash_dot_dot.xpm    \
-       line_pattern_slant.xpm                  \
-       line_pattern_thick.xpm                  \
-       line_pattern_thin.xpm                   \
-       \
        border_all.xpm                  \
        border_bottom.xpm               \
        border_double_bottom.xpm        \
@@ -134,9 +83,6 @@ IMAGES =                                                     \
        protection_yes_48.png           \
        visible.png                     \
        \
-       cursor_cross.xpm                \
-       sheet-move-marker.xpm           \
-       \
        link_add_16.png                 link_add_24.png         \
        link_delete_16.png                                      \
        link_edit_16.png                                        \
@@ -225,14 +171,12 @@ VARIABLES =                                                                             
          \
        gnm_formula_guru_24                     $(srcdir)/formula_guru_24.png                   \
        gnm_insert_image_16                     $(srcdir)/insert_image_16.png                   \
        gnm_insert_image_24                     $(srcdir)/insert_image_24.png                   \
-       gnm_bucket                              $(srcdir)/bucket.xpm                            \
-       gnm_font                                $(srcdir)/font.xpm                              \
+       gnm_bucket                              $(srcdir)/bucket.xpm                            \
+       gnm_font                                $(srcdir)/font.xpm                              \
        gnm_expr_entry                          $(srcdir)/expr_entry.png                        \
        gnm_brush_16                            $(srcdir)/brush-16.png                          \
        gnm_brush_22                            $(srcdir)/brush-22.png                          \
        \
-       unknown_image                           $(srcdir)/unknown_image.png                     \
-       \
        gnm_object_arrow_24                     $(srcdir)/object_arrow_24.png                   \
        gnm_object_ellipse_24                   $(srcdir)/object_ellipse_24.png                 \
        gnm_object_line_24                      $(srcdir)/object_line_24.png                    \
@@ -249,57 +193,6 @@ VARIABLES =                                                                              
          \
        gnm_object_combo_24                     $(srcdir)/object_combo_24.png                   \
        gnm_object_list_24                      $(srcdir)/object_list_24.png                    \
        \
-       bottom_border                           $(srcdir)/bottom_border.xpm                     \
-       diag_border                             $(srcdir)/diag_border.xpm                       \
-       inside_border                           $(srcdir)/inside_border.xpm                     \
-       inside_horiz_border                     $(srcdir)/inside_horiz_border.xpm               \
-       inside_vert_border                      $(srcdir)/inside_vert_border.xpm                \
-       left_border                             $(srcdir)/left_border.xpm                       \
-       no_border                               $(srcdir)/no_border.xpm                         \
-       outline_border                          $(srcdir)/outline_border.xpm                    \
-       rev_diag_border                         $(srcdir)/rev_diag_border.xpm                   \
-       right_border                            $(srcdir)/right_border.xpm                      \
-       top_border                              $(srcdir)/top_border.xpm                        \
-       \
-       gp_125grey                              $(srcdir)/gp_125grey.xpm                        \
-       gp_25grey                               $(srcdir)/gp_25grey.xpm                         \
-       gp_50grey                               $(srcdir)/gp_50grey.xpm                         \
-       gp_625grey                              $(srcdir)/gp_625grey.xpm                        \
-       gp_75grey                               $(srcdir)/gp_75grey.xpm                         \
-       gp_bricks                               $(srcdir)/gp_bricks.xpm                         \
-       gp_diag                                 $(srcdir)/gp_diag.xpm                           \
-       gp_diag_cross                           $(srcdir)/gp_diag_cross.xpm                     \
-       gp_foreground_solid                     $(srcdir)/gp_foreground_solid.xpm               \
-       gp_horiz                                $(srcdir)/gp_horiz.xpm                          \
-       gp_large_circles                        $(srcdir)/gp_large_circles.xpm                  \
-       gp_rev_diag                             $(srcdir)/gp_rev_diag.xpm                       \
-       gp_semi_circle                          $(srcdir)/gp_semi_circle.xpm                    \
-       gp_small_circle                         $(srcdir)/gp_small_circle.xpm                   \
-       gp_solid                                $(srcdir)/gp_solid.xpm                          \
-       gp_thatch                               $(srcdir)/gp_thatch.xpm                         \
-       gp_thick_diag_cross                     $(srcdir)/gp_thick_diag_cross.xpm               \
-       gp_thin_diag                            $(srcdir)/gp_thin_diag.xpm                      \
-       gp_thin_diag_cross                      $(srcdir)/gp_thin_diag_cross.xpm                \
-       gp_thin_horiz                           $(srcdir)/gp_thin_horiz.xpm                     \
-       gp_thin_horiz_cross                     $(srcdir)/gp_thin_horiz_cross.xpm               \
-       gp_thin_rev_diag                        $(srcdir)/gp_thin_rev_diag.xpm                  \
-       gp_thin_vert                            $(srcdir)/gp_thin_vert.xpm                      \
-       gp_vert                                 $(srcdir)/gp_vert.xpm                           \
-       \
-       line_pattern_dash_dot                   $(srcdir)/line_pattern_dash_dot.xpm             \
-       line_pattern_dash_dot_dot               $(srcdir)/line_pattern_dash_dot_dot.xpm         \
-       line_pattern_dashed                     $(srcdir)/line_pattern_dashed.xpm               \
-       line_pattern_dotted                     $(srcdir)/line_pattern_dotted.xpm               \
-       line_pattern_double                     $(srcdir)/line_pattern_double.xpm               \
-       line_pattern_hair                       $(srcdir)/line_pattern_hair.xpm                 \
-       line_pattern_medium                     $(srcdir)/line_pattern_medium.xpm               \
-       line_pattern_medium_dash                $(srcdir)/line_pattern_medium_dash.xpm          \
-       line_pattern_medium_dash_dot            $(srcdir)/line_pattern_medium_dash_dot.xpm      \
-       line_pattern_medium_dash_dot_dot        $(srcdir)/line_pattern_medium_dash_dot_dot.xpm  \
-       line_pattern_slant                      $(srcdir)/line_pattern_slant.xpm                \
-       line_pattern_thick                      $(srcdir)/line_pattern_thick.xpm                \
-       line_pattern_thin                       $(srcdir)/line_pattern_thin.xpm                 \
-       \
        gnm_border_left                         $(srcdir)/border_left.xpm                       \
        gnm_border_none                         $(srcdir)/border_none.xpm                       \
        gnm_border_right                        $(srcdir)/border_right.xpm                      \
@@ -320,8 +213,6 @@ VARIABLES =                                                                               
          \
        gnm_protection_yes_48                   $(srcdir)/protection_yes_48.png                 \
        gnm_visible                             $(srcdir)/visible.png \
        \
-       gnm_cursor_cross                        $(srcdir)/cursor_cross.xpm                      \
-       sheet_move_marker                       $(srcdir)/sheet-move-marker.xpm                 \
        \
        gnm_link_add_16                         $(srcdir)/link_add_16.png                       \
        gnm_link_add_24                         $(srcdir)/link_add_24.png                       \
diff --git a/src/pixmaps/sheet-move-marker.xpm b/src/pixmaps/sheet_move_marker.xpm
similarity index 100%
rename from src/pixmaps/sheet-move-marker.xpm
rename to src/pixmaps/sheet_move_marker.xpm


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]