Mercurial > geeqie
diff src/layout_util.c @ 41:6281cc38e5ca
Wed Apr 27 15:17:57 2005 John Ellis <johne@verizon.net>
* bar_info.c, bar_sort.c: Update for new pref_toolbar_button args.
* fullscreen.c, layout.c: Remove use of GDK_HINT_USER_SIZE as we
never actually set these dimensions. Increase default size of main
window.
* layout_util.c: Use GTkToolbar for the main window toolbar.
* pixbuf_util.[ch]: Add inline pixbufs for thumb and float icons.
* rcfile.c: Add note to config file that it is autogenerated.
* typedefs.h: Remove no longer used tooltip in LayoutWindow.
* ui_misc.[ch]: pref_toolbar additions.
* icons/icon_float.png, icons/icon_thumb.png: Icons in png format.
* icons/icon_float.xpm, icons/icon_thumb.xpm: Remove xpm versions.
* icons/Makefile.am: Add above icons to inline pixbuf list.
##### Note: GQview CVS on sourceforge is not always up to date, please use #####
##### an offical release when making enhancements and translation updates. #####
author | gqview |
---|---|
date | Wed, 27 Apr 2005 19:29:15 +0000 |
parents | 147f4c4b9025 |
children | a4c1b7014e6e |
line wrap: on
line diff
--- a/src/layout_util.c Sat Apr 16 16:26:49 2005 +0000 +++ b/src/layout_util.c Wed Apr 27 19:29:15 2005 +0000 @@ -37,9 +37,6 @@ #include <gdk/gdkkeysyms.h> /* for keyboard values */ -#include "icons/icon_thumb.xpm" -#include "icons/icon_float.xpm" - #define MENU_EDIT_ACTION_OFFSET 16 @@ -471,17 +468,6 @@ layout_views_set(lw, lw->tree_view, (gtk_radio_action_get_current_value(action) == 1)); } -#if 0 -static void layout_menu_icon_cb(gpointer data, guint action, GtkWidget *widget) -{ - LayoutWindow *lw = data; - - if (!GTK_CHECK_MENU_ITEM(widget)->active) return; - - layout_views_set(lw, lw->tree_view, TRUE); -} -#endif - static void layout_menu_tree_cb(GtkToggleAction *action, gpointer data) { LayoutWindow *lw = data; @@ -980,7 +966,7 @@ { LayoutWindow *lw = data; - layout_thumb_set(lw, GTK_TOGGLE_BUTTON(widget)->active); + layout_thumb_set(lw, gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(widget))); } static void layout_button_home_cb(GtkWidget *widget, gpointer data) @@ -1038,75 +1024,50 @@ layout_tools_float_toggle(lw); } -GtkWidget *layout_button(GtkWidget *box, gchar **pixmap_data, const gchar *stock_id, gint toggle, - GtkTooltips *tooltips, const gchar *tip_text, - GCallback func, gpointer data) +static void layout_button_custom_icon(GtkWidget *button, const gchar *key) { - GtkWidget *button; GtkWidget *icon; - - if (toggle) - { - button = gtk_toggle_button_new(); - } - else - { - button = gtk_button_new(); - } + GdkPixbuf *pixbuf; - g_signal_connect(G_OBJECT(button), "clicked", func, data); - gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 0); - gtk_widget_show(button); - gtk_tooltips_set_tip(tooltips, button, tip_text, NULL); + pixbuf = pixbuf_inline(key); + if (!pixbuf) return; - if (stock_id) - { - icon = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_BUTTON); - } - else - { - GdkPixbuf *pixbuf; + icon = gtk_image_new_from_pixbuf(pixbuf); + g_object_unref(pixbuf); - pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)pixmap_data); - icon = gtk_image_new_from_pixbuf(pixbuf); - gdk_pixbuf_unref(pixbuf); - } - - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - - gtk_container_add(GTK_CONTAINER(button), icon); + pref_toolbar_button_set_icon(button, icon, NULL); gtk_widget_show(icon); - - return button; } GtkWidget *layout_button_bar(LayoutWindow *lw) { GtkWidget *box; - GtkTooltips *tooltips; + GtkWidget *button; + + box = pref_toolbar_new(NULL, GTK_TOOLBAR_ICONS); - tooltips = lw->tooltips; - - box = gtk_hbox_new(FALSE, 0); + button = pref_toolbar_button(box, NULL, _("_Thumbnails"), TRUE, + _("Show thumbnails"), G_CALLBACK(layout_button_thumb_cb), lw); + layout_button_custom_icon(button, PIXBUF_INLINE_ICON_THUMB); + lw->thumb_button = button; - lw->thumb_button = layout_button(box, (gchar **)icon_thumb_xpm, NULL, TRUE, - tooltips, _("Show thumbnails"), G_CALLBACK(layout_button_thumb_cb), lw); - layout_button(box, NULL, GTK_STOCK_HOME, FALSE, - tooltips, _("Change to home folder"), G_CALLBACK(layout_button_home_cb), lw); - layout_button(box, NULL, GTK_STOCK_REFRESH, FALSE, - tooltips, _("Refresh file list"), G_CALLBACK(layout_button_refresh_cb), lw); - layout_button(box, NULL, GTK_STOCK_ZOOM_IN, FALSE, - tooltips, _("Zoom in"), G_CALLBACK(layout_button_zoom_in_cb), lw); - layout_button(box, NULL, GTK_STOCK_ZOOM_OUT, FALSE, - tooltips, _("Zoom out"), G_CALLBACK(layout_button_zoom_out_cb), lw); - layout_button(box, NULL, GTK_STOCK_ZOOM_FIT, FALSE, - tooltips, _("Fit image to window"), G_CALLBACK(layout_button_zoom_fit_cb), lw); - layout_button(box, NULL, GTK_STOCK_ZOOM_100, FALSE, - tooltips, _("Set zoom 1:1"), G_CALLBACK(layout_button_zoom_1_1_cb), lw); - layout_button(box, NULL, GTK_STOCK_PREFERENCES, FALSE, - tooltips, _("Configure options"), G_CALLBACK(layout_button_config_cb), lw); - layout_button(box, (gchar **)icon_float_xpm, NULL, FALSE, - tooltips, _("Float Controls"), G_CALLBACK(layout_button_float_cb), lw); + pref_toolbar_button(box, GTK_STOCK_HOME, NULL, FALSE, + _("Change to home folder"), G_CALLBACK(layout_button_home_cb), lw); + pref_toolbar_button(box, GTK_STOCK_REFRESH, NULL, FALSE, + _("Refresh file list"), G_CALLBACK(layout_button_refresh_cb), lw); + pref_toolbar_button(box, GTK_STOCK_ZOOM_IN, NULL, FALSE, + _("Zoom in"), G_CALLBACK(layout_button_zoom_in_cb), lw); + pref_toolbar_button(box, GTK_STOCK_ZOOM_OUT, NULL, FALSE, + _("Zoom out"), G_CALLBACK(layout_button_zoom_out_cb), lw); + pref_toolbar_button(box, GTK_STOCK_ZOOM_FIT, NULL, FALSE, + _("Fit image to window"), G_CALLBACK(layout_button_zoom_fit_cb), lw); + pref_toolbar_button(box, GTK_STOCK_ZOOM_100, NULL, FALSE, + _("Set zoom 1:1"), G_CALLBACK(layout_button_zoom_1_1_cb), lw); + pref_toolbar_button(box, GTK_STOCK_PREFERENCES, NULL, FALSE, + _("Configure options"), G_CALLBACK(layout_button_config_cb), lw); + button = pref_toolbar_button(box, NULL, _("_Float"), FALSE, + _("Float Controls"), G_CALLBACK(layout_button_float_cb), lw); + layout_button_custom_icon(button, PIXBUF_INLINE_ICON_FLOAT); return box; } @@ -1155,7 +1116,7 @@ gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action), lw->thumbs_enabled); g_object_set(action, "sensitive", !lw->icon_view, NULL); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(lw->thumb_button), lw->thumbs_enabled); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(lw->thumb_button), lw->thumbs_enabled); gtk_widget_set_sensitive(lw->thumb_button, !lw->icon_view); }