SF.net SVN: geany:[3329] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sat Dec 6 11:45:51 UTC 2008
Revision: 3329
http://geany.svn.sourceforge.net/geany/?rev=3329&view=rev
Author: eht16
Date: 2008-12-06 11:45:48 +0000 (Sat, 06 Dec 2008)
Log Message:
-----------
Add new stock icon GEANY_STOCK_SAVE_ALL.
Remove code to manually update the size of the 'Save All' toolbar icon and use the GEANY_STOCK_SAVE_ALL stock icon instead.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/geany.h
trunk/src/main.c
trunk/src/prefs.c
trunk/src/toolbar.c
trunk/src/toolbar.h
trunk/src/ui_utils.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/ChangeLog 2008-12-06 11:45:48 UTC (rev 3329)
@@ -18,6 +18,11 @@
Add GeanyMenubuttonAction and GeanyEntryAction as GtkAction
subclasses to have menu buttons and text entries in the toolbar.
Change the Goto line toolbar item back to a plain text entry again.
+ * src/callbacks.c, src/geany.h, src/main.c, src/prefs.c, src/toolbar.c,
+ src/toolbar.h, src/ui_utils.c:
+ Add new stock icon GEANY_STOCK_SAVE_ALL.
+ Remove code to manually update the size of the 'Save All' toolbar
+ icon and use the GEANY_STOCK_SAVE_ALL stock icon instead.
2008-12-05 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/callbacks.c 2008-12-06 11:45:48 UTC (rev 3329)
@@ -609,7 +609,7 @@
if (ignore_toolbar_toggle) return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
- toolbar_update_icons(GTK_ICON_SIZE_LARGE_TOOLBAR);
+ gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), GTK_ICON_SIZE_LARGE_TOOLBAR);
}
@@ -620,7 +620,7 @@
if (ignore_toolbar_toggle) return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_SMALL_TOOLBAR;
- toolbar_update_icons(GTK_ICON_SIZE_SMALL_TOOLBAR);
+ gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), GTK_ICON_SIZE_SMALL_TOOLBAR);
}
Modified: trunk/src/geany.h
===================================================================
--- trunk/src/geany.h 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/geany.h 2008-12-06 11:45:48 UTC (rev 3329)
@@ -106,7 +106,9 @@
GIGABYTE = (MEGABYTE*1024)
};
+#define GEANY_STOCK_SAVE_ALL "geany-save-all"
+
/* Useful for some variable argument list functions, e.g. in utils.h */
#if ! GLIB_CHECK_VERSION(2, 8, 0)
#define G_GNUC_NULL_TERMINATED
Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/main.c 2008-12-06 11:45:48 UTC (rev 3329)
@@ -208,7 +208,7 @@
{
gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
}
- toolbar_update_icons(toolbar_prefs.icon_size);
+ gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
/* line number and markers margin are by default enabled */
if (! editor_prefs.show_markers_margin)
Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/prefs.c 2008-12-06 11:45:48 UTC (rev 3329)
@@ -1096,7 +1096,7 @@
/* apply the changes made */
ui_statusbar_showhide(interface_prefs.statusbar_visible);
treeviews_openfiles_update_all(); /* to update if full path setting has changed */
- toolbar_update_icons(toolbar_prefs.icon_size);
+ gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_style);
ui_sidebar_show_hide();
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(main_widgets.notebook), interface_prefs.show_notebook_tabs);
Modified: trunk/src/toolbar.c
===================================================================
--- trunk/src/toolbar.c 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/toolbar.c 2008-12-06 11:45:48 UTC (rev 3329)
@@ -48,7 +48,7 @@
* Fields: name, stock_id, label, accelerator, tooltip, callback */
const GtkActionEntry ui_entries[] = {
{ "Save", GTK_STOCK_SAVE, NULL, NULL, N_("Save the current file"), G_CALLBACK(on_toolbutton_save_clicked) },
- { "SaveAll", GTK_STOCK_SAVE, N_("Save All"), NULL, N_("Save all open files"), G_CALLBACK(on_save_all1_activate) },
+ { "SaveAll", GEANY_STOCK_SAVE_ALL, N_("Save All"), NULL, N_("Save all open files"), G_CALLBACK(on_save_all1_activate) },
{ "Reload", GTK_STOCK_REVERT_TO_SAVED, NULL, NULL, N_("Reload the current file from disk"), G_CALLBACK(on_toolbutton_reload_clicked) },
{ "Close", GTK_STOCK_CLOSE, NULL, NULL, N_("Close the current file"), G_CALLBACK(on_toolbutton_close_clicked) },
{ "Cut", GTK_STOCK_CUT, NULL, NULL, N_("Cut the current selection"), G_CALLBACK(on_cut1_activate) },
@@ -239,30 +239,6 @@
}
-/* TODO: remove this code and use stock icons instead */
-void toolbar_update_icons(GtkIconSize size)
-{
- GtkWidget *button_image = NULL;
- GtkWidget *widget = NULL;
- GtkWidget *oldwidget = NULL;
-
- /* destroy old widget */
- widget = toolbar_get_widget_by_name("SaveAll");
- if (widget == NULL)
- return;
-
- oldwidget = gtk_tool_button_get_icon_widget(GTK_TOOL_BUTTON(widget));
- if (oldwidget && GTK_IS_WIDGET(oldwidget))
- gtk_widget_destroy(oldwidget);
- /* create new widget */
- button_image = ui_new_image_from_inline(GEANY_IMAGE_SAVE_ALL, FALSE);
- gtk_widget_show(button_image);
- gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(widget), button_image);
-
- gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), size);
-}
-
-
/* Returns the position for adding new toolbar items. The returned position can be used
* to add new toolbar items with @c gtk_toolbar_insert(). The toolbar object can be accessed
* with @a geany->main_widgets->toolbar.
Modified: trunk/src/toolbar.h
===================================================================
--- trunk/src/toolbar.h 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/toolbar.h 2008-12-06 11:45:48 UTC (rev 3329)
@@ -42,8 +42,6 @@
GtkAction *toolbar_get_action_by_name(const gchar *name);
-void toolbar_update_icons(GtkIconSize size);
-
gint toolbar_get_insert_position(void);
void toolbar_add_config_file_menu_item(void);
Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c 2008-12-06 11:10:06 UTC (rev 3328)
+++ trunk/src/ui_utils.c 2008-12-06 11:45:48 UTC (rev 3329)
@@ -72,6 +72,16 @@
widgets;
+/* Local stock item struct to extend the GtkStockItem structure by an image id which is used
+ * as the icon */
+typedef struct
+{
+ GtkStockItem item;
+ guint image_id;
+}
+GeanyStockItem;
+
+
static void update_recent_menu(void);
static void recent_file_loaded(const gchar *utf8_filename);
static void recent_file_activate_cb(GtkMenuItem *menuitem, gpointer user_data);
@@ -808,21 +818,18 @@
{
switch(img)
{
- case GEANY_IMAGE_SMALL_CROSS: return gdk_pixbuf_new_from_inline(-1, close_small_inline, FALSE, NULL); break;
- case GEANY_IMAGE_LOGO: return gdk_pixbuf_new_from_inline(-1, aladin_inline, FALSE, NULL); break;
+ case GEANY_IMAGE_LOGO:
+ return gdk_pixbuf_new_from_inline(-1, aladin_inline, FALSE, NULL);
+ break;
case GEANY_IMAGE_SAVE_ALL:
{
- if ((toolbar_prefs.icon_size == GTK_ICON_SIZE_SMALL_TOOLBAR) || small_img)
- {
- return gdk_pixbuf_scale_simple(gdk_pixbuf_new_from_inline(-1, save_all_inline, FALSE, NULL),
- 16, 16, GDK_INTERP_HYPER);
- }
- else
- {
- return gdk_pixbuf_new_from_inline(-1, save_all_inline, FALSE, NULL);
- }
+ return gdk_pixbuf_new_from_inline(-1, save_all_inline, FALSE, NULL);
break;
}
+/* unused
+ case GEANY_IMAGE_SMALL_CROSS:
+ return gdk_pixbuf_new_from_inline(-1, close_small_inline, FALSE, NULL);
+ break;
case GEANY_IMAGE_NEW_ARROW:
{
if ((toolbar_prefs.icon_size == GTK_ICON_SIZE_SMALL_TOOLBAR) || small_img)
@@ -836,10 +843,10 @@
}
break;
}
- default: return NULL;
+*/
+ default:
+ return NULL;
}
-
- /*return gtk_image_new_from_pixbuf(pixbuf);*/
}
@@ -1560,8 +1567,37 @@
}
+static void add_stock_items(void)
+{
+ GtkIconSet *icon_set;
+ GtkIconFactory *factory = gtk_icon_factory_new();
+ GdkPixbuf *pb;
+ gsize i;
+ GeanyStockItem items[] =
+ {
+ { { GEANY_STOCK_SAVE_ALL, _("Save All"), 0, 0, GETTEXT_PACKAGE}, GEANY_IMAGE_SAVE_ALL }
+ };
+
+ for (i = 0; i < G_N_ELEMENTS(items); i++)
+ {
+ pb = ui_new_pixbuf_from_inline(items[i].image_id, FALSE);
+ icon_set = gtk_icon_set_new_from_pixbuf(pb);
+
+ gtk_icon_factory_add(factory, items[i].item.stock_id, icon_set);
+
+ gtk_icon_set_unref(icon_set);
+ g_object_unref(pb);
+ }
+ gtk_stock_add((GtkStockItem *) items, G_N_ELEMENTS(items));
+ gtk_icon_factory_add_default(factory);
+ g_object_unref(factory);
+}
+
+
void ui_init(void)
{
+ add_stock_items();
+
ui_widgets.statusbar = lookup_widget(main_widgets.window, "statusbar");
ui_widgets.print_page_setup = lookup_widget(main_widgets.window, "page_setup1");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list