1 Index: Alacarte/MainWindow.py 2 =================================================================== 3 RCS file: /cvs/gnome/alacarte/Alacarte/MainWindow.py,v 4 retrieving revision 1.20 5 diff -u -p -r1.20 MainWindow.py 6 --- Alacarte/MainWindow.py 5 Aug 2006 04:26:45 -0000 1.20 7 +++ Alacarte/MainWindow.py 15 Aug 2006 11:42:56 -0000 8 @@ -42,7 +42,7 @@ 9 def __init__(self, datadir, version, argv): 10 self.file_path = datadir 11 self.version = version 12 - self.editor = MenuEditor() 13 + self.editor = MenuEditor(self) 14 self.gnome_program = gnome.init('alacarte', version) 15 gtk.window_set_default_icon_name('alacarte') 16 self.tree = gtk.glade.XML(os.path.join(self.file_path, 'alacarte.glade')) 17 Index: Alacarte/MenuEditor.py 18 =================================================================== 19 RCS file: /cvs/gnome/alacarte/Alacarte/MenuEditor.py,v 20 retrieving revision 1.14 21 diff -u -p -r1.14 MenuEditor.py 22 --- Alacarte/MenuEditor.py 9 Jul 2006 19:53:04 -0000 1.14 23 +++ Alacarte/MenuEditor.py 15 Aug 2006 11:42:56 -0000 24 @@ -30,10 +30,22 @@ class MenuEditor: 25 #lists for undo/redo functionality 26 __undo = [] 27 __redo = [] 28 + __mainWindow = None 29 + __menuTreeReload = True 30 31 - def __init__(self): 32 + def __init__(self, mainWindow): 33 self.locale = locale.getdefaultlocale()[0] 34 + self.__mainWindow = mainWindow 35 self.__loadMenus() 36 + #init the flag to true 37 + os.system("gconftool-2 --type bool --set " \ 38 + + "/apps/panel/general/menu_tree_reload true") 39 + 40 + def __forceReload(self): 41 + self.applications.tree.force_reload() 42 + self.applications.visible_tree.force_reload() 43 + self.settings.tree.force_reload() 44 + self.settings.visible_tree.force_reload() 45 46 def __loadMenus(self): 47 self.applications = Menu() 48 @@ -64,6 +76,18 @@ class MenuEditor: 49 fd.close() 50 if not from_loading: 51 self.__loadMenus() 52 + # force the menu trees to reload 53 + self.__forceReload() 54 + self.__mainWindow.loadUpdates() 55 + # toggle the gconf key to let gnome panel reload 56 + if self.__menuTreeReload: 57 + os.system("gconftool-2 --type bool --set " \ 58 + + "/apps/panel/general/menu_tree_reload false") 59 + else: 60 + os.system("gconftool-2 --type bool --set " \ 61 + + "/apps/panel/general/menu_tree_reload true") 62 + self.__menuTreeReload = not self.__menuTreeReload 63 + 64 65 def quit(self): 66 for file_name in os.listdir(util.getUserItemPath()): 67