def updateTree(self):
for grupo in dict(groups):
if len(groups[grupo])==0:
del groups[grupo]
if conf.COLLAPSED_FOLDERS == None:
conf.COLLAPSED_FOLDERS = ','.join(self.get_collapsed_nodes())
self.menuServers.foreach(self.menuServers.remove)
self.treeModel.clear()
iconHost = self.treeServers.render_icon("gtk-network", size=gtk.ICON_SIZE_BUTTON, detail=None)
iconDir = self.treeServers.render_icon("gtk-directory", size=gtk.ICON_SIZE_BUTTON, detail=None)
grupos = groups.keys()
grupos.sort(lambda x,y: cmp(y,x))
for grupo in grupos:
group = None
path = ""
menuNode = self.menuServers
for folder in grupo.split("/"):
path = path + '/' + folder
row = self.get_folder(self.treeModel, '', path)
if row == None:
group = self.treeModel.prepend(group, [folder, None, iconDir])
else:
group = row.iter
menu = self.get_folder_menu(self.menuServers, '', path)
if menu == None:
menu = gtk.ImageMenuItem(folder)
#menu.set_image(gtk.image_new_from_stock(gtk.STOCK_DIRECTORY, gtk.ICON_SIZE_MENU))
menuNode.prepend(menu)
menuNode = gtk.Menu()
menu.set_submenu(menuNode)
menu.show()
else:
menuNode = menu
groups[grupo].sort(key=operator.attrgetter('name'))
for host in groups[grupo]:
self.treeModel.append(group, [host.name, host, iconHost])
mnuItem = gtk.ImageMenuItem(host.name)
mnuItem.set_image(gtk.image_new_from_stock(gtk.STOCK_NETWORK, gtk.ICON_SIZE_MENU))
mnuItem.show()
mnuItem.connect("activate", lambda arg, nb, h: self.addTab(nb, h), self.nbConsole, host)
menuNode.append(mnuItem)
self.set_collapsed_nodes()
conf.COLLAPSED_FOLDERS = None
gnome_connection_manager.py 文件源码
python
阅读 17
收藏 0
点赞 0
评论 0
评论列表
文章目录