def __init__(self, parent, data, expert_pwd, executionMode=False): qt.QMenuBar.__init__(self, parent.centralWidget) parent.centralWidget.layout().addWidget(self) self.setSizePolicy(qt.QSizePolicy.MinimumExpanding, qt.QSizePolicy.Fixed) self.data = data self.expertPwd = expert_pwd # the emitter is the top parent (the window itself, not the centralWidget) self.topParent = parent self.executionMode = executionMode self.file = qt.QPopupMenu(self) self.file.insertItem("Quit", self.quit) self.help = qt.QPopupMenu(self) self.help.insertItem("What's this ?", self.whatsthis) self.insertItem("File", self.file) self.insertItem("Help", self.help) self.insertSeparator() self.expertMode = qt.QCheckBox("Expert mode", self) self.expertModeStdColor = None qt.QObject.connect(self.expertMode, qt.SIGNAL('clicked()'), self.expertModeClicked) self.insertItem(self.expertMode)
def __init__(self,parent,name,uifile = 'LookupScan.ui',cmd_name = 'ltscan',**kwargs) : BaseGraphicScan.__init__(self, parent, name, uifile=uifile, cmd_name=cmd_name, **kwargs) self._graphicSelection = None self.__polyNb = 0 self.__gridPoints = None self._matchPoints = None self.__offsetMeasure = 1e3 self._ltinit = None self.addProperty('offsetmeasure','float',1e3) table = self._widgetTree.child('__gridTable') qt.QObject.connect(table,qt.SIGNAL('valueChanged(int,int)'),self._valueChangedScanParam) timeWidget = self._widgetTree.child('__time') timeWidget.setValidator(qt.QDoubleValidator(timeWidget)) # PopUp Menu self.__polygonListWidget = self._widgetTree.child('__polygonList') self.__polygonListWidget.setSelectionMode(qt.QListView.Extended) self.__polygonPopUpMenu = qt.QPopupMenu(self.__polygonListWidget) for itemName,cbk in [('Create new',self.__createPolygon), ('Remove',self.__removeSelectedPolygon), ('Revert selection',self.__revertSelectedPolygon)] : self.__polygonPopUpMenu.insertItem(itemName,cbk) self.connect(self.__polygonListWidget,qt.SIGNAL('rightButtonPressed(QListViewItem*,const QPoint &,int)'), self.__polygonPopUpDisplay) timeWidget = self._widgetTree.child('__time') self.connect(timeWidget,qt.SIGNAL('returnPressed()'),self.__refreshInfoText) self.connect(timeWidget,qt.SIGNAL('lostFocus()'),self.__refreshInfoText)
def show_context_menu(self, item, point, col): menu = qt.QPopupMenu(self.sample_list_view, "popup_menu") if item: if isinstance(item, queue_item.DataCollectionGroupQueueItem): menu.insertItem(qt.QString("Rename"), self.rename_list_view_item) menu.insertSeparator(1) menu.insertItem(qt.QString("Remove"), self.delete_click) menu.popup(point) elif isinstance(item, queue_item.SampleQueueItem): if not item.get_model().free_pin_mode: if self.beamline_setup_hwobj.diffractometer_hwobj.in_plate_mode( ): self.plate_sample_to_mount = item menu.insertItem(qt.QString("Move"), self.mount_sample) else: if self.is_mounted_sample_item(item): menu.insertItem(qt.QString("Unmount"), self.unmount_sample) else: menu.insertItem(qt.QString("Mount"), self.mount_sample) menu.insertSeparator(3) menu.insertItem(qt.QString("Details"), self.show_details) menu.popup(point) else: menu.popup(point) menu.insertSeparator(2) menu.insertItem(qt.QString("Remove"), self.delete_click) menu.insertSeparator(4) menu.insertItem(qt.QString("Details"), self.show_details)
def __init__(self, parent): qt.QListView.__init__(self, parent) self.setRootIsDecorated(1) self.setSorting(-1) self.addColumn(kdecore.i18n('Name')) self.addColumn(kdecore.i18n('Value')) self.setColumnAlignment(1, qt.Qt.AlignRight) self.setColumnWidth(0, 100) self.setAllColumnsShowFocus(True) self.actions = actions = kdeui.KActionCollection(self) self.viewItemAction = \ util.buildAction('view_item', 'View', 'viewmag', '', 'View this item', actions) self.viewSourceAction = \ util.buildAction('view_source', 'View Source', 'source_py', '', 'View item source code', actions) self.separateAction = kdeui.KActionSeparator() self.saveAction = \ util.buildAction('save_item', 'Save', 'filesave', '', 'Save item', actions) self.popMenu = pop = qt.QPopupMenu(self) self.viewItemAction.plug(pop) self.viewSourceAction.plug(pop) self.separateAction.plug(pop) self.saveAction.plug(pop) sigAct = util.sigActivated self.connect(self, util.sigListContext, self.contextMenu) self.connect(self.viewItemAction, sigAct, self.viewItem) self.connect(self.viewSourceAction, sigAct, self.viewItemNodeSource) self.connect(self.saveAction, sigAct, self.saveItemNode)
def _showContextMenu(self, item, pos, val): """Pop up a context menu when an item is right-clicked on the list view.""" popup = qt.QPopupMenu(self) selected_items = self._getSelectedItems() if not selected_items: popup.insertItem('No action available', 100) else: if len(selected_items) == 1: if item.is_active: popup.insertItem('No action available', 100) else: popup.insertItem('Open', lambda: self._openWorkspace(item)) popup.insertItem('Delete', lambda: self._deleteWorkspace(item)) # popup.insertItem('Properties', lambda: self._showWorkspaceProperties(item)) elif len(selected_items) > 1: popup.insertItem( 'Delete', lambda: self._deleteWorkspaces(selected_items)) else: api.devlog( "ERROR: right click on an valid item (%r) which has a null object" % item) ret = popup.exec_loop(pos) api.devlog("contextMenuEvent WorkspaceItem - item: %s - ret %s" % (self.name, ret))
def __init__(self, parent): qt.QTabBar.__init__(self,parent) self._actions = {} self._setupActions() self.connect(self, qt.PYSIGNAL('contextMenu'), self._showContextMenu ) self.contextPopupMenu = qt.QPopupMenu(self) self._setupContextPopupMenu()
def buildMenu(self, label): """ buildMenu(label) -> create and configure a popup menu on the menubar """ menu = qt.QPopupMenu(self) menu.insertTearOffHandle() self.menuBar().insertItem(i18n(label), menu) return menu
def _setupMenues(self): """ Configures all the main windows menues """ self._menues["file"] = qt.QPopupMenu(self) self.menuBar().insertItem('&File', self._menues["file"]) self._actions["exit-faraday"].addTo(self._menues["file"]) self.menuBar().insertSeparator() self._menues["shell"] = qt.QPopupMenu(self) self.menuBar().insertItem('&Shell', self._menues["shell"]) self._actions["new_shell"].addTo(self._menues["shell"]) self._actions["close_shell"].addTo(self._menues["shell"]) self._actions["maximize-shell"].addTo(self._menues["shell"]) self.menuBar().insertSeparator() self._menues["edit"] = qt.QPopupMenu(self) self.menuBar().insertItem('&Edit', self._menues["edit"]) self._menues["edit"].insertItem('&Copy', self._copy) self._menues["edit"].insertItem('&Paste', self._paste) self._actions["repo-config"].addTo(self._menues["edit"]) self.menuBar().insertSeparator() self._menues["workspace"] = qt.QPopupMenu(self) self.menuBar().insertItem('&Workspace', self._menues["workspace"]) # self._actions["open-workspace"].addTo(self._menues["workspace"]) self._actions["create-workspace"].addTo(self._menues["workspace"]) self.menuBar().insertSeparator() self._menues["tools"] = qt.QPopupMenu(self) self.menuBar().insertItem('&Tools', self._menues["tools"]) self._actions["visualization"].addTo(self._menues["tools"]) self._actions["plugin"].addTo(self._menues["tools"]) self._actions["screenshot"].addTo(self._menues["tools"]) self.menuBar().insertSeparator() self._menues["view"] = qt.QPopupMenu(self) self.menuBar().insertItem('&View', self._menues["view"]) self._actions["toggle-hosttree"].addTo(self._menues["view"]) self._actions["toggle-logconsole"].addTo(self._menues["view"]) self._actions["maximize-shell"].addTo(self._menues["view"]) self.menuBar().insertSeparator() self._menues["help"] = qt.QPopupMenu(self) self.menuBar().insertItem('&Help', self._menues["help"]) self._menues["help"].insertItem('&About', self._showAboutDialog) self._actions["documentation"].addTo(self._menues["help"])
def onListPopupMenu(self, item, point, col): component = self._getSelectedComponent() ready = (self.device.getState() == SampleChanger.SampleChangerState.Ready) if col==0 and (component is not None): menu = qt.QPopupMenu(self.list,"Popup Menu") font = menu.font() font.setPointSize(11) menu.setFont(font) if component == self.device: menu.setItemEnabled(menu.insertItem( "Set ID", self.onMenuSetID),component.isTransient()) menu.setItemEnabled(menu.insertItem( "Scan", self.onMenuScan),component.isScannable()) menu.popup(point)
def __init__(self, master, code, *args, **kw): for i in kw.keys(): setattr(self, i, kw[i]) self.master = master self.menu = qt.QPopupMenu(master.win) self.istack = [] self.mstack = [self.menu] self.cnt = 0 self.codes = {} self.implant('code', code) self.vexec(self.code) del self.mstack self.menu.exec_loop(qt.QCursor.pos())
def __init__(self, parent=None, name="CTB"): """ """ qt.QToolButton.__init__(self, parent, name) self.setAutoRaise(True) self.simpleColor = [qt.Qt.black, qt.Qt.white, qt.Qt.red, qt.Qt.green, qt.Qt.blue, qt.Qt.yellow] self.selectedColor = qt.QColor(qt.Qt.black) self.setIconColor(self.selectedColor) self.popupMenu = qt.QPopupMenu(self) self.setPopup(self.popupMenu) self.setPopupDelay(0) colorBar = qt.QHButtonGroup(self.popupMenu) colorBar.setFlat(True) colorBar.setInsideMargin(5) colorButton = [] for color in self.simpleColor: w = qt.QPushButton(colorBar) w.setPaletteBackgroundColor(color) w.setFixedSize(15, 15) colorBar.insert(w) colorButton.append(w) self.connect(colorBar, qt.SIGNAL("clicked(int )"), self.selectSimpleColor) otherBar = qt.QHButtonGroup(self.popupMenu) otherBar.setFlat(True) otherBar.setInsideMargin(5) moreButton = qt.QToolButton(otherBar) moreButton.setTextLabel("More color ...") moreButton.setUsesTextLabel(True) moreButton.setAutoRaise(True) self.connect(moreButton, qt.SIGNAL("clicked()"), self.selectColor) self.popupMenu.insertItem(colorBar) self.popupMenu.insertItem(otherBar)
def insertmenu(menubar, menu): item = menu[0] action = self._actions[item] m = qt.QPopupMenu(menubar) text = action.menuText() menubar.insertItem(text, m) for item in menu[1]: if isinstance(item, tuple): insertmenu(m, item) elif item: action = self._actions[item] #i = qt.QPopupMenu(m) #text = action.menuText() #m.insertItem(text, i) action.addTo(m) else: m.insertSeparator()
def itemRightClicked(self, item): #print 'right clicked on', item.text(0) item_name = str(item.text(0)) item_cfg = self.configuration.findItem(item_name) if self.configuration.isBrick(item_cfg): popup_menu = qt.QPopupMenu() def _itemRightClicked(id, item_name=item_name): item_cfg=self.configuration.reload_brick(item_name) item = self.treeLayout.findItem(item_name, 0) #print 'emitting newItem' self.emit(qt.PYSIGNAL("newItem"), (item_cfg["brick"].propertyBag, item_cfg["brick"]._propertyChanged)) #print 'itemSelected' self.itemSelected(item) qt.QObject.connect(popup_menu, qt.SIGNAL("activated(int)"), _itemRightClicked) popup_menu.insertItem("reload brick", 0) popup_menu.exec_loop(qt.QCursor.pos())
def __init__(self, *args, **kwargs): qt.QMainWindow.__init__(self, *args) self.filename = None self.setCaption("GUI Builder") toolbar = qt.QToolBar(self) self.cmdNew = ToolButton(toolbar, "new", self.newClicked, "create a new GUI") self.cmdOpen = ToolButton(toolbar, "open", self.openClicked, "open an existing GUI file") self.cmdSave = ToolButton(toolbar, "save", self.saveClicked, "save current GUI") HorizontalSpacer(toolbar, size=20) self.cmdLaunchGUI = ToolButton(toolbar, "launch", self.launchGUIClicked, "launch GUI (as a separate process)") HorizontalSpacer(toolbar, size=20) self.cmdViewPropertyEditor = ToolButton(toolbar, "Draw", self.showProperties, "show properties window") self.cmdViewGuiPreview = ToolButton(toolbar, "window_preview", self.showGuiPreview, "show GUI preview") self.cmdViewLog = ToolButton(toolbar, "Inform", self.showLog, "show log messages window") self.cmdViewHWR = ToolButton(toolbar, "view_tree", self.showHWR, "show Hardware Repository") HorizontalSpacer(toolbar) vbox = qt.QVBox(self) self.setCentralWidget(vbox) #vsplitter) hbox = qt.QSplitter(qt.Qt.Horizontal, vbox) self.statusbar = self.statusBar() self.guiEditorWindow = GUIEditorWindow(hbox) self.toolboxWindow = ToolboxWindow(hbox) self.logWindow = LogViewBrick.LogViewBrick(None) self.logWindow.setCaption("Log window") sw = qt.QApplication.desktop().screen().width() sh = qt.QApplication.desktop().screen().height() self.logWindow.resize(qt.QSize(sw*0.8, sh*0.2)) self.propertyEditorWindow = PropertyEditorWindow(None) self.guiPreviewWindow = GUIPreviewWindow(None) self.hwrWindow = HWRWindow(None) self.configuration = self.guiEditorWindow.configuration # # build File menu # fileMenu = qt.QPopupMenu(self) fileMenu.insertItem('New', self.newClicked) fileMenu.insertSeparator() fileMenu.insertItem('Open', self.openClicked) fileMenu.insertSeparator() fileMenu.insertItem('Save', self.saveClicked) fileMenu.insertItem('Save as', self.saveAsClicked) fileMenu.insertSeparator() fileMenu.insertItem('Quit', self.quitClicked) viewMenu = qt.QPopupMenu(self) viewMenu.insertItem('Property Editor', self.showProperties) viewMenu.insertItem('GUI Preview', self.showGuiPreview) viewMenu.insertItem('Log window', self.showLog) # # build menu bar # mainMenu = self.menuBar() mainMenu.insertItem('File', fileMenu) mainMenu.insertItem('View', viewMenu) # # connections # qt.QObject.connect(self.toolboxWindow, qt.PYSIGNAL("addBrick"), self.guiEditorWindow.addBrick) qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("editProperties"), self.propertyEditorWindow.editProperties) qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("newItem"), self.propertyEditorWindow.addProperties) qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("updatePreview"), self.guiPreviewWindow.drawWindow) qt.QObject.connect(self.guiPreviewWindow, qt.PYSIGNAL("previewItemClicked"), self.guiEditorWindow.selectItem) qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("showProperties"), self.showProperties) qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("hideProperties"), self.hideProperties) qt.QObject.connect(self.guiEditorWindow, qt.PYSIGNAL("showPreview"), self.showGuiPreview) # # finish GUI # self.toolboxWindow.refresh() self.guiPreviewWindow.show()
def __init__(self, parent, name, **keys): BlissWidget.__init__(self, parent, name) self.__hMotor = None self.__vMotor = None self.__motor_pos_save = [] self.__master_motor = None self.__masterPosition2Item = weakref.WeakValueDictionary() self.__currentCalib = None self.__currentBeamPos = None self.__camDecompNPlug = None self.mosaicView = None self.drawing = None self.__saveImageTreeDirName = '.' self.__imageMosaicPosition = None ####### Property ####### self.addProperty('horizontal', 'string', '') self.addProperty('vertical', 'string', '') self.addProperty('save_motors', 'string', '') self.addProperty('master_motor', 'string', '') self.addProperty('focus_motor', 'string', '') self.addProperty('live_camera', 'string', '') self.addProperty("formatString", "formatString", "###.##") ####### SIGNAL ####### self.defineSignal("getImage", ()) self.defineSignal('getView', ()) self.defineSignal('getMosaicView', ()) ####### SLOT ####### self.defineSlot("ChangePixelCalibration", ()) self.defineSlot("ChangeBeamPosition", ()) self.defineSlot('setMosaicImageSelected', ()) self.__widgetTree = self.loadUIFile('CameraOffLineImageManager.ui') self.__frame = self.__widgetTree.child('__frame') self.__frame.reparent(self, qt.QPoint(0, 0)) layout = qt.QHBoxLayout(self) layout.addWidget(self.__frame) snapButton = self.child('__snapShoot') iconSet = qt.QIconSet(loadIcon("snapshot.png")) snapButton.setIconSet(iconSet) qt.QObject.connect(snapButton, qt.SIGNAL('clicked()'), self.__snapCBK) liveCheckBox = self.child('__liveCheckBox') liveCheckBox.hide() qt.QObject.connect(liveCheckBox, qt.SIGNAL('toggled(bool)'), self.__liveOnOff) self.__imageList = self.child('__imageList') self.__imageList.setSelectionMode(qt.QListView.Extended) self.__imageList.setSortColumn(-1) self.__popUpMenu = qt.QPopupMenu(self) self.__popUpMenu.insertItem('layer up', self.__layerUp) self.__popUpMenu.insertItem('layer down', self.__layerDown) self.__popUpMenu.insertItem('remove', self.__removeImage) self.__popUpMenu.insertSeparator() self.__popUpMenu.insertItem('load', self.__loadImageTree) self.__popUpMenu.insertItem('save', self.__saveImageTree) qt.QObject.connect( self.__imageList, qt.SIGNAL('rightButtonPressed(QListViewItem*,const QPoint &,int)'), self.__popUpDisplay)
def sub(self, name): self.mstack.append(qt.QPopupMenu(self.master.win)) self.istack.append(name)
def setupMenu(self): self.menu = qt.QPopupMenu(self) self.menu.insertItem('Copy', self.copy) self.menu.insertItem('Paste', self.paste) self.menu.insertSeparator() self.menu.insertItem('Clear', self.clear)
def _setupContextPopups(self): """ Configures a context popup menu for each kind of item shown in the tree. This is done because different options may be needed for each item """ popup = qt.QPopupMenu(self) popup.insertSeparator() popup.insertItem('Resolve Conflicts', 303) popup.insertItem('Save Vulns CSV', 402) popup.insertItem('Import Vulns CSV', 403) popup.insertSeparator() popup.insertItem('Add Host', 800) self.contextpopups["Workspace"] = popup self.contextpopups["Category_General"] = self.contextpopups["Workspace"] popup = qt.QPopupMenu(self) self.contextpopups["Category_Applications"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Add Interfaces', 600) self.contextpopups["Category_Interfaces"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Delete Host', 802) popup.insertSeparator() popup.insertItem('Add Interface', 600) popup.insertSeparator() popup.insertItem('New Vulnerability',400) popup.insertItem('List Vulnerabilities',401) popup.insertSeparator() popup.insertItem('New note', 500) popup.insertItem('Show notes', 501) popup.insertSeparator() popup.insertItem('New Credential', 550) popup.insertItem('Show Credentials', 551) popup.insertItem('Import Creds', 561) self.contextpopups["Host"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Delete Interface', 602) popup.insertSeparator() popup.insertItem('Add Service', 200) popup.insertSeparator() popup.insertItem('New Vulnerability',400) popup.insertItem('List Vulnerabilities',401) popup.insertSeparator() popup.insertItem('New note', 500) popup.insertItem('Show notes', 501) self.contextpopups["Interface"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Delete Service', 202) popup.insertSeparator() popup.insertItem('New Vulnerability',400) popup.insertItem('List Vulnerabilities',401) popup.insertSeparator() popup.insertItem('New note', 500) popup.insertItem('Show notes', 501) popup.insertSeparator() popup.insertItem('New Credential', 550) popup.insertItem('Show Credentials', 551) popup.insertItem('Import Creds', 561) self.contextpopups["Service"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Delete Items', 202) popup.insertSeparator() popup.insertItem('New Vulnerability Items',400) popup.insertSeparator() popup.insertItem('New note Items', 500) popup.insertSeparator() popup.insertItem('New Credential', 550) popup.insertItem('Import Creds', 561) self.contextpopups["Service_Host"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Add Service', 200) popup.insertSeparator() popup.insertItem('Delete Items', 202) popup.insertSeparator() popup.insertItem('New Vulnerability Items',400) popup.insertSeparator() popup.insertItem('New note Items', 500) popup.insertSeparator() popup.insertItem('New Credential', 550) popup.insertItem('Import Creds', 561) self.contextpopups["ServiceHost_Interface"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Properties', 302) popup.insertSeparator() popup.insertItem('Add Host', 800) popup.insertSeparator() popup.insertItem('Add Service', 200) popup.insertSeparator() popup.insertItem('Delete Items', 202) popup.insertSeparator() popup.insertItem('New Vulnerability Items',400) popup.insertSeparator() popup.insertItem('New note Items', 500) popup.insertSeparator() popup.insertItem('Add Service', 200) popup.insertSeparator() popup.insertItem('New Credential', 550) popup.insertItem('Import Creds', 561) self.contextpopups["CategoryWorkspace_Interface"] = popup popup = qt.QPopupMenu(self) popup.insertItem('Properties', 302) popup.insertSeparator() popup.insertItem('Add Host', 800) popup.insertSeparator() popup.insertItem('Delete Items', 202) popup.insertSeparator() popup.insertItem('New Vulnerability Items',400) popup.insertSeparator() popup.insertItem('New note Items', 500) popup.insertSeparator() popup.insertItem('New Credential', 550) popup.insertItem('Import Creds', 561) self.contextpopups["CategoryWorkspace_ServiceHost"] = popup
def packagePopup(self, packageview, pkgs, pnt): menu = qt.QPopupMenu(packageview) menu.move(pnt) hasinstalled = bool([pkg for pkg in pkgs if pkg.installed and self._changeset.get(pkg) is not REMOVE]) hasnoninstalled = bool([pkg for pkg in pkgs if not pkg.installed and self._changeset.get(pkg) is not INSTALL]) class PackagesAction(object): def __init__(self, pkgs): self._pkgs = pkgs self._callback = {} self._userdata = {} def connect(self, item, callback, userdata=None): self._callback[item] = callback self._userdata[item] = userdata def slot(self, index): self._callback[index](self._pkgs, self._userdata[index]) action = PackagesAction(pkgs) iconset = qt.QIconSet(getPixmap("package-install")) item = menu.insertItem(iconset, _("Install"), action.slot) action.connect(item, self.actOnPackages, INSTALL) if not hasnoninstalled: menu.setItemEnabled(item, False) iconset = qt.QIconSet(getPixmap("package-reinstall")) item = menu.insertItem(iconset, _("Reinstall"), action.slot) action.connect(item, self.actOnPackages, REINSTALL) if not hasinstalled: menu.setItemEnabled(item, False) iconset = qt.QIconSet(getPixmap("package-remove")) item = menu.insertItem(iconset, _("Remove"), action.slot) action.connect(item, self.actOnPackages, REMOVE) if not hasinstalled: menu.setItemEnabled(item, False) if not hasinstalled: iconset = qt.QIconSet(getPixmap("package-available")) else: iconset = qt.QIconSet(getPixmap("package-installed")) item = menu.insertItem(iconset, _("Keep"), action.slot) action.connect(item, self.actOnPackages, KEEP) if not [pkg for pkg in pkgs if pkg in self._changeset]: menu.setItemEnabled(item, False) iconset = qt.QIconSet(getPixmap("package-broken")) item = menu.insertItem(iconset, _("Fix problems"), action.slot) action.connect(item, self.actOnPackages, FIX) if not hasinstalled: menu.setItemEnabled(item, False) inconsistent = False thislocked = None alllocked = None names = pkgconf.getFlagTargets("lock") if [pkg for pkg in pkgs if pkg in self._changeset]: inconsistent = True else: for pkg in pkgs: if (names and pkg.name in names and ("=", pkg.version) in names[pkg.name]): newthislocked = True newalllocked = len(names[pkg.name]) > 1 else: newthislocked = False newalllocked = pkgconf.testFlag("lock", pkg) if (thislocked is not None and thislocked != newthislocked or alllocked is not None and alllocked != newalllocked): inconsistent = True break thislocked = newthislocked alllocked = newalllocked lockaction = PackagesAction(pkgs) if thislocked: if not hasnoninstalled: iconset = qt.QIconSet(getPixmap("package-installed")) else: iconset = qt.QIconSet(getPixmap("package-available")) item = menu.insertItem(iconset, _("Unlock this version"), lockaction.slot) lockaction.connect(item, self.lockPackages, False) else: if not hasnoninstalled: iconset = qt.QIconSet(getPixmap("package-installed-locked")) else: iconset = qt.QIconSet(getPixmap("package-available-locked")) item = menu.insertItem(iconset, _("Lock this version"), lockaction.slot) lockaction.connect(item, self.lockPackages, True) if inconsistent: menu.setItemEnabled(item, False) lockallaction = PackagesAction(pkgs) if alllocked: if not hasnoninstalled: iconset = qt.QIconSet(getPixmap("package-installed")) else: iconset = qt.QIconSet(getPixmap("package-available")) item = menu.insertItem(iconset, _("Unlock all versions"), lockallaction.slot) lockallaction.connect(item, self.lockAllPackages, False) else: if not hasnoninstalled: iconset = qt.QIconSet(getPixmap("package-installed-locked")) else: iconset = qt.QIconSet(getPixmap("package-available-locked")) item = menu.insertItem(iconset, _("Lock all versions"), lockallaction.slot) lockallaction.connect(item, self.lockAllPackages, True) if inconsistent: menu.setItemEnabled(item, False) priorityaction = PackagesAction(pkgs) item = menu.insertItem(_("Priority"), priorityaction.slot) priorityaction.connect(item, self.priorityPackages) if len(pkgs) != 1: menu.setItemEnabled(item, False) menu.show() menu.exec_loop(packageview.mapToGlobal(pnt))
def buildInterface(self): self.layout = qt.QHBoxLayout(self) self.titleLabel = QubLabel("<B>Title<B>", self) self.titleLabel.setAlignment(qt.Qt.AlignCenter) self.titleLabel.setSizePolicy( qt.QSizePolicy(qt.QSizePolicy.Expanding, qt.QSizePolicy.Fixed)) self.layout.addWidget(self.titleLabel) """ move and configure appearence """ self.radioGroup = QubRadioGroup(QubRadioGroup.Horizontal, self) self.radioGroup.hide() self.connect(self.radioGroup, qt.PYSIGNAL("PositionClicked"), self.positionClicked) self.layout.addWidget(self.radioGroup) self.setButton = qt.QPushButton("Set", self) self.setButton.hide() self.connect(self.setButton, qt.SIGNAL("clicked()"), self.setPosition) self.setButton.setEnabled(False) self.layout.addWidget(self.setButton) """ display appearence """ self.valueLabel = qt.QLabel("no value", self) self.valueLabel.hide() self.valueLabel.setAlignment(qt.Qt.AlignCenter) self.layout.addWidget(self.valueLabel) """ incremental appearence """ self.frame = qt.QFrame(self) self.frame.hide() self.frame.setFrameShape(qt.QFrame.NoFrame) self.frame.setFrameShadow(qt.QFrame.Plain) self.layout.addWidget(self.frame) vlayout = qt.QVBoxLayout(self.frame) vlayout.setMargin(10) self.valueWidget = QubValue(self.frame, titleType=QubValue.Label, valueType=QubValue.Label, orientation=QubValue.Horizontal) self.valueWidget.setTitle("Current Position") vlayout.addWidget(self.valueWidget) vlayout.addSpacing(5) hlayout = qt.QHBoxLayout(vlayout) self.positionList = qt.QListBox(self.frame) hlayout.addWidget(self.positionList) hlayout.addSpacing(5) vlayout1 = qt.QVBoxLayout(hlayout) self.gotoButton = qt.QPushButton("Go", self.frame) self.connect(self.gotoButton, qt.SIGNAL("clicked()"), self.gotoPosition) vlayout1.addWidget(self.gotoButton) vlayout1.addStretch(1) self.addButton = qt.QPushButton("Add", self.frame) self.connect(self.addButton, qt.SIGNAL("clicked()"), self.addPosition) vlayout1.addWidget(self.addButton) vlayout1.addSpacing(5) self.remButton = qt.QPushButton("Delete", self.frame) self.connect(self.remButton, qt.SIGNAL("clicked()"), self.remPosition) vlayout1.addWidget(self.remButton) """ popup config """ self.configWindow = MultiplePositionConfigurator(self) self.popupMenu = qt.QPopupMenu(self.titleLabel) self.popupMenu.insertItem("Configure", self.configWindow.show)