home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.4)
-
- import os.path as os
- import gtk
- import gtk.glade as gtk
- import gmenu
- from config import *
- import menutreemodel
- import menufilewriter
-
- class MenuEditorDialog:
-
- def __init__(self, menu_files):
- glade_file = os.path.join(GLADEDIR, 'gmenu-simple-editor.glade')
- self.xml = gtk.glade.XML(glade_file, 'menu_editor_dialog', PACKAGE)
- self.window = self.xml.get_widget('menu_editor_dialog')
- self.window.connect('destroy', gtk.main_quit)
- self.window.set_default_response(gtk.RESPONSE_ACCEPT)
- self.window.set_icon_name('gnome-main-menu')
- self.help_button = self.xml.get_widget('help_button')
- self.help_button.set_sensitive(False)
- self.menus_tree = self.xml.get_widget('menus_treeview')
- self.entries_list = self.xml.get_widget('applications_treeview')
- self.menu_tree_model = menutreemodel.MenuTreeModel(menu_files)
- self.menu_file_writer = menufilewriter.MenuFileWriter(self.menu_tree_model)
- self.current_iter = None
- self.current_path = None
- self._MenuEditorDialog__setup_menus_tree()
- self._MenuEditorDialog__setup_entries_list()
- self.window.connect('response', self._MenuEditorDialog__dialog_response)
- self.window.set_default_size(580, 435)
- self.window.show()
-
-
- def __revert_to_system_default(self, parent_iter = None):
- model = self.menu_tree_model
- iter = model.iter_children(parent_iter)
- while iter:
- if model[iter][model.COLUMN_IS_ENTRY]:
- model[iter][model.COLUMN_USER_VISIBLE] = model[iter][model.COLUMN_SYSTEM_VISIBLE]
- else:
- self._MenuEditorDialog__revert_to_system_default(iter)
- iter = model.iter_next(iter)
-
-
- def __dialog_response(self, dialog, response_id):
- if response_id == gtk.RESPONSE_REJECT:
- self._MenuEditorDialog__revert_to_system_default()
- iter = self.menu_tree_model.get_iter_first()
- while iter:
- self.menu_file_writer.queue_sync(iter)
- iter = self.menu_tree_model.iter_next(iter)
- return None
-
- dialog.destroy()
-
-
- def __is_menu_tree_directory(self, model, iter):
- return not model[iter][self.menu_tree_model.COLUMN_IS_ENTRY]
-
-
- def __setup_menus_tree(self):
- self.menus_model = self.menu_tree_model.filter_new()
- self.menus_model.set_visible_func(self._MenuEditorDialog__is_menu_tree_directory)
- self.menus_tree.set_model(self.menus_model)
- self.menus_tree.get_selection().set_mode(gtk.SELECTION_SINGLE)
- self.menus_tree.get_selection().connect('changed', self._MenuEditorDialog__menus_selection_changed)
- self.menus_tree.set_headers_visible(False)
- column = gtk.TreeViewColumn(_('Name'))
- column.set_spacing(6)
- cell = gtk.CellRendererPixbuf()
- column.pack_start(cell, False)
- column.set_attributes(cell, pixbuf = self.menu_tree_model.COLUMN_ICON)
- cell = gtk.CellRendererText()
- column.pack_start(cell, True)
- column.set_attributes(cell, text = self.menu_tree_model.COLUMN_NAME)
- self.menus_tree.append_column(column)
- self.menus_tree.expand_all()
-
-
- def __setup_entries_list(self):
- self.entries_list.get_selection().set_mode(gtk.SELECTION_SINGLE)
- self.entries_list.set_headers_visible(True)
- column = gtk.TreeViewColumn(_('Show'))
- self.entries_list.append_column(column)
- cell = gtk.CellRendererToggle()
- cell.connect('toggled', self._MenuEditorDialog__on_hide_toggled)
- column.pack_start(cell, False)
- column.set_attributes(cell, active = self.menu_tree_model.COLUMN_USER_VISIBLE)
- column = gtk.TreeViewColumn(_('Name'))
- column.set_spacing(6)
- self.entries_list.append_column(column)
- cell = gtk.CellRendererPixbuf()
- column.pack_start(cell, False)
- column.set_attributes(cell, pixbuf = self.menu_tree_model.COLUMN_ICON)
- cell = gtk.CellRendererText()
- column.pack_start(cell, True)
- column.set_attributes(cell, text = self.menu_tree_model.COLUMN_NAME)
-
-
- def __on_hide_toggled(self, toggle, path):
-
- def toggle_value(model, iter, column):
- model[iter][column] = not model[iter][column]
-
- child_path = self.entries_model.convert_path_to_child_path(path)
- child_iter = self.menu_tree_model.get_iter(child_path)
- toggle_value(self.menu_tree_model, child_iter, self.menu_tree_model.COLUMN_USER_VISIBLE)
- self.menu_file_writer.queue_sync(child_iter)
-
-
- def __menus_selection_changed(self, selection):
- (model, iter) = selection.get_selected()
- if iter:
- iter = model.convert_iter_to_child_iter(iter)
-
- self.entries_model = self.menu_tree_model.filter_new(self.menu_tree_model.get_path(iter))
- self.entries_model.set_visible_column(self.menu_tree_model.COLUMN_IS_ENTRY)
- self.entries_list.set_model(self.entries_model)
-
-
-