def __init__(self, queue):
self.queue = queue
self.scroll = sftp_utilities.get_object('SFTPClient.notebook.page_stfp.scrolledwindow_transfer_statuses')
self.treeview_transfer = sftp_utilities.get_object('SFTPClient.notebook.page_stfp.treeview_transfer_statuses')
self._tv_lock = threading.RLock()
col_text = Gtk.CellRendererText()
col_img = Gtk.CellRendererPixbuf()
col = Gtk.TreeViewColumn('')
col.pack_start(col_img, False)
col.add_attribute(col_img, 'pixbuf', 0)
self.treeview_transfer.append_column(col)
self.treeview_transfer.append_column(sftp_utilities.get_treeview_column('Local File', col_text, 1, m_col_sort=1, resizable=True))
self.treeview_transfer.append_column(sftp_utilities.get_treeview_column('Remote File', col_text, 2, m_col_sort=2, resizable=True))
self.treeview_transfer.append_column(sftp_utilities.get_treeview_column('Status', col_text, 3, m_col_sort=3, resizable=True))
col_bar = Gtk.TreeViewColumn('Progress')
progress = Gtk.CellRendererProgress()
col_bar.pack_start(progress, True)
col_bar.add_attribute(progress, 'value', 4)
col_bar.set_property('resizable', True)
col_bar.set_min_width(125)
self.treeview_transfer.append_column(col_bar)
self.treeview_transfer.append_column(sftp_utilities.get_treeview_column('Size', col_text, 5, m_col_sort=3, resizable=True))
self._tv_model = Gtk.TreeStore(GdkPixbuf.Pixbuf, str, str, str, int, str, object)
self.treeview_transfer.connect('size-allocate', self.signal_tv_size_allocate)
self.treeview_transfer.connect('button_press_event', self.signal_tv_button_pressed)
self.treeview_transfer.set_model(self._tv_model)
self.treeview_transfer.show_all()
self.popup_menu = Gtk.Menu.new()
self.menu_item_paused = Gtk.CheckMenuItem.new_with_label('Paused')
menu_item = self.menu_item_paused
menu_item.connect('toggled', self.signal_menu_toggled_paused)
self.popup_menu.append(menu_item)
self.menu_item_cancel = Gtk.MenuItem.new_with_label('Cancel')
menu_item = self.menu_item_cancel
menu_item.connect('activate', self.signal_menu_activate_cancel)
self.popup_menu.append(menu_item)
menu_item = Gtk.SeparatorMenuItem()
self.popup_menu.append(menu_item)
menu_item = Gtk.MenuItem.new_with_label('Clear')
menu_item.connect('activate', self.signal_menu_activate_clear)
self.popup_menu.append(menu_item)
self.popup_menu.show_all()
python类SeparatorMenuItem()的实例源码
def menuPopup( self, widget, event ):
if event.button == 3:
mTree = Gtk.Menu()
#i18n
desktopMenuItem = Gtk.MenuItem(label=_("Add to desktop"))
panelMenuItem = Gtk.MenuItem(label=_("Add to panel"))
separator1 = Gtk.SeparatorMenuItem()
favoriteMenuItem = Gtk.CheckMenuItem(label=_("Show in my favorites"))
launchMenuItem = Gtk.MenuItem(label=_("Launch"))
deleteMenuItem = Gtk.MenuItem(label=_("Delete from menu"))
separator2 = Gtk.SeparatorMenuItem()
propsMenuItem = Gtk.MenuItem(label=_("Edit properties"))
mTree.append(desktopMenuItem)
mTree.append(panelMenuItem)
mTree.append(separator1)
mTree.append(favoriteMenuItem)
mTree.append(launchMenuItem)
if os.environ["HOME"] in widget.desktopFile:
mTree.append(deleteMenuItem)
deleteMenuItem.connect("activate", self.delete_from_menu, widget)
mTree.append(separator2)
mTree.append(propsMenuItem)
mTree.show_all()
desktopMenuItem.connect("activate", self.add_to_desktop, widget)
panelMenuItem.connect("activate", self.add_to_panel, widget)
launchMenuItem.connect( "activate", self.onLaunchApp, widget )
propsMenuItem.connect( "activate", self.onPropsApp, widget)
if self.isLocationInFavorites( widget.desktopFile ):
favoriteMenuItem.set_active( True )
favoriteMenuItem.connect( "toggled", self.onRemoveFromFavorites, widget )
else:
favoriteMenuItem.set_active( False )
favoriteMenuItem.connect( "toggled", self.onAddToFavorites, widget )
self.mateMenuWin.stopHiding()
mTree.attach_to_widget(widget, None)
if (Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION) >= (3, 22):
mTree.popup_at_pointer(event)
else:
mTree.popup(None, None, None, None, event.button, event.time)
def searchPopup( self, widget=None, event=None ):
menu = Gtk.Menu()
menuItem = Gtk.ImageMenuItem(label=_("Search DuckDuckGo"))
img = Gtk.Image()
img.set_from_file("/usr/share/mate-menu/icons/search_engines/ddg.png")
menuItem.set_image(img)
menuItem.connect("activate", self.search_ddg)
menu.append(menuItem)
menuItem = Gtk.ImageMenuItem(label=_("Search Google"))
img = Gtk.Image()
img.set_from_file("/usr/share/mate-menu/icons/search_engines/google.png")
menuItem.set_image(img)
menuItem.connect("activate", self.search_google)
menu.append(menuItem)
menuItem = Gtk.ImageMenuItem(label=_("Search Wikipedia"))
img = Gtk.Image()
img.set_from_file("/usr/share/mate-menu/icons/search_engines/wikipedia.png")
menuItem.set_image(img)
menuItem.connect("activate", self.search_wikipedia)
menu.append(menuItem)
menuItem = Gtk.SeparatorMenuItem()
menu.append(menuItem)
menuItem = Gtk.ImageMenuItem(label=_("Lookup Dictionary"))
img = Gtk.Image()
img.set_from_file('/usr/share/mate-menu/icons/dictionary.png')
menuItem.set_image(img)
menuItem.connect("activate", self.search_dictionary)
menu.append(menuItem)
menuItem = Gtk.ImageMenuItem(label=_("Search Computer"))
img = Gtk.Image()
img.set_from_icon_name("edit-find", Gtk.IconSize.INVALID)
img.set_pixel_size( self.iconSize )
menuItem.set_image(img)
menuItem.connect("activate", self.Search)
menu.append(menuItem)
menu.show_all()
self.mateMenuWin.stopHiding()
menu.attach_to_widget(self.searchButton, None)
if (Gtk.MAJOR_VERSION, Gtk.MINOR_VERSION) >= (3, 22):
menu.popup_at_widget(widget, Gdk.Gravity.SOUTH_WEST, Gdk.Gravity.NORTH_WEST, event)
else:
menu.popup(None, None, None, None, event.button, event.time)
#menu.reposition()
#menu.reposition()
#self.mateMenuWin.grab()
self.focusSearchEntry(clear = False)
return True