Use special icons for file selector and bookmarks in file selector; do not use 'file-manager' icon with gnome theme

master
Yevgen Muntyan 2007-04-07 15:17:46 -05:00
parent 84d5a2dc7a
commit 7696e0548f
5 changed files with 141 additions and 10 deletions

View File

@ -1215,7 +1215,7 @@ init_actions (MooFileView *fileview)
moo_action_group_add_action (group, "BookmarksMenu",
"label", _("Bookmarks"),
"tooltip", _("Bookmarks"),
"stock-id", GTK_STOCK_ABOUT,
"stock-id", MOO_STOCK_FILE_BOOKMARK,
"closure-object", fileview,
"closure-callback", view_bookmarks,
"has-submenu", TRUE,

View File

@ -134,6 +134,7 @@ mooutils_sources = \
stock-about-24.h \
stock-edit-16.h \
stock-edit-24.h \
stock-file-manager-24.h \
stock-moo.h \
stock-select-all-16.h \
stock-select-all-24.h \

View File

@ -14,9 +14,11 @@
#include "mooutils/moostock.h"
#include "mooutils/moocompat.h"
#include "mooutils/stock-terminal-24.h"
#include "mooutils/stock-file-selector-24.h"
#include "mooutils/stock-moo.h"
#include "mooutils/mooi18n.h"
#include <gtk/gtk.h>
#include <string.h>
#if !GTK_CHECK_VERSION(2,6,0)
#include "mooutils/stock-about-16.h"
@ -98,14 +100,23 @@ register_stock_icon (GtkIconFactory *factory,
static void
add_default_image (const gchar *stock_id,
gint size,
const guchar *inline_data)
add_default_image (gint size,
const guchar *inline_data,
const char *name1,
const char *name2)
{
GdkPixbuf *pixbuf = gdk_pixbuf_new_from_inline (-1, inline_data, FALSE, NULL);
GdkPixbuf *pixbuf;
g_return_if_fail (name1 != NULL);
g_return_if_fail (inline_data != NULL);
pixbuf = gdk_pixbuf_new_from_inline (-1, inline_data, FALSE, NULL);
g_return_if_fail (pixbuf != NULL);
gtk_icon_theme_add_builtin_icon (stock_id, size, pixbuf);
gtk_icon_theme_add_builtin_icon (name1, size, pixbuf);
if (name2)
gtk_icon_theme_add_builtin_icon (name2, size, pixbuf);
g_object_unref (pixbuf);
}
@ -119,7 +130,7 @@ add_icon (GtkIconFactory *factory,
const guchar *data)
{
if (data)
add_default_image (stock_id, size, data);
add_default_image (size, data, stock_id, icon_name);
register_stock_icon (factory, stock_id, icon_name);
}
@ -147,8 +158,8 @@ static void add_icon2 (GtkIconFactory *factory,
gint size2,
const guchar *data2)
{
add_default_image (stock_id, size1, data1);
add_default_image (stock_id, size2, data2);
add_default_image (size1, data1, stock_id, NULL);
add_default_image (size2, data2, stock_id, NULL);
register_stock_icon (factory, stock_id, icon_name);
}
#endif /* !GTK_CHECK_VERSION(2,10,0) */
@ -240,6 +251,8 @@ _moo_stock_init (void)
{
static gboolean created = FALSE;
GtkIconFactory *factory;
GtkSettings *settings;
char *icon_theme_name;
if (created)
return;
@ -250,6 +263,21 @@ _moo_stock_init (void)
gtk_icon_factory_add_default (factory);
settings = gtk_settings_get_default ();
g_object_get (settings, "gtk-icon-theme-name", &icon_theme_name, NULL);
/* XXX */
if (icon_theme_name && !strcmp (icon_theme_name, "gnome"))
{
add_icon (factory, MOO_STOCK_FILE_SELECTOR, "gnome-fs-directory", 24, MOO_FILE_SELECTOR_ICON);
}
else
{
add_icon (factory, MOO_STOCK_FILE_SELECTOR, NULL, 24, MOO_FILE_SELECTOR_ICON);
add_icon_name (factory, MOO_STOCK_FILE_SELECTOR, "folder");
add_icon_name (factory, MOO_STOCK_FILE_SELECTOR, "file-manager");
}
add_icon (factory, MOO_STOCK_TERMINAL, "terminal", 24, MOO_GNOME_TERMINAL_ICON);
add_icon (factory, MOO_STOCK_MEDIT, "medit", 24, MEDIT_ICON);
@ -293,6 +321,9 @@ _moo_stock_init (void)
register_stock_icon_alias (factory, GTK_STOCK_FIND, MOO_STOCK_FIND_FILE, NULL);
register_stock_icon_alias (factory, GTK_STOCK_ABOUT, MOO_STOCK_EDIT_BOOKMARK, "bookmark");
register_stock_icon_alias (factory, GTK_STOCK_ABOUT, MOO_STOCK_FILE_BOOKMARK, "gnome-fs-bookmark");
add_icon_name (factory, MOO_STOCK_FILE_BOOKMARK, "bookmark");
g_free (icon_theme_name);
g_object_unref (G_OBJECT (factory));
}

View File

@ -35,7 +35,8 @@ G_BEGIN_DECLS
#define MOO_STOCK_DOC_MODIFIED_ON_DISK GTK_STOCK_DIALOG_WARNING
#define MOO_STOCK_DOC_MODIFIED GTK_STOCK_SAVE
#define MOO_STOCK_FILE_SELECTOR "gtk-directory"
#define MOO_STOCK_FILE_SELECTOR "moo-file-selector"
#define MOO_STOCK_FILE_BOOKMARK "moo-file-bookmark"
#define MOO_STOCK_SAVE_NONE "moo-save-none"
#define MOO_STOCK_SAVE_SELECTED "moo-save-selected"

View File

@ -0,0 +1,98 @@
/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
#ifdef __SUNPRO_C
#pragma align 4 (MOO_FILE_SELECTOR_ICON)
#endif
#ifdef __GNUC__
static const guint8 MOO_FILE_SELECTOR_ICON[] __attribute__ ((__aligned__ (4))) =
#else
static const guint8 MOO_FILE_SELECTOR_ICON[] =
#endif
{ ""
/* Pixbuf magic (0x47646b50) */
"GdkP"
/* length: header (24) + pixel_data (1506) */
"\0\0\5\372"
/* pixdata_type (0x2010002) */
"\2\1\0\2"
/* rowstride (96) */
"\0\0\0`"
/* width (24) */
"\0\0\0\30"
/* height (24) */
"\0\0\0\30"
/* pixel_data: */
"\262\0\0\0\0\1\16\16\16Y\207\0\0\0\377\2\0\0\0O\6\7\6\3\216\0\0\0\0\1"
"\0\0\0\377\206\216\222|\377\3fiX\377\0\0\0\377\1\2\1J\216\0\0\0\0\11"
"\0\0\0\377\241\244\214\377\204\207o\377\204\206n\377\203\205m\377\202"
"\204m\377\200\204l\377\205\210u\377gh[\377\213\0\0\0\377\1\0\0\0I\203"
"\0\0\0\0\11\0\0\0\377\216\222|\377twa\377swa\377sv`\377ru`\377qs_\377"
"or]\377rrb\377\211ruc\377\3fiX\377[^O\377\0\0\0\377\203\0\0\0\0\2\0\0"
"\0\377\216\222|\377\202hjW\377\202giV\377\1VXH\377\216\0\0\0\377\203"
"\0\0\0\0\2\0\0\0\377\216\222|\377\202]`N\377\202\\_M\377\17\0\0\0\377"
"\242\243\233\377\330\331\314\377\326\327\312\377\322\324\307\377\321"
"\323\306\377\320\321\304\377\317\320\303\377\316\316\301\377\314\315"
"\300\377\312\313\276\377\311\312\274\377\302\304\264\377\246\247\231"
"\377\0\0\0\377\203\0\0\0\0\206\0\0\0\377\17\247\250\241\377\333\334\317"
"\377\303\305\261\377\301\303\260\377\275\300\254\377\273\276\252\377"
"\271\273\250\377\267\271\246\377\264\267\244\377\262\264\241\377\256"
"\260\236\377\254\255\233\377\247\251\227\377\221\222\203\377\0\0\0\377"
"\203\0\0\0\0\25\0\0\0\377\320\321\304\377\331\332\316\377\331\331\315"
"\377\327\330\314\377\327\327\312\377\326\327\311\377\311\312\270\377"
"\300\302\256\377\277\301\255\377\274\276\252\377\272\274\251\377\270"
"\271\247\377\266\270\245\377\263\266\243\377\261\264\241\377\256\257"
"\235\377\254\255\233\377\247\251\227\377\217\220\201\377\0\0\0\377\203"
"\0\0\0\0\25\0\0\0\377\327\330\314\377\311\313\266\377\310\312\265\377"
"\305\307\262\377\303\305\261\377\301\303\257\377\300\301\255\377\275"
"\277\253\377\274\276\252\377\271\273\250\377\270\271\246\377\265\266"
"\244\377\263\265\242\377\261\263\240\377\257\260\236\377\254\255\233"
"\377\250\252\230\377\245\246\225\377\214\216\177\377\0\0\0\377\203\0"
"\0\0\0\25\0\0\0\377\327\330\314\377\306\310\263\377\305\307\262\377\302"
"\304\260\377\301\303\257\377\277\300\254\377\275\276\253\377\273\275"
"\251\377\271\273\247\377\266\270\245\377\265\266\243\377\263\264\241"
"\377\260\262\237\377\255\260\235\377\254\255\233\377\250\252\230\377"
"\245\247\226\377\241\243\221\377\211\212{\377\0\0\0\377\203\0\0\0\0\25"
"\0\0\0\377\327\330\314\377\301\304\256\377\277\302\254\377\274\277\252"
"\377\273\275\251\377\271\272\246\377\270\271\245\377\265\267\243\377"
"\263\265\242\377\261\262\237\377\257\260\235\377\254\255\233\377\252"
"\254\231\377\247\251\226\377\245\247\225\377\242\243\221\377\237\240"
"\217\377\233\234\213\377\203\205u\377\0\0\0\377\203\0\0\0\0\25\0\0\0"
"\377\327\330\314\377\274\276\251\377\272\274\247\377\267\271\245\377"
"\267\270\243\377\264\265\241\377\262\264\240\377\257\261\235\377\255"
"\257\233\377\253\254\231\377\251\252\227\377\245\247\224\377\243\245"
"\223\377\241\243\220\377\237\241\217\377\234\235\214\377\231\232\211"
"\377\226\227\206\377\177\201r\377\0\0\0\377\202\0\0\0\0\26\0\0\0\1\0"
"\0\0\377\327\330\314\377\266\270\243\377\264\266\241\377\262\264\237"
"\377\260\262\235\377\256\257\233\377\254\256\231\377\250\253\227\377"
"\247\251\226\377\245\246\223\377\243\244\221\377\237\241\217\377\236"
"\240\215\377\234\235\213\377\232\233\211\377\227\230\206\377\224\225"
"\204\377\221\223\201\377|~o\377\0\0\0\377\202\0\0\0\1z\0\0\0\5\0\0\0"
"\377\327\330\314\377\263\265\237\377\261\263\235\377\256\260\233\377"
"\254\256\231\377\252\254\227\377\250\252\226\377\245\247\223\377\244"
"\245\222\377\241\242\217\377\237\240\215\377\234\236\214\377\233\235"
"\212\377\231\232\211\377\227\230\206\377\224\224\204\377\221\223\201"
"\377\217\220\177\377{}m\377\0\0\0\377\0\0\0\6\0\0\0\5\0\0\0\21\0\0\0"
"\377\327\330\314\377\255\257\231\377\253\255\227\377\251\252\225\377"
"\247\250\224\377\244\246\222\377\242\244\220\377\237\241\216\377\236"
"\237\214\377\233\235\212\377\231\233\211\377\227\231\207\377\226\230"
"\205\377\224\225\203\377\222\223\202\377\217\220\177\377\215\216}\377"
"\213\214{\377yzl\377\0\0\0\377\0\0\0\21\0\0\0\10\0\0\0\33\0\0\0\377\327"
"\330\314\377\251\253\225\377\247\251\224\377\245\246\221\377\243\244"
"\220\377\240\242\216\377\236\240\214\377\234\236\212\377\232\234\210"
"\377\230\231\207\377\226\227\205\377\224\226\203\377\223\224\202\377"
"\220\222\200\377\216\220~\377\213\214{\377\211\212y\377\211\211y\377"
"wxj\377\0\0\0\377\0\0\0\31\0\0\0\12\0\0\0\40\0\0\0\377\327\330\314\377"
"\245\247\221\377\244\245\217\377\241\242\216\377\237\240\214\377\234"
"\236\212\377\232\234\211\377\230\231\206\377\226\227\205\377\223\225"
"\203\377\222\224\201\377\220\221\177\377\217\220~\377\214\215|\377\212"
"\213z\377\207\210x\377\206\210w\377\211\212y\377vxi\377\0\0\0\377\0\0"
"\0\36\0\0\0\10\0\0\0\31\0\0\0\377\231\233\211\377\216\221}\377\215\217"
"|\377\212\214z\377\210\212y\377\206\210w\377\205\206u\377\202\203s\377"
"\200\201r\377}\177o\377|~o\377z|m\377y{l\377xyk\377vxi\377uwi\377uwh"
"\377vxi\377^`T\377\0\0\0\377\0\0\0\32\0\0\0\4\0\0\0\13\0\0\0\214\223"
"\0\0\0\377\11\0\0\0\204\0\0\0\16\0\0\0\1\0\0\0\4\0\0\0\12\0\0\0\15\0"
"\0\0\23\0\0\0\24\0\0\0\25\203\0\0\0\26\1\0\0\0\27\207\0\0\0\30\202\0"
"\0\0\31\4\0\0\0\26\0\0\0\22\0\0\0\13\0\0\0\6\202\0\0\0\0\202\0\0\0\1"
"\216\0\0\0\2\202\0\0\0\3\202\0\0\0\2\1\0\0\0\1\231\0\0\0\0"};