gchar *stock_id;
};
-static ToolbarData *toolbarlist;
+static ToolbarData *toolbarlist[2];
typedef struct _UseableToolbarItems UseableToolbarItems;
struct _UseableToolbarItems
gchar *stock_id;
};
-/* FIXME Should be created by program from menu_entries[]
+/** @FIXME Should be created by program from menu_entries[]
* in layout_util.c */
/** The user is limited to selecting from this list of menu items
* plus any desktop files
{"Forward", N_("Forward"), GTK_STOCK_GO_FORWARD},
{"Home", N_("Home"), GTK_STOCK_HOME},
{"Up", N_("Up"), GTK_STOCK_GO_UP},
- {"NewWindow", N_("New _window"), GTK_STOCK_NEW},
+ {"FirstPage", N_("First page"), GTK_STOCK_MEDIA_PREVIOUS},
+ {"LastPage", N_("Last Page"), GTK_STOCK_MEDIA_NEXT},
+ {"NextPage", N_("Next page"), GTK_STOCK_MEDIA_FORWARD},
+ {"PrevPage", N_("Previous Page"), GTK_STOCK_MEDIA_REWIND},
+ {"ImageForward", N_("Image Forward"), GTK_STOCK_GOTO_LAST},
+ {"ImageBack", N_("Image Back"), GTK_STOCK_GOTO_FIRST},
+ {"NewWindow", N_("New window"), GTK_STOCK_NEW},
{"NewCollection", N_("New collection"), GTK_STOCK_INDEX},
{"OpenCollection", N_("Open collection"), GTK_STOCK_OPEN},
{"Search", N_("Search"), GTK_STOCK_FIND},
{"SelectAll", N_("Select all"), PIXBUF_INLINE_ICON_SELECT_ALL},
{"SelectNone", N_("Select none"), PIXBUF_INLINE_ICON_SELECT_NONE},
{"SelectInvert", N_("Select invert"), PIXBUF_INLINE_ICON_SELECT_INVERT},
+ {"ShowFileFilter", N_("Show file filter"), PIXBUF_INLINE_ICON_FILE_FILTER},
{"RectangularSelection", N_("Select rectangle"), PIXBUF_INLINE_ICON_SELECT_RECTANGLE},
{"Print", N_("Print"), GTK_STOCK_PRINT},
{"Preferences", N_("Preferences"), GTK_STOCK_PREFERENCES},
{"LayoutConfig", N_("Configure this window"), GTK_STOCK_PREFERENCES},
{"Maintenance", N_("Cache maintenance"), PIXBUF_INLINE_ICON_MAINTENANCE},
+ {"RotateCW", N_("Rotate clockwise 90°"), PIXBUF_INLINE_ICON_CW},
+ {"RotateCCW", N_("Rotate counterclockwise 90°"), PIXBUF_INLINE_ICON_CCW},
+ {"Rotate180", N_("Rotate 180°"), PIXBUF_INLINE_ICON_180},
+ {"Mirror", N_("Mirror"), PIXBUF_INLINE_ICON_MIRROR},
+ {"Flip", N_("Flip"), PIXBUF_INLINE_ICON_FLIP},
+ {"AlterNone", N_("Original state"), PIXBUF_INLINE_ICON_ORIGINAL},
{"ZoomIn", N_("Zoom in"), GTK_STOCK_ZOOM_IN},
{"ZoomOut", N_("Zoom out"), GTK_STOCK_ZOOM_OUT},
{"Zoom100", N_("Zoom 1:1"), GTK_STOCK_ZOOM_100},
{"Zoom33", N_("Zoom1:3"), GTK_STOCK_FILE},
{"Zoom25", N_("Zoom 1:4"), GTK_STOCK_FILE},
{"ConnectZoomIn", N_("Connected Zoom in"), GTK_STOCK_ZOOM_IN},
+ {"SplitPaneSync", N_("Split Pane Sync"), PIXBUF_INLINE_SPLIT_PANE_SYNC},
+ {"Grayscale", N_("Grayscale"), PIXBUF_INLINE_ICON_GRAYSCALE},
+ {"OverUnderExposed", N_("Over Under Exposed"), PIXBUF_INLINE_ICON_EXPOSURE},
+ {"ShowInfoPixel", N_("Pixel Info"), GTK_STOCK_COLOR_PICKER},
+ {"IgnoreAlpha", N_("Ignore Alpha"), GTK_STOCK_STRIKETHROUGH},
+ {"ExifRotate", N_("Exif rotate"), GTK_STOCK_ORIENTATION_PORTRAIT},
+ {"UseColorProfiles", N_("Use color profiles"), GTK_STOCK_SELECT_COLOR},
+ {"SaveMetadata", N_("Save metadata"), GTK_STOCK_SAVE},
{"HideTools", N_("Hide file list"), PIXBUF_INLINE_ICON_HIDETOOLS},
{"SlideShowPause", N_("Pause slideshow"), GTK_STOCK_MEDIA_PAUSE},
{"SlideShowFaster", N_("Slideshow Faster"), GTK_STOCK_FILE},
{
if (g_strcmp0(list->name, name) == 0)
{
- *label = g_strdup(list->label);
+ *label = g_strdup(gettext(list->label));
*stock_id = g_strdup(list->stock_id);
break;
}
while (list->name)
{
GtkWidget *item;
- item = menu_item_add_stock(menu, list->label, list->stock_id,
+ item = menu_item_add_stock(menu, gettext(list->label), list->stock_id,
G_CALLBACK(toolbarlist_add_cb), toolbarlist);
g_object_set_data(G_OBJECT(item), "toolbar_add_name", g_strdup(list->name));
- g_object_set_data(G_OBJECT(item), "toolbar_add_label", g_strdup(list->label));
+ g_object_set_data(G_OBJECT(item), "toolbar_add_label", g_strdup(gettext(list->label)));
g_object_set_data(G_OBJECT(item), "toolbar_add_stock_id", g_strdup(list->stock_id));
g_signal_connect(G_OBJECT(item), "destroy", G_CALLBACK(toolbar_button_free), item);
list++;
/**
* @brief For each layoutwindow, clear toolbar and reload with current selection
+ * @param bar Main or Status toolbar
*
*/
-void toolbar_apply()
+void toolbar_apply(ToolbarType bar)
{
LayoutWindow *lw;
GList *work_windows;
{
lw = work_windows->data;
- layout_toolbar_clear(lw, TOOLBAR_MAIN);
+ layout_toolbar_clear(lw, bar);
- work_toolbar = gtk_container_get_children(GTK_CONTAINER(toolbarlist->vbox));
+ work_toolbar = gtk_container_get_children(GTK_CONTAINER(toolbarlist[bar]->vbox));
while (work_toolbar)
{
GtkButton *button = work_toolbar->data;
ToolbarButtonData *tbbd;
tbbd = g_object_get_data(G_OBJECT(button),"toolbarbuttondata");
- layout_toolbar_add(lw, TOOLBAR_MAIN, tbbd->name);
+ layout_toolbar_add(lw, bar, tbbd->name);
work_toolbar = work_toolbar->next;
}
* @brief Load the current toolbar items into the vbox
* @param lw
* @param box The vbox displayed in the preferences Toolbar tab
+ * @param bar Main or Status toolbar
*
* Get the current contents of the toolbar, both menu items
* and desktop items, and load them into the vbox
*/
-static void toolbarlist_populate(LayoutWindow *lw, GtkBox *box)
+static void toolbarlist_populate(LayoutWindow *lw, GtkBox *box, ToolbarType bar)
{
- GList *work = g_list_first(lw->toolbar_actions[TOOLBAR_MAIN]);
+ GList *work = g_list_first(lw->toolbar_actions[bar]);
while (work)
{
}
}
-GtkWidget *toolbar_select_new(LayoutWindow *lw)
+GtkWidget *toolbar_select_new(LayoutWindow *lw, ToolbarType bar)
{
GtkWidget *scrolled;
GtkWidget *tbar;
if (!lw) return NULL;
- if (!toolbarlist)
+ if (!toolbarlist[bar])
{
- toolbarlist = g_new0(ToolbarData, 1);
+ toolbarlist[bar] = g_new0(ToolbarData, 1);
}
- toolbarlist->lw = lw;
+ toolbarlist[bar]->lw = lw;
- toolbarlist->widget = gtk_vbox_new(FALSE, PREF_PAD_GAP);
- gtk_widget_show(toolbarlist->widget);
+ toolbarlist[bar]->widget = gtk_vbox_new(FALSE, PREF_PAD_GAP);
+ gtk_widget_show(toolbarlist[bar]->widget);
scrolled = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_NONE);
- gtk_box_pack_start(GTK_BOX(toolbarlist->widget), scrolled, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(toolbarlist[bar]->widget), scrolled, TRUE, TRUE, 0);
gtk_widget_show(scrolled);
- toolbarlist->vbox = gtk_vbox_new(FALSE, 0);
- gtk_widget_show(toolbarlist->vbox);
- gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), toolbarlist->vbox);
+ toolbarlist[bar]->vbox = gtk_vbox_new(FALSE, 0);
+ gtk_widget_show(toolbarlist[bar]->vbox);
+ gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), toolbarlist[bar]->vbox);
gtk_viewport_set_shadow_type(GTK_VIEWPORT(gtk_bin_get_child(GTK_BIN(scrolled))),
GTK_SHADOW_NONE);
add_box = gtk_vbox_new(FALSE, 0);
gtk_widget_show(add_box);
- gtk_box_pack_end(GTK_BOX(toolbarlist->widget), add_box, FALSE, FALSE, 0);
+ gtk_box_pack_end(GTK_BOX(toolbarlist[bar]->widget), add_box, FALSE, FALSE, 0);
tbar = pref_toolbar_new(add_box, GTK_TOOLBAR_ICONS);
- toolbarlist->add_button = pref_toolbar_button(tbar, GTK_STOCK_ADD, "NULL", FALSE,
+ toolbarlist[bar]->add_button = pref_toolbar_button(tbar, GTK_STOCK_ADD, "NULL", FALSE,
_("Add Toolbar Item"),
- G_CALLBACK(toolbar_menu_add_cb), toolbarlist);
- gtk_widget_show(toolbarlist->add_button);
+ G_CALLBACK(toolbar_menu_add_cb), toolbarlist[bar]);
+ gtk_widget_show(toolbarlist[bar]->add_button);
- toolbarlist_populate(lw,GTK_BOX(toolbarlist->vbox));
+ toolbarlist_populate(lw,GTK_BOX(toolbarlist[bar]->vbox), bar);
- return toolbarlist->widget;
+ return toolbarlist[bar]->widget;
}
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */