summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac3
-rw-r--r--data/Makefile.am2
-rw-r--r--po/POTFILES.in18
-rw-r--r--src/Makefile.am17
-rw-r--r--src/dlg-add-folder.c2
-rw-r--r--src/dlg-ask-password.c2
-rw-r--r--src/dlg-batch-add.c2
-rw-r--r--src/dlg-delete.c2
-rw-r--r--src/dlg-new.c2
-rw-r--r--src/dlg-password.c2
-rw-r--r--src/dlg-prop.c2
-rw-r--r--src/dlg-update.c2
-rw-r--r--src/engrampa.gresource.xml15
-rw-r--r--src/fr-window.c2
-rw-r--r--src/gtk-utils.c19
-rw-r--r--src/gtk-utils.h2
-rw-r--r--src/ui.h119
-rw-r--r--src/ui/Makefile.am (renamed from data/ui/Makefile.am)7
-rw-r--r--src/ui/add-options.ui (renamed from data/ui/add-options.ui)0
-rw-r--r--src/ui/app-menu.ui18
-rw-r--r--src/ui/batch-add-files.ui (renamed from data/ui/batch-add-files.ui)0
-rw-r--r--src/ui/batch-password.ui (renamed from data/ui/batch-password.ui)0
-rw-r--r--src/ui/delete.ui (renamed from data/ui/delete.ui)0
-rw-r--r--src/ui/menus-toolbars.ui106
-rw-r--r--src/ui/new.ui (renamed from data/ui/new.ui)0
-rw-r--r--src/ui/password.ui (renamed from data/ui/password.ui)0
-rw-r--r--src/ui/properties.ui (renamed from data/ui/properties.ui)0
-rw-r--r--src/ui/update.ui (renamed from data/ui/update.ui)0
28 files changed, 199 insertions, 145 deletions
diff --git a/configure.ac b/configure.ac
index a6d1520..0add897 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,6 +20,7 @@ GLIB_GSETTINGS
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
+AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources)
dnl ==========================================================================
dnl
@@ -215,7 +216,6 @@ AC_CONFIG_FILES([Makefile
data/Makefile
data/engrampa.desktop.in
data/org.mate.engrampa.gschema.xml
- data/ui/Makefile
data/icons/Makefile
data/icons/16x16/Makefile
data/icons/16x16/actions/Makefile
@@ -233,6 +233,7 @@ AC_CONFIG_FILES([Makefile
src/Makefile
src/commands/Makefile
src/sh/Makefile
+ src/ui/Makefile
caja/Makefile
caja/libcaja-engrampa.caja-extension.in
help/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index eab56b7..d5d6cfe 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = ui icons
+SUBDIRS = icons
desktopdir = $(datadir)/applications
desktop_in_in_files = engrampa.desktop.in.in
diff --git a/po/POTFILES.in b/po/POTFILES.in
index c0786de..01cc48b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -9,14 +9,6 @@ copy-n-paste/eggsmclient-private.h
copy-n-paste/eggsmclient-xsmp.c
data/engrampa.appdata.xml.in
data/engrampa.desktop.in.in
-[type: gettext/glade]data/ui/add-options.ui
-[type: gettext/glade]data/ui/batch-add-files.ui
-[type: gettext/glade]data/ui/batch-password.ui
-[type: gettext/glade]data/ui/delete.ui
-[type: gettext/glade]data/ui/new.ui
-[type: gettext/glade]data/ui/password.ui
-[type: gettext/glade]data/ui/properties.ui
-[type: gettext/glade]data/ui/update.ui
[type: gettext/gsettings]data/org.mate.engrampa.gschema.xml.in
caja/engrampa-module.c
caja/caja-engrampa.c
@@ -132,4 +124,14 @@ src/rar-utils.h
src/server.c
src/test-server.c
src/typedefs.h
+[type: gettext/glade]src/ui/add-options.ui
+[type: gettext/glade]src/ui/app-menu.ui
+[type: gettext/glade]src/ui/batch-add-files.ui
+[type: gettext/glade]src/ui/batch-password.ui
+[type: gettext/glade]src/ui/delete.ui
src/ui.h
+[type: gettext/glade]src/ui/menus-toolbars.ui
+[type: gettext/glade]src/ui/new.ui
+[type: gettext/glade]src/ui/password.ui
+[type: gettext/glade]src/ui/properties.ui
+[type: gettext/glade]src/ui/update.ui
diff --git a/src/Makefile.am b/src/Makefile.am
index 494b527..c4da5ed 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = commands sh
+SUBDIRS = commands sh ui
bin_PROGRAMS = engrampa
libexec_PROGRAMS = engrampa-server
@@ -45,7 +45,10 @@ BUILT_SOURCES = \
fr-marshal.c \
fr-marshal.h \
fr-enum-types.h \
- fr-enum-types.c
+ fr-enum-types.c \
+ fr-resources.c \
+ fr-resources.h \
+ $(NULL)
COMMON_SOURCES = \
actions.h \
@@ -190,6 +193,12 @@ fr-enum-types.c: typedefs.h fr-enum-types.h
&& (cmp -s xgen-$(@F) fr-enum-types.c || cp xgen-$(@F) fr-enum-types.c ) \
&& rm -f xgen-$(@F) )
+fr-resources.c: engrampa.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies engrampa.gresource.xml)
+ $(GLIB_COMPILE_RESOURCES) [email protected] --sourcedir=$(srcdir) --generate --c-name fr $(srcdir)/engrampa.gresource.xml
+
+fr-resources.h: engrampa.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies engrampa.gresource.xml)
+ $(GLIB_COMPILE_RESOURCES) [email protected] --sourcedir=$(srcdir) --generate --c-name fr $(srcdir)/engrampa.gresource.xml
+
engrampa_SOURCES = \
$(COMMON_SOURCES) \
main.c
@@ -214,7 +223,9 @@ if ENABLE_MAGIC
engrampa_LDADD += $(MAGIC_LIBS)
endif
-EXTRA_DIST = fr-marshal.list
+EXTRA_DIST = \
+ engrampa.gresource.xml \
+ fr-marshal.list
CLEANFILES = $(BUILT_SOURCES)
diff --git a/src/dlg-add-folder.c b/src/dlg-add-folder.c
index 5531100..9d74d50 100644
--- a/src/dlg-add-folder.c
+++ b/src/dlg-add-folder.c
@@ -801,7 +801,7 @@ load_options_cb (GtkWidget *w,
aod_data = g_new0 (LoadOptionsDialogData, 1);
aod_data->data = data;
- aod_data->builder = _gtk_builder_new_from_file ("add-options.ui");
+ aod_data->builder = _gtk_builder_new_from_resource ("add-options.ui");
if (aod_data->builder == NULL) {
g_free (aod_data);
return;
diff --git a/src/dlg-ask-password.c b/src/dlg-ask-password.c
index a29d55b..af791bf 100644
--- a/src/dlg-ask-password.c
+++ b/src/dlg-ask-password.c
@@ -98,7 +98,7 @@ dlg_ask_password__common (FrWindow *window,
data = g_new0 (DialogData, 1);
- data->builder = _gtk_builder_new_from_file ("batch-password.ui");
+ data->builder = _gtk_builder_new_from_resource ("batch-password.ui");
if (data->builder == NULL) {
g_free (data);
return;
diff --git a/src/dlg-batch-add.c b/src/dlg-batch-add.c
index e192ca1..ae82eee 100644
--- a/src/dlg-batch-add.c
+++ b/src/dlg-batch-add.c
@@ -475,7 +475,7 @@ dlg_batch_add_files (FrWindow *window,
data->settings = g_settings_new (ENGRAMPA_SCHEMA_BATCH_ADD);
data->settings_general = g_settings_new (ENGRAMPA_SCHEMA_GENERAL);
- data->builder = _gtk_builder_new_from_file ("batch-add-files.ui");
+ data->builder = _gtk_builder_new_from_resource ("batch-add-files.ui");
if (data->builder == NULL) {
g_free (data);
return;
diff --git a/src/dlg-delete.c b/src/dlg-delete.c
index e8abe86..26f5cfd 100644
--- a/src/dlg-delete.c
+++ b/src/dlg-delete.c
@@ -115,7 +115,7 @@ dlg_delete__common (FrWindow *window,
data->window = window;
data->selected_files = selected_files;
- data->builder = _gtk_builder_new_from_file ("delete.ui");
+ data->builder = _gtk_builder_new_from_resource ("delete.ui");
if (data->builder == NULL) {
g_free (data);
return;
diff --git a/src/dlg-new.c b/src/dlg-new.c
index c10602d..e658abc 100644
--- a/src/dlg-new.c
+++ b/src/dlg-new.c
@@ -275,7 +275,7 @@ dlg_new_archive (FrWindow *window,
data = g_new0 (DlgNewData, 1);
- data->builder = _gtk_builder_new_from_file ("new.ui");
+ data->builder = _gtk_builder_new_from_resource ("new.ui");
if (data->builder == NULL) {
g_free (data);
return NULL;
diff --git a/src/dlg-password.c b/src/dlg-password.c
index 73e8ad8..7a717b7 100644
--- a/src/dlg-password.c
+++ b/src/dlg-password.c
@@ -89,7 +89,7 @@ dlg_password (GtkWidget *widget,
data = g_new0 (DialogData, 1);
- data->builder = _gtk_builder_new_from_file ("password.ui");
+ data->builder = _gtk_builder_new_from_resource ("password.ui");
if (data->builder == NULL) {
g_free (data);
return;
diff --git a/src/dlg-prop.c b/src/dlg-prop.c
index 475737d..4993826 100644
--- a/src/dlg-prop.c
+++ b/src/dlg-prop.c
@@ -89,7 +89,7 @@ dlg_prop (FrWindow *window)
data = g_new (DialogData, 1);
- data->builder = _gtk_builder_new_from_file ("properties.ui");
+ data->builder = _gtk_builder_new_from_resource ("properties.ui");
if (data->builder == NULL) {
g_free (data);
return;
diff --git a/src/dlg-update.c b/src/dlg-update.c
index ddd3cac..197d24d 100644
--- a/src/dlg-update.c
+++ b/src/dlg-update.c
@@ -285,7 +285,7 @@ dlg_update (FrWindow *window)
data = g_new0 (DialogData, 1);
- data->builder = _gtk_builder_new_from_file ("update.ui");
+ data->builder = _gtk_builder_new_from_resource ("update.ui");
if (data->builder == NULL) {
g_free (data);
return NULL;
diff --git a/src/engrampa.gresource.xml b/src/engrampa.gresource.xml
new file mode 100644
index 0000000..0b944bf
--- /dev/null
+++ b/src/engrampa.gresource.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/mate/Engrampa">
+ <file compressed="true">ui/add-options.ui</file>
+ <file compressed="true">ui/app-menu.ui</file>
+ <file compressed="true">ui/batch-add-files.ui</file>
+ <file compressed="true">ui/batch-password.ui</file>
+ <file compressed="true">ui/delete.ui</file>
+ <file compressed="true">ui/menus-toolbars.ui</file>
+ <file compressed="true">ui/new.ui</file>
+ <file compressed="true">ui/password.ui</file>
+ <file compressed="true">ui/properties.ui</file>
+ <file compressed="true">ui/update.ui</file>
+ </gresource>
+</gresources>
diff --git a/src/fr-window.c b/src/fr-window.c
index 9a734be..df03e6c 100644
--- a/src/fr-window.c
+++ b/src/fr-window.c
@@ -5888,7 +5888,7 @@ fr_window_construct (FrWindow *window)
g_cclosure_new_swap (G_CALLBACK (fr_window_close), window, NULL));
- if (!gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, &error)) {
+ if (! gtk_ui_manager_add_ui_from_resource (ui, "/org/mate/Engrampa/ui/menus-toolbars.ui", &error)) {
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
diff --git a/src/gtk-utils.c b/src/gtk-utils.c
index 5835eb6..ce4758b 100644
--- a/src/gtk-utils.c
+++ b/src/gtk-utils.c
@@ -26,6 +26,7 @@
#include "gtk-utils.h"
#define LOAD_BUFFER_SIZE 65536
+#define ENGRAMPA_RESOURCE_UI_PATH "/org/mate/Engrampa/ui/"
static void
count_selected (GtkTreeModel *model,
@@ -804,6 +805,24 @@ _gtk_builder_new_from_file (const char *ui_file)
return builder;
}
+GtkBuilder *
+_gtk_builder_new_from_resource (const char *resource_path)
+{
+ GtkBuilder *builder;
+ char *full_path;
+ GError *error = NULL;
+
+ builder = gtk_builder_new ();
+ full_path = g_strconcat (ENGRAMPA_RESOURCE_UI_PATH, resource_path, NULL);
+ if (! gtk_builder_add_from_resource (builder, full_path, &error)) {
+ g_warning ("%s\n", error->message);
+ g_clear_error (&error);
+ }
+ g_free (full_path);
+
+ return builder;
+}
+
GtkWidget *
_gtk_builder_get_widget (GtkBuilder *builder,
diff --git a/src/gtk-utils.h b/src/gtk-utils.h
index 64ff68a..8c5c36a 100644
--- a/src/gtk-utils.h
+++ b/src/gtk-utils.h
@@ -85,6 +85,8 @@ void show_help_dialog (GtkWindow *parent,
const char *section);
GtkBuilder *
_gtk_builder_new_from_file (const char *filename);
+GtkBuilder *
+ _gtk_builder_new_from_resource (const char *resource_path);
GtkWidget *
_gtk_builder_get_widget (GtkBuilder *builder,
const char *name);
diff --git a/src/ui.h b/src/ui.h
index 1b972d8..01656ae 100644
--- a/src/ui.h
+++ b/src/ui.h
@@ -271,123 +271,4 @@ static GtkRadioActionEntry sort_by_entries[] = {
static guint n_sort_by_entries = G_N_ELEMENTS (sort_by_entries);
-static const gchar *ui_info =
-"<ui>"
-" <menubar name='MenuBar'>"
-" <menu name='Archive' action='FileMenu'>"
-" <menuitem action='New'/>"
-" <menuitem action='Open'/>"
-" <menuitem action='OpenRecent'/>"
-" <menuitem action='SaveAs'/>"
-" <separator/>"
-" <menuitem action='Extract'/>"
-" <menuitem action='TestArchive'/>"
-" <separator/>"
-" <menuitem action='Properties'/>"
-" <separator/>"
-" <menuitem action='Close'/>"
-" </menu>"
-" <menu action='EditMenu'>"
-" <menuitem action='Cut'/>"
-" <menuitem action='Copy'/>"
-" <menuitem action='Paste'/>"
-" <menuitem action='Rename'/>"
-" <menuitem action='Delete'/>"
-" <separator/>"
-" <menuitem action='SelectAll'/>"
-" <menuitem action='DeselectAll'/>"
-" <separator/>"
-" <menuitem action='Find'/>"
-" <separator/>"
-" <menuitem action='AddFiles'/>"
-" <menuitem action='AddFolder'/>"
-" <separator/>"
-" <menuitem action='Password'/>"
-" </menu>"
-" <menu action='ViewMenu'>"
-" <menuitem action='ViewToolbar'/>"
-" <menuitem action='ViewStatusbar'/>"
-" <menuitem action='ViewFolders'/>"
-" <separator/>"
-" <menuitem action='ViewAllFiles'/>"
-" <menuitem action='ViewAsFolder'/>"
-/*" <separator/>"
-" <menu action='ArrangeFilesMenu'>"
-" <menuitem action='SortByName'/>"
-" <menuitem action='SortBySize'/>"
-" <menuitem action='SortByType'/>"
-" <menuitem action='SortByDate'/>"
-" <menuitem action='SortByLocation'/>"
-" <separator/>"
-" <menuitem action='SortReverseOrder'/>"
-" </menu>"*/
-" <separator/>"
-" <menuitem action='LastOutput'/>"
-" <separator/>"
-" <menuitem action='Stop'/>"
-" <menuitem action='Reload'/>"
-" </menu>"
-" <menu action='HelpMenu'>"
-" <menuitem action='Contents'/>"
-" <menuitem action='About'/>"
-" </menu>"
-" </menubar>"
-" <toolbar name='ToolBar'>"
-" <toolitem action='New'/>"
-" <toolitem action='OpenRecent_Toolbar'/>"
-" <separator/>"
-" <toolitem action='Extract_Toolbar'/>"
-" <separator/>"
-" <toolitem action='AddFiles_Toolbar'/>"
-" <toolitem action='AddFolder_Toolbar'/>"
-" <separator/>"
-" <toolitem action='Stop'/>"
-" </toolbar>"
-" <toolbar name='LocationBar'>"
-" <toolitem action='GoBack'/>"
-" <toolitem action='GoForward'/>"
-" <toolitem action='GoUp'/>"
-" <toolitem action='GoHome'/>"
-" </toolbar>"
-" <popup name='FilePopupMenu'>"
-" <menuitem action='ViewSelection'/>"
-" <menuitem action='OpenSelection'/>"
-" <separator/>"
-" <menuitem action='Extract'/>"
-" <separator/>"
-" <menuitem action='Cut'/>"
-" <menuitem action='Copy'/>"
-" <menuitem action='Paste'/>"
-" <menuitem action='Rename'/>"
-" <menuitem action='Delete'/>"
-" </popup>"
-" <popup name='FolderPopupMenu'>"
-" <menuitem action='OpenFolder'/>"
-" <separator/>"
-" <menuitem action='Extract'/>"
-" <separator/>"
-" <menuitem action='Cut'/>"
-" <menuitem action='Copy'/>"
-" <menuitem action='Paste'/>"
-" <menuitem action='Rename'/>"
-" <menuitem action='Delete'/>"
-" </popup>"
-" <popup name='AddMenu'>"
-" <menuitem action='AddFiles'/>"
-" <menuitem action='AddFolder'/>"
-" </popup>"
-" <popup name='SidebarFolderPopupMenu'>"
-" <menuitem action='OpenFolderFromSidebar'/>"
-" <separator/>"
-" <menuitem action='ExtractFolderFromSidebar'/>"
-" <separator/>"
-" <menuitem action='CutFolderFromSidebar'/>"
-" <menuitem action='CopyFolderFromSidebar'/>"
-" <menuitem action='PasteFolderFromSidebar'/>"
-" <menuitem action='RenameFolderFromSidebar'/>"
-" <menuitem action='DeleteFolderFromSidebar'/>"
-" </popup>"
-"</ui>";
-
-
#endif /* UI_H */
diff --git a/data/ui/Makefile.am b/src/ui/Makefile.am
index 09f9f79..5f1cd54 100644
--- a/data/ui/Makefile.am
+++ b/src/ui/Makefile.am
@@ -1,14 +1,13 @@
-uidir = $(datadir)/engrampa/ui
-ui_DATA = \
+EXTRA_DIST = \
add-options.ui \
+ app-menu.ui \
batch-add-files.ui \
batch-password.ui \
delete.ui \
+ menus-toolbars.ui \
new.ui \
password.ui \
properties.ui \
update.ui
-EXTRA_DIST = $(ui_DATA)
-
-include $(top_srcdir)/git.mk
diff --git a/data/ui/add-options.ui b/src/ui/add-options.ui
index e7515e5..e7515e5 100644
--- a/data/ui/add-options.ui
+++ b/src/ui/add-options.ui
diff --git a/src/ui/app-menu.ui b/src/ui/app-menu.ui
new file mode 100644
index 0000000..11428d5
--- /dev/null
+++ b/src/ui/app-menu.ui
@@ -0,0 +1,18 @@
+<interface>
+ <menu id="app-menu">
+ <section>
+ <item>
+ <attribute name="action">app.help</attribute>
+ <attribute name="label" translatable="yes">_Help</attribute>
+ </item>
+ <item>
+ <attribute name="action">app.about</attribute>
+ <attribute name="label" translatable="yes">_About Archive Manager</attribute>
+ </item>
+ <item>
+ <attribute name="action">app.quit</attribute>
+ <attribute name="label" translatable="yes">_Quit</attribute>
+ </item>
+ </section>
+ </menu>
+</interface>
diff --git a/data/ui/batch-add-files.ui b/src/ui/batch-add-files.ui
index 21f9240..21f9240 100644
--- a/data/ui/batch-add-files.ui
+++ b/src/ui/batch-add-files.ui
diff --git a/data/ui/batch-password.ui b/src/ui/batch-password.ui
index faeedcd..faeedcd 100644
--- a/data/ui/batch-password.ui
+++ b/src/ui/batch-password.ui
diff --git a/data/ui/delete.ui b/src/ui/delete.ui
index a54a4f8..a54a4f8 100644
--- a/data/ui/delete.ui
+++ b/src/ui/delete.ui
diff --git a/src/ui/menus-toolbars.ui b/src/ui/menus-toolbars.ui
new file mode 100644
index 0000000..b6b68ed
--- /dev/null
+++ b/src/ui/menus-toolbars.ui
@@ -0,0 +1,106 @@
+<ui>
+ <menubar name="MenuBar">
+ <menu name="Archive" action="FileMenu">
+ <menuitem action="New"/>
+ <menuitem action="Open"/>
+ <menuitem action="OpenRecent"/>
+ <menuitem action="SaveAs"/>
+ <separator/>
+ <menuitem action="Extract"/>
+ <menuitem action="TestArchive"/>
+ <separator/>
+ <menuitem action="Properties"/>
+ <separator/>
+ <menuitem action="Close"/>
+ </menu>
+ <menu action="EditMenu">
+ <menuitem action="Cut"/>
+ <menuitem action="Copy"/>
+ <menuitem action="Paste"/>
+ <menuitem action="Rename"/>
+ <menuitem action="Delete"/>
+ <separator/>
+ <menuitem action="SelectAll"/>
+ <menuitem action="DeselectAll"/>
+ <separator/>
+ <menuitem action="Find"/>
+ <separator/>
+ <menuitem action="AddFiles"/>
+ <menuitem action="AddFolder"/>
+ <separator/>
+ <menuitem action="Password"/>
+ </menu>
+ <menu action="ViewMenu">
+ <menuitem action="ViewToolbar"/>
+ <menuitem action="ViewStatusbar"/>
+ <menuitem action="ViewFolders"/>
+ <separator/>
+ <menuitem action="ViewAllFiles"/>
+ <menuitem action="ViewAsFolder"/>
+ <separator/>
+ <menuitem action="LastOutput"/>
+ <separator/>
+ <menuitem action="Stop"/>
+ <menuitem action="Reload"/>
+ </menu>
+ <menu action="HelpMenu">
+ <menuitem action="Contents"/>
+ <menuitem action="About"/>
+ </menu>
+ </menubar>
+ <toolbar name="ToolBar">
+ <toolitem action="New"/>
+ <toolitem action="OpenRecent_Toolbar"/>
+ <separator/>
+ <toolitem action="Extract_Toolbar"/>
+ <separator/>
+ <toolitem action="AddFiles_Toolbar"/>
+ <toolitem action="AddFolder_Toolbar"/>
+ <separator/>
+ <toolitem action="Stop"/>
+ </toolbar>
+ <toolbar name="LocationBar">
+ <toolitem action="GoBack"/>
+ <toolitem action="GoForward"/>
+ <toolitem action="GoUp"/>
+ <toolitem action="GoHome"/>
+ </toolbar>
+ <popup name="FilePopupMenu">
+ <menuitem action="ViewSelection"/>
+ <menuitem action="OpenSelection"/>
+ <separator/>
+ <menuitem action="Extract"/>
+ <separator/>
+ <menuitem action="Cut"/>
+ <menuitem action="Copy"/>
+ <menuitem action="Paste"/>
+ <menuitem action="Rename"/>
+ <menuitem action="Delete"/>
+ </popup>
+ <popup name="FolderPopupMenu">
+ <menuitem action="OpenFolder"/>
+ <separator/>
+ <menuitem action="Extract"/>
+ <separator/>
+ <menuitem action="Cut"/>
+ <menuitem action="Copy"/>
+ <menuitem action="Paste"/>
+ <menuitem action="Rename"/>
+ <menuitem action="Delete"/>
+ </popup>
+ <popup name="AddMenu">
+ <menuitem action="AddFiles"/>
+ <menuitem action="AddFolder"/>
+ </popup>
+ <popup name="SidebarFolderPopupMenu">
+ <menuitem action="OpenFolderFromSidebar"/>
+ <separator/>
+ <menuitem action="ExtractFolderFromSidebar"/>
+ <separator/>
+ <menuitem action="CutFolderFromSidebar"/>
+ <menuitem action="CopyFolderFromSidebar"/>
+ <menuitem action="PasteFolderFromSidebar"/>
+ <menuitem action="RenameFolderFromSidebar"/>
+ <menuitem action="DeleteFolderFromSidebar"/>
+ </popup>
+</ui>
diff --git a/data/ui/new.ui b/src/ui/new.ui
index 91454e7..91454e7 100644
--- a/data/ui/new.ui
+++ b/src/ui/new.ui
diff --git a/data/ui/password.ui b/src/ui/password.ui
index 638f668..638f668 100644
--- a/data/ui/password.ui
+++ b/src/ui/password.ui
diff --git a/data/ui/properties.ui b/src/ui/properties.ui
index a478887..a478887 100644
--- a/data/ui/properties.ui
+++ b/src/ui/properties.ui
diff --git a/data/ui/update.ui b/src/ui/update.ui
index f3bcf21..f3bcf21 100644
--- a/data/ui/update.ui
+++ b/src/ui/update.ui