[alacarte] MenuEditor: Remove Menu object split
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [alacarte] MenuEditor: Remove Menu object split
- Date: Wed, 20 Jun 2012 23:01:36 +0000 (UTC)
commit 6c6494d7af2fa92fd01afbff13a87f7228bcb7f2
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Tue Jun 19 15:06:51 2012 -0400
MenuEditor: Remove Menu object split
Alacarte/MainWindow.py | 2 +-
Alacarte/MenuEditor.py | 46 +++++++++++++++++++++-------------------------
2 files changed, 22 insertions(+), 26 deletions(-)
---
diff --git a/Alacarte/MainWindow.py b/Alacarte/MainWindow.py
index b73efd0..37df8ae 100644
--- a/Alacarte/MainWindow.py
+++ b/Alacarte/MainWindow.py
@@ -41,7 +41,7 @@ class MainWindow(object):
self.file_path = datadir
self.version = version
self.editor = MenuEditor()
- self.editor.applications.tree.connect("changed", self.menuChanged)
+ self.editor.tree.connect("changed", self.menuChanged)
Gtk.Window.set_default_icon_name('alacarte')
self.tree = Gtk.Builder()
self.tree.set_translation_domain(config.GETTEXT_PACKAGE)
diff --git a/Alacarte/MenuEditor.py b/Alacarte/MenuEditor.py
index d599250..e1d07fb 100644
--- a/Alacarte/MenuEditor.py
+++ b/Alacarte/MenuEditor.py
@@ -22,11 +22,12 @@ import xml.parsers.expat
from gi.repository import GMenu, GLib
from Alacarte import util
-class Menu(object):
- def __init__(self, name):
+class MenuEditor(object):
+ def __init__(self, name='applications.menu'):
self.name = name
self.tree = GMenu.Tree.new(name, GMenu.TreeFlags.SHOW_EMPTY|GMenu.TreeFlags.INCLUDE_EXCLUDED|GMenu.TreeFlags.INCLUDE_NODISPLAY|GMenu.TreeFlags.SHOW_ALL_SEPARATORS|GMenu.TreeFlags.SORT_DISPLAY_NAME)
+ self.tree.connect('changed', self.menuChanged)
self.load()
self.path = os.path.join(util.getUserMenuPath(), self.tree.props.menu_basename)
@@ -43,28 +44,23 @@ class Menu(object):
if not self.tree.load_sync():
raise ValueError("can not load menu tree %r" % (self.name,))
-class MenuEditor(object):
- def __init__(self):
- self.applications = Menu('applications.menu')
- self.applications.tree.connect('changed', self.menuChanged)
-
def menuChanged(self, *a):
- self.applications.load()
+ self.load()
def save(self):
- fd = open(self.applications.path, 'w')
- fd.write(self.applications.dom.toprettyxml())
+ fd = open(self.path, 'w')
+ fd.write(self.dom.toprettyxml())
fd.close()
def revert(self):
- self.revertTree(self.applications.tree.get_root_directory())
- path = os.path.join(util.getUserMenuPath(), os.path.basename(self.applications.tree.get_canonical_menu_path()))
+ self.revertTree(self.tree.get_root_directory())
+ path = os.path.join(util.getUserMenuPath(), os.path.basename(self.tree.get_canonical_menu_path()))
try:
os.unlink(path)
except OSError:
pass
- self.applications.loadDOM()
+ self.loadDOM()
self.save()
def revertTree(self, menu):
@@ -105,7 +101,7 @@ class MenuEditor(object):
def getMenus(self, parent):
if parent is None:
- yield (self.applications.tree.get_root_directory(), True)
+ yield (self.tree.get_root_directory(), True)
return
item_iter = parent.iter()
@@ -172,7 +168,7 @@ class MenuEditor(object):
return False
def setVisible(self, item, visible):
- dom = self.applications.dom
+ dom = self.dom
if isinstance(item, GMenu.TreeEntry):
menu_xml = self.getXmlMenu(self.getPath(item.get_parent()), dom.documentElement, dom)
if visible:
@@ -200,7 +196,7 @@ class MenuEditor(object):
def insertExternalItem(self, file_id, parent_id, before=None, after=None):
parent = self.findMenu(parent_id)
- dom = self.applications.dom
+ dom = self.dom
self.addItem(parent, file_id, dom)
self.positionItem(parent, ('Item', file_id), before, after)
self.save()
@@ -208,7 +204,7 @@ class MenuEditor(object):
def insertExternalMenu(self, file_id, parent_id, before=None, after=None):
menu_id = file_id.rsplit('.', 1)[0]
parent = self.findMenu(parent_id)
- dom = self.applications.dom
+ dom = self.dom
self.addXmlDefaultLayout(self.getXmlMenu(self.getPath(parent), dom.documentElement, dom) , dom)
menu_xml = self.getXmlMenu(self.getPath(parent) + [menu_id], dom.documentElement, dom)
self.addXmlTextElement(menu_xml, 'Directory', file_id, dom)
@@ -229,7 +225,7 @@ class MenuEditor(object):
parent = item.get_parent()
self.writeItem(item, Icon=icon, Name=name, Comment=comment, Exec=command, Terminal=use_term)
if final:
- dom = self.applications.dom
+ dom = self.dom
menu_xml = self.getXmlMenu(self.getPath(parent), dom.documentElement, dom)
self.addXmlTextElement(menu_xml, 'AppDir', util.getUserItemPath(), dom)
self.save()
@@ -240,7 +236,7 @@ class MenuEditor(object):
return
#we don't use this, we just need to make sure the <Menu> exists
#otherwise changes won't show up
- dom = self.applications.dom
+ dom = self.dom
menu_xml = self.getXmlMenu(self.getPath(menu), dom.documentElement, dom)
self.writeMenu(menu, Icon=icon, Name=name, Comment=comment)
if final:
@@ -248,7 +244,7 @@ class MenuEditor(object):
self.save()
def copyItem(self, item, new_parent, before=None, after=None):
- dom = self.applications.dom
+ dom = self.dom
file_path = item.get_desktop_file_path()
keyfile = GLib.KeyFile()
keyfile.load_from_file(file_path, util.KEY_FILE_FLAGS)
@@ -292,7 +288,7 @@ class MenuEditor(object):
return False
if menu.get_parent() != new_parent:
- dom = self.applications.dom
+ dom = self.dom
path = self.getPath(menu)
root_path = path[0]
xml_root = self.getXmlMenu(root_path, dom.documentElement, dom)
@@ -315,7 +311,7 @@ class MenuEditor(object):
self.save()
def deleteMenu(self, menu):
- dom = self.applications.dom
+ dom = self.dom
menu_xml = self.getXmlMenu(self.getPath(menu), dom.documentElement, dom)
self.addDeleted(menu_xml, dom)
self.save()
@@ -325,14 +321,14 @@ class MenuEditor(object):
contents = self.getContents(parent)
contents.remove(item)
layout = self.createLayout(contents)
- dom = self.applications.dom
+ dom = self.dom
menu_xml = self.getXmlMenu(self.getPath(parent), dom.documentElement, dom)
self.addXmlLayout(menu_xml, layout, dom)
self.save()
def findMenu(self, menu_id, parent=None):
if parent is None:
- parent = self.applications.tree.get_root_directory()
+ parent = self.tree.get_root_directory()
if menu_id == parent.get_menu_id():
return parent
@@ -560,7 +556,7 @@ class MenuEditor(object):
contents.remove(item)
contents.insert(index, item)
layout = self.createLayout(contents)
- dom = self.applications.dom
+ dom = self.dom
menu_xml = self.getXmlMenu(self.getPath(parent), dom.documentElement, dom)
self.addXmlLayout(menu_xml, layout, dom)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]