def get_std_icon(name, size=None): """Get standard platform icon Call 'show_std_icons()' for details""" if not name.startswith('SP_'): name = 'SP_' + name icon = QtGui.QWidget().style().standardIcon(getattr(QtGui.QStyle, name)) if size is None: return icon else: return QtGui.QIcon(icon.pixmap(size, size))
def setupCornerWidget(self): widget = QtGui.QWidget() layout = QtGui.QHBoxLayout() # Add self.pushAddNewTerminal = QtGui.QPushButton() self.pushAddNewTerminal.setIcon(resources.getIcon('utilities-terminal')) self.pushAddNewTerminal.setToolTip(_("Add new terminal")) self.pushAddNewTerminal.setFlat(True) menuAddNew = QtGui.QMenu() actionNew = menuAddNew.addAction("Terminal") actionNew.triggered.connect(self.addTerminal) actionCustom = menuAddNew.addAction("Run in terminal...") actionCustom.triggered.connect(self.launchCustomCommandInTerminal) self.pushAddNewTerminal.setMenu(menuAddNew) layout.addWidget(self.pushAddNewTerminal) # Copy shortcutCopy = QtGui.QShortcut(QtGui.QKeySequence("Ctrl+c"), self) shortcutCopy.activated.connect(lambda s = self: s.currentWidget().copyClipboard()) # Paste self.pushPasteIntoTerminal = QtGui.QPushButton() self.pushPasteIntoTerminal.setIcon(resources.getIcon('edit-paste')) self.pushPasteIntoTerminal.setObjectName('pushPasteIntoTerminal') self.pushPasteIntoTerminal.setToolTip('Paste text into terminal') self.pushPasteIntoTerminal.setFlat(True) self.pushPasteIntoTerminal.pressed.connect(lambda s=self: s.currentWidget().pasteClipboard()) layout.addWidget(self.pushPasteIntoTerminal) # Config self.pushConfigTerminal = QtGui.QPushButton("C") #self.pushConfigTerminal.setIcon(getIcon('preference')) # self.pushConfigTerminal.setObjectName('pushConfigTerminal') # self.pushConfigTerminal.setToolTip('Configure terminal') # self.pushConfigTerminal.setFlat(True) # layout.addWidget(self.pushConfigTerminal) self.cornerMenuButton = QtGui.QPushButton() self.cornerMenuButtonMenu = QtGui.QMenu() self.cornerMenuButton.setMenu(self.cornerMenuButtonMenu) self.cornerMenuButtonMenu.addAction("Alfa") self.cornerMenuButtonMenu.addAction("Beta") self.cornerMenuButtonMenu.addAction("Gama") layout.addWidget(self.cornerMenuButton) # Close self.pushCloseTerminal = QtGui.QPushButton() self.pushCloseTerminal.setIcon(resources.getIcon("close")) self.pushCloseTerminal.setObjectName("pushCloseTerminal") self.pushCloseTerminal.setToolTip(_("Close terminal")) self.pushCloseTerminal.setFlat(True) self.pushCloseTerminal.pressed.connect(lambda s=self: s.removeTab(s.currentIndex())) layout.addWidget(self.pushCloseTerminal) widget.setLayout(layout) # Save some space widget.setStyleSheet(''' QPushButton { margin: 0px; padding: 0 0px 0 2px; } ''') self.setCornerWidget(widget)