[eog-plugins] export-to-folder: Port to GAction
- From: Felix Riemann <friemann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [eog-plugins] export-to-folder: Port to GAction
- Date: Thu, 12 Feb 2015 20:54:09 +0000 (UTC)
commit 75df0686a521bb278bdb3144901b4910ab6cf9fb
Author: Robert Roth <robert roth off gmail com>
Date: Thu Feb 12 20:40:01 2015 +0200
export-to-folder: Port to GAction
https://bugzilla.gnome.org/show_bug.cgi?id=743885
.../export-to-folder.plugin.desktop.in | 2 +-
plugins/export-to-folder/export-to-folder.py | 44 ++++++++++---------
2 files changed, 24 insertions(+), 22 deletions(-)
---
diff --git a/plugins/export-to-folder/export-to-folder.plugin.desktop.in
b/plugins/export-to-folder/export-to-folder.plugin.desktop.in
index be5a49d..c42d833 100644
--- a/plugins/export-to-folder/export-to-folder.plugin.desktop.in
+++ b/plugins/export-to-folder/export-to-folder.plugin.desktop.in
@@ -1,7 +1,7 @@
[Plugin]
Loader=python3
Module=export-to-folder
-IAge=2
+IAge=3
_Name=Export to Folder
Icon=eog
_Description=Export the current image to a separate directory
diff --git a/plugins/export-to-folder/export-to-folder.py b/plugins/export-to-folder/export-to-folder.py
index e1a70f9..9494561 100644
--- a/plugins/export-to-folder/export-to-folder.py
+++ b/plugins/export-to-folder/export-to-folder.py
@@ -21,20 +21,10 @@
import os
import shutil
-from gi.repository import GObject, Eog, Gio, Gtk, PeasGtk
+from gi.repository import GObject, GLib, Eog, Gio, Gtk, PeasGtk
-
-ui_str = """
-<ui>
- <menubar name="MainMenu">
- <menu name="ToolsMenu" action="Tools">
- <separator/>
- <menuitem name="Export" action="Export"/>
- <separator/>
- </menu>
- </menubar>
-</ui>
-"""
+_MENU_ID = 'Export'
+_ACTION_NAME = 'export-to-folder'
EXPORT_DIR = os.path.join(os.path.expanduser('~'), 'exported-images')
BASE_KEY = 'org.gnome.eog.plugins.export-to-folder'
@@ -55,17 +45,29 @@ class ExportPlugin(GObject.Object, Eog.WindowActivatable):
return target_dir
def do_activate(self):
- ui_manager = self.window.get_ui_manager()
- self.action_group = Gtk.ActionGroup(name='Export')
- self.action_group.add_actions([('Export', None,
- _('_Export'), "E", None, self.export_cb)], self.window)
- ui_manager.insert_action_group(self.action_group, 0)
- self.ui_id = ui_manager.add_ui_from_string(ui_str)
+ model = self.window.get_gear_menu_section('plugins-section')
+ action = Gio.SimpleAction.new(_ACTION_NAME)
+ action.connect('activate', self.export_cb, self.window)
+
+ self.window.add_action(action)
+ menu = Gio.Menu()
+ menu.append(_('_Export'), 'win.export-to-folder')
+ item = Gio.MenuItem.new_section(None, menu)
+ item.set_attribute([('id', 's', _MENU_ID)])
+ model.append_item(item)
def do_deactivate(self):
- ui_manager = self.window.get_ui_manager().remove_ui(self.ui_id);
+ menu = self.window.get_gear_menu_section('plugins-section')
+ for i in range(0, menu.get_n_items()):
+ value = menu.get_item_attribute_value(i, 'id',
+ GLib.VariantType.new('s'))
+
+ if value and value.get_string() == _MENU_ID:
+ menu.remove(i)
+ break
+ self.window.remove_action(_ACTION_NAME)
- def export_cb(self, action, window):
+ def export_cb(self, action, parameter, window):
# Get path to current image.
image = window.get_image()
if not image:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]