Commit a51c269f authored by Paolo Bacchilega's avatar Paolo Bacchilega
Browse files

reorganized the headerbar tools

parent ea901f4f
......@@ -47,7 +47,7 @@ cd__gth_browser_construct_cb (GthBrowser *browser)
actions,
G_N_ELEMENTS (actions),
browser);
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS2),
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS),
action_entries,
G_N_ELEMENTS (action_entries));
}
......
......@@ -49,7 +49,7 @@ comments__gth_browser_construct_cb (GthBrowser *browser)
actions,
G_N_ELEMENTS (actions),
browser);
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS2),
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_GEARS_OTHER_ACTIONS),
action_entries,
G_N_ELEMENTS (action_entries));
}
......
......@@ -47,7 +47,7 @@ cf__gth_browser_construct_cb (GthBrowser *browser)
actions,
G_N_ELEMENTS (actions),
browser);
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS2),
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS),
action_entries,
G_N_ELEMENTS (action_entries));
}
......
......@@ -43,13 +43,13 @@ db__gth_browser_construct_cb (GthBrowser *browser)
browser);
gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_FILE_SCREEN_ACTIONS),
GTH_MENU_MANAGER_NEW_MERGE_ID,
_("Set as Desktop Background"),
_("Set as Background"),
"win.set-desktop-background",
NULL,
NULL);
gth_menu_manager_append_entry (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_FILE_LIST_SCREEN_ACTIONS),
GTH_MENU_MANAGER_NEW_MERGE_ID,
_("Set as Desktop Background"),
_("Set as Background"),
"win.set-desktop-background",
NULL,
NULL);
......
......@@ -56,7 +56,7 @@ edit_metadata__gth_browser_construct_cb (GthBrowser *browser)
browser);
if (gth_main_extension_is_active ("list_tools"))
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS2),
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_MORE_TOOLS),
action_entries,
G_N_ELEMENTS (action_entries));
......
......@@ -48,11 +48,4 @@ export_tools__gth_browser_construct_cb (GthBrowser *browser)
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu);
gtk_widget_show_all (button);
gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS)), button, FALSE, FALSE, 0);
button = _gtk_menu_button_new_for_header_bar ();
gtk_widget_set_tooltip_text (button, _("Share"));
gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("folder-publicshare-symbolic", GTK_ICON_SIZE_MENU));
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu);
gtk_widget_show_all (button);
gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS)), button, FALSE, FALSE, 0);
}
......@@ -58,8 +58,8 @@ gthumb_extension_activate (void)
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_GRAYSCALE);
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_NEGATIVE);
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_ROTATE_RIGHT);
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_ROTATE_LEFT);
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_ROTATE_RIGHT);
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_MIRROR);
gth_main_register_type ("file-tools", GTH_TYPE_FILE_TOOL_FLIP);
......
......@@ -25,10 +25,14 @@
#include <glib-object.h>
#include <gdk/gdkkeysyms.h>
#include <gthumb.h>
#include <extensions/image_viewer/image-viewer.h>
#include <extensions/list_tools/list-tools.h>
#include "actions.h"
#define BROWSER_DATA_KEY "image-rotation-browser-data"
static const GActionEntry actions[] = {
{ "rotate-right", gth_browser_activate_rotate_right },
{ "rotate-left", gth_browser_activate_rotate_left },
......@@ -37,26 +41,52 @@ static const GActionEntry actions[] = {
};
static const GthMenuEntry tools_action_entries[] = {
{ N_("Rotate Right"), "win.rotate-right", "<control><alt>R", "object-rotate-right-symbolic" },
{ N_("Rotate Left"), "win.rotate-left", "<control><alt>L", "object-rotate-left-symbolic" },
static const GthMenuEntry tools1_action_entries[] = {
{ N_("Rotate Right"), "win.rotate-right", "bracketright", "object-rotate-right-symbolic" },
{ N_("Rotate Left"), "win.rotate-left", "bracketleft", "object-rotate-left-symbolic" },
};
static const GthMenuEntry tools2_action_entries[] = {
{ N_("Rotate Physically"), "win.apply-orientation", NULL },
{ N_("Reset the EXIF Orientation"), "win.reset-orientation", NULL }
};
typedef struct {
GtkWidget *buttons[2];
} BrowserData;
static void
browser_data_free (BrowserData *data)
{
g_free (data);
}
void
ir__gth_browser_construct_cb (GthBrowser *browser)
{
BrowserData *data;
g_return_if_fail (GTH_IS_BROWSER (browser));
data = g_new0 (BrowserData, 1);
g_object_set_data_full (G_OBJECT (browser), BROWSER_DATA_KEY, data, (GDestroyNotify) browser_data_free);
data->buttons[0] = NULL;
data->buttons[1] = NULL;
g_action_map_add_action_entries (G_ACTION_MAP (browser),
actions,
G_N_ELEMENTS (actions),
browser);
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS1),
tools_action_entries,
G_N_ELEMENTS (tools_action_entries));
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS),
tools1_action_entries,
G_N_ELEMENTS (tools1_action_entries));
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_MORE_TOOLS),
tools2_action_entries,
G_N_ELEMENTS (tools2_action_entries));
}
......@@ -98,3 +128,55 @@ ir__gth_browser_file_list_key_press_cb (GthBrowser *browser,
return result;
}
void
ir__gth_browser_activate_viewer_page_cb (GthBrowser *browser)
{
BrowserData *data;
GtkWidget *viewer_page;
data = g_object_get_data (G_OBJECT (browser), BROWSER_DATA_KEY);
g_return_if_fail (data != NULL);
viewer_page = gth_browser_get_viewer_page (browser);
if (GTH_IS_IMAGE_VIEWER_PAGE (viewer_page)) {
if (data->buttons[0] == NULL)
data->buttons[0] =
gth_browser_add_header_bar_button (browser,
GTH_BROWSER_HEADER_SECTION_VIEWER_COMMANDS,
"object-rotate-left-symbolic",
_("Rotate Left"),
"win.rotate-left",
NULL);
if (data->buttons[1] == NULL)
data->buttons[1] =
gth_browser_add_header_bar_button (browser,
GTH_BROWSER_HEADER_SECTION_VIEWER_COMMANDS,
"object-rotate-right-symbolic",
_("Rotate Right"),
"win.rotate-right",
NULL);
}
}
void
ir__gth_browser_deactivate_viewer_page_cb (GthBrowser *browser)
{
BrowserData *data;
GtkWidget *viewer_page;
data = g_object_get_data (G_OBJECT (browser), BROWSER_DATA_KEY);
g_return_if_fail (data != NULL);
viewer_page = gth_browser_get_viewer_page (browser);
if (GTH_IS_IMAGE_VIEWER_PAGE (viewer_page)) {
if (data->buttons[0] != NULL)
gtk_widget_destroy (data->buttons[0]);
if (data->buttons[1] != NULL)
gtk_widget_destroy (data->buttons[1]);
data->buttons[0] = NULL;
data->buttons[1] = NULL;
}
}
......@@ -24,9 +24,11 @@
#include <gthumb.h>
void ir__gth_browser_construct_cb (GthBrowser *browser);
void ir__gth_browser_update_sensitivity_cb (GthBrowser *browser);
gpointer ir__gth_browser_file_list_key_press_cb (GthBrowser *browser,
GdkEventKey *event);
void ir__gth_browser_construct_cb (GthBrowser *browser);
void ir__gth_browser_update_sensitivity_cb (GthBrowser *browser);
gpointer ir__gth_browser_file_list_key_press_cb (GthBrowser *browser,
GdkEventKey *event);
void ir__gth_browser_activate_viewer_page_cb (GthBrowser *browser);
void ir__gth_browser_deactivate_viewer_page_cb (GthBrowser *browser);
#endif /* CALLBACKS_H */
......@@ -40,6 +40,8 @@ gthumb_extension_activate (void)
gth_hook_add_callback ("gth-browser-construct", 10, G_CALLBACK (ir__gth_browser_construct_cb), NULL);
gth_hook_add_callback ("gth-browser-update-sensitivity", 10, G_CALLBACK (ir__gth_browser_update_sensitivity_cb), NULL);
gth_hook_add_callback ("gth-browser-file-list-key-press", 10, G_CALLBACK (ir__gth_browser_file_list_key_press_cb), NULL);
gth_hook_add_callback ("gth-browser-activate-viewer-page", 10, G_CALLBACK (ir__gth_browser_activate_viewer_page_cb), NULL);
gth_hook_add_callback ("gth-browser-deactivate-viewer-page", 10, G_CALLBACK (ir__gth_browser_deactivate_viewer_page_cb), NULL);
}
......
......@@ -162,8 +162,8 @@ list_tools__gth_browser_construct_cb (GthBrowser *browser)
browser);
builder = gtk_builder_new_from_resource ("/org/gnome/gThumb/list_tools/data/ui/tools-menu.ui");
gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_TOOLS1, G_MENU (gtk_builder_get_object (builder, "tools1")));
gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_TOOLS2, G_MENU (gtk_builder_get_object (builder, "tools2")));
gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_TOOLS, G_MENU (gtk_builder_get_object (builder, "tools1")));
gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_MORE_TOOLS, G_MENU (gtk_builder_get_object (builder, "tools2")));
gth_browser_add_menu_manager_for_menu (browser, GTH_BROWSER_MENU_MANAGER_TOOLS3, G_MENU (gtk_builder_get_object (builder, "tools3")));
menu = G_MENU_MODEL (gtk_builder_get_object (builder, "tools-menu"));
......@@ -172,21 +172,11 @@ list_tools__gth_browser_construct_cb (GthBrowser *browser)
button = _gtk_menu_button_new_for_header_bar ();
g_signal_connect (button, "toggled", G_CALLBACK (tools_menu_button_toggled_cb), data);
gtk_widget_set_tooltip_text (button, _("Tools"));
gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("system-run-symbolic", GTK_ICON_SIZE_MENU));
gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("tools-symbolic", GTK_ICON_SIZE_MENU));
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu);
gtk_widget_show_all (button);
gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS)), button, FALSE, FALSE, 0);
/* viewer tools */
button = _gtk_menu_button_new_for_header_bar ();
g_signal_connect (button, "toggled", G_CALLBACK (tools_menu_button_toggled_cb), data);
gtk_widget_set_tooltip_text (button, _("Tools"));
gtk_container_add (GTK_CONTAINER (button), gtk_image_new_from_icon_name ("system-run-symbolic", GTK_ICON_SIZE_MENU));
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu);
gtk_widget_show_all (button);
gtk_box_pack_start (GTK_BOX (gth_browser_get_headerbar_section (browser, GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS)), button, FALSE, FALSE, 0);
g_object_unref (builder);
}
......
......@@ -4,8 +4,9 @@
<menu id="tools-menu">
<section id="tools1">
</section>
<section id="tools2">
</section>
<submenu id="tools2">
<attribute name="label" translatable="yes">More</attribute>
</submenu>
<section id="tools3">
</section>
<section>
......
......@@ -22,8 +22,8 @@
#ifndef LIST_TOOLS_H
#define LIST_TOOLS_H
#define GTH_BROWSER_MENU_MANAGER_TOOLS1 "tools.tools1"
#define GTH_BROWSER_MENU_MANAGER_TOOLS2 "tools.tools2"
#define GTH_BROWSER_MENU_MANAGER_TOOLS "tools.tools1"
#define GTH_BROWSER_MENU_MANAGER_MORE_TOOLS "tools.tools2"
#define GTH_BROWSER_MENU_MANAGER_TOOLS3 "tools.tools3"
#endif /* LIST_TOOLS_H */
......@@ -47,7 +47,7 @@ ri__gth_browser_construct_cb (GthBrowser *browser)
actions,
G_N_ELEMENTS (actions),
browser);
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS2),
gth_menu_manager_append_entries (gth_browser_get_menu_manager (browser, GTH_BROWSER_MENU_MANAGER_TOOLS),
action_entries,
G_N_ELEMENTS (action_entries));
}
......
......@@ -51,12 +51,6 @@ ss__gth_browser_construct_cb (GthBrowser *browser)
_("View as a slideshow"),
"win.slideshow",
"F5");
gth_browser_add_header_bar_button (browser,
GTH_BROWSER_HEADER_SECTION_VIEWER_VIEW,
"view-presentation-symbolic",
_("View as a slideshow"),
"win.slideshow",
"F5");
}
......
......@@ -1889,6 +1889,7 @@ _gth_browser_deactivate_viewer_page (GthBrowser *browser)
if (browser->priv->viewer_page != NULL) {
if (browser->priv->fullscreen)
gth_viewer_page_show_pointer (GTH_VIEWER_PAGE (browser->priv->viewer_page), TRUE);
gth_hook_invoke ("gth-browser-deactivate-viewer-page", browser);
gth_viewer_page_deactivate (browser->priv->viewer_page);
gth_browser_set_viewer_widget (browser, NULL);
g_object_unref (browser->priv->viewer_page);
......@@ -3865,29 +3866,33 @@ gth_browser_init (GthBrowser *browser)
/* dynamic sections */
for (i = 0; i < GTH_BROWSER_N_HEADER_SECTIONS; i++) {
browser->priv->header_sections[i] = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gboolean separated_buttons;
separated_buttons = (i == GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS) || (i == GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS);
browser->priv->header_sections[i] = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, separated_buttons ? 6 : 0);
gtk_widget_set_valign (browser->priv->header_sections[i], GTK_ALIGN_CENTER);
gtk_style_context_add_class (gtk_widget_get_style_context (browser->priv->header_sections[i]), GTK_STYLE_CLASS_LINKED);
if (! separated_buttons)
gtk_style_context_add_class (gtk_widget_get_style_context (browser->priv->header_sections[i]), GTK_STYLE_CLASS_LINKED);
}
gtk_widget_set_margin_right (browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_EDIT], SECTION_BIG_MARGIN);
gtk_widget_set_margin_left (browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_VIEW], SECTION_BIG_MARGIN);
gtk_widget_set_margin_left (browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_EDIT], SECTION_BIG_MARGIN);
gtk_widget_set_margin_right (browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_EDIT], SECTION_BIG_MARGIN);
gtk_widget_set_margin_left (browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_EDIT], SECTION_BIG_MARGIN);
gtk_widget_set_margin_left (browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_COMMANDS], SECTION_BIG_MARGIN);
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_NAVIGATION]);
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_LOCATIONS]);
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_COMMANDS]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_VIEW]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_EDIT]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS]);
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_NAVIGATION]);
gtk_header_bar_pack_start (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_COMMANDS]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_VIEW]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_EDIT]);
gtk_header_bar_pack_end (GTK_HEADER_BAR (header_bar), browser->priv->header_sections[GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS]);
/* gears menu button */
......@@ -5373,6 +5378,7 @@ _gth_browser_set_current_viewer_page (GthBrowser *browser,
if (browser->priv->viewer_page == NULL) {
browser->priv->viewer_page = g_object_new (G_OBJECT_TYPE (registered_viewer_page), NULL);
gth_viewer_page_activate (browser->priv->viewer_page, browser);
gth_hook_invoke ("gth-browser-activate-viewer-page", browser);
if (browser->priv->fullscreen)
gth_viewer_page_show_pointer (GTH_VIEWER_PAGE (browser->priv->viewer_page), FALSE);
......
......@@ -80,14 +80,14 @@ typedef enum { /*< skip >*/
GTH_BROWSER_HEADER_SECTION_BROWSER_NAVIGATION,
GTH_BROWSER_HEADER_SECTION_BROWSER_LOCATIONS,
GTH_BROWSER_HEADER_SECTION_BROWSER_COMMANDS,
GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS,
GTH_BROWSER_HEADER_SECTION_BROWSER_VIEW,
GTH_BROWSER_HEADER_SECTION_BROWSER_EDIT,
GTH_BROWSER_HEADER_SECTION_BROWSER_TOOLS,
GTH_BROWSER_HEADER_SECTION_VIEWER_NAVIGATION,
GTH_BROWSER_HEADER_SECTION_VIEWER_COMMANDS,
GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS,
GTH_BROWSER_HEADER_SECTION_VIEWER_VIEW,
GTH_BROWSER_HEADER_SECTION_VIEWER_EDIT,
GTH_BROWSER_HEADER_SECTION_VIEWER_TOOLS,
GTH_BROWSER_N_HEADER_SECTIONS
} GthBrowserHeaderSection;
......
......@@ -96,6 +96,20 @@ gth_main_register_default_hooks (void)
**/
gth_hook_register ("gth-browser-set-current-page", 1);
/**
* Called when after the activation of a viewer page
*
* @browser (GthBrowser*): the relative window.
**/
gth_hook_register ("gth-browser-activate-viewer-page", 1);
/**
* Called before the deactivation of a viewer page.
*
* @browser (GthBrowser*): the relative window.
**/
gth_hook_register ("gth-browser-deactivate-viewer-page", 1);
/**
* Called before loading a folder.
*
......
......@@ -26,6 +26,9 @@
#include "gth-menu-manager.h"
#define _G_MENU_ATTRIBUTE_DETAILED_ACTION "gthumb-detailed-action"
/* Properties */
enum {
PROP_0,
......@@ -165,6 +168,7 @@ create_menu_item (const char *label,
GMenuItem *item;
item = g_menu_item_new (label,detailed_action);
g_menu_item_set_attribute (item, _G_MENU_ATTRIBUTE_DETAILED_ACTION, "s", detailed_action, NULL);
if (accel != NULL)
g_menu_item_set_attribute (item, "accel", "s", accel, NULL);
if (icon_name != NULL) {
......@@ -221,7 +225,7 @@ _g_menu_model_get_item_position_from_action (GMenuModel *model,
if (g_menu_model_get_item_attribute (model,
i,
G_MENU_ATTRIBUTE_ACTION,
_G_MENU_ATTRIBUTE_DETAILED_ACTION,
"s",
&item_action))
{
......@@ -250,7 +254,10 @@ gth_menu_manager_remove_entries (GthMenuManager *menu_manager,
return;
items = g_hash_table_lookup (menu_manager->priv->items, GINT_TO_POINTER (merge_id));
g_return_if_fail (items != NULL);
if (items == NULL) {
g_hash_table_remove (menu_manager->priv->items, GINT_TO_POINTER (merge_id));
return;
}
for (scan = items; scan; scan = scan->next) {
char *detailed_action = scan->data;
......
......@@ -42,7 +42,6 @@
<item>
<attribute name="label" translatable="yes">Thumbnails</attribute>
<attribute name="action">win.show-thumbnails</attribute>
<attribute name="accel"><![CDATA[<Control>t]]></attribute>
</item>
</section>
<section id="folder-actions">
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment