示例#1
0
 def setupWidgetStatus(self):
     tableView = QtGui.QTableView(self)
     tableView.setModel(self.application.supportManager.syntaxProxyModel)
     tableView.resizeColumnsToContents()
     tableView.resizeRowsToContents()
     tableView.verticalHeader().setVisible(False)
     tableView.horizontalHeader().setVisible(False)
     tableView.setShowGrid(False)
     tableView.setMinimumWidth(tableView.horizontalHeader().length() + 25)
     tableView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
     tableView.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
     tableView.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
     tableView.setAutoScroll(False)
     self.comboBoxSyntaxes.setModel(self.application.supportManager.syntaxProxyModel);
     self.comboBoxSyntaxes.setView(tableView)
     self.comboBoxSyntaxes.setModelColumn(0)
     
     #Connect tab size context menu
     self.labelTabSize.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
     self.labelTabSize.customContextMenuRequested.connect(self.showTabSizeContextMenu)
     
     #Create bundle menu
     self.menuBundle = QtGui.QMenu(self)
     self.application.supportManager.appendMenuToBundleMenuGroup(self.menuBundle)
     self.toolButtonMenuBundle.setMenu(self.menuBundle)
示例#2
0
def create_menu(parent,
                settings,
                useSeparatorName=False,
                connectActions=False):
    text = settings.get("text", "Menu")
    menu = QtGui.QMenu(text, parent)
    menu.setObjectName(text2objectname(text, prefix="menu"))

    # attrs
    if settings.has_key("icon"):
        icon = settings["icon"]
        if isinstance(icon, basestring):
            icon = resources.getIcon(icon)
        menu.setIcon(icon)

    # actions
    actions = extend_menu(menu, settings.get("items", []), useSeparatorName)
    if connectActions:
        for action in actions:
            if hasattr(action, 'callback'):
                if action.isCheckable():
                    parent.connect(action, QtCore.SIGNAL('triggered(bool)'),
                                   action.callback)
                else:
                    parent.connect(action, QtCore.SIGNAL('triggered()'),
                                   action.callback)
    return menu, actions
示例#3
0
 def showTableViewFilesContextMenu(self, point):
     index = self.tableViewFiles.indexAt(point)
     if index.isValid():
         # TODO Obtener el item y armar el menu
         menu = QtGui.QMenu(self)
         for action in self.actions:
             menu.addAction(action["name"])
         menu.popup(self.tableViewFiles.mapToGlobal(point))
示例#4
0
 def setup(self):
     logging.root.addHandler(self.handler)
     self.debug_levels_menu = QtGui.QMenu()
     self.debug_levels_action_group = QtGui.QActionGroup(self)
     for level, value in filter(lambda (key, value): type(key) == str,
                                logging._levelNames.iteritems()):
         action = QtGui.QAction(level.title(), self)
         action.setData({'name': level, 'level': value})
         action.setCheckable(True)
         self.debug_levels_action_group.addAction(action)
         self.debug_levels_menu.addAction(action)
示例#5
0
 def mousePressEvent(self, event):
     from QTermWidget import QTermWidget
     if event.button() == QtCore.Qt.RightButton:
         menu = QtGui.QMenu()
         widget = self.clickedItem(event.pos())
         if not widget:
             actionAddTerm = menu.addAction(_('Add terminal'))
             actionAddTerm.triggered.connect(self.addTerminal)
             
         else:
             pid = widget.getShellPID()
             # Close
             closeAction = menu.addAction(_("Close"))
             closeAction.triggered.connect(lambda index, s=self: s.removeTab(index))
             menu.addSeparator()
             # Signals
             signalSubMenu = menu.addMenu(_("&Send signal"))
             for name, number in SIGNALS:
                 signal = signalSubMenu.addAction("Send %s (%d)" % (name, number))
                 signal.triggered.connect(lambda pid = pid, number = number: os.kill(pid, number))
             # Scrollbar
             scrollBarMenu = QtGui.QMenu("Scrollbar")
             for name, enumVal in (("No Scrollbar", QTermWidget.NoScrollBar),
                                   ("Left Scrollbar",QTermWidget.ScrollBarLeft),
                                   ("Right Scrollbar", QTermWidget.ScrollBarRight)):
                 action = scrollBarMenu.addAction(name)
                 action.triggered.connect(lambda w=widget, n=enumVal: widget.setScrollBarPosition(n))
             menu.addMenu(scrollBarMenu)
             
             # Colors
             menuColors = QtGui.QMenu("Color Scheme")
             for name in widget.availableColorSchemes():
                 action = menuColors.addAction(name)
                 action.triggered.connect(lambda w=widget, n=name: widget.setColorScheme(n))
             
             menu.addMenu(menuColors)
             
         menu.exec_(event.globalPos())
         return
     super(PMXTabTerminals, self).mousePressEvent(event)
示例#6
0
 def configToolbar(self):
     self.toolbarMenu = QtGui.QMenu("Menu", self)
     action = QtGui.QAction("New Command", self)
     action.triggered.connect(self.on_actionCommand_triggered)
     self.toolbarMenu.addAction(action)
     action = QtGui.QAction("New Drag Command", self)
     action.triggered.connect(self.on_actionDragCommand_triggered)
     self.toolbarMenu.addAction(action)
     action = QtGui.QAction("New Language", self)
     action.triggered.connect(self.on_actionLanguage_triggered)
     self.toolbarMenu.addAction(action)
     action = QtGui.QAction("New Snippet", self)
     action.triggered.connect(self.on_actionSnippet_triggered)
     self.toolbarMenu.addAction(action)
     action = QtGui.QAction("New Template", self)
     action.triggered.connect(self.on_actionTemplate_triggered)
     self.toolbarMenu.addAction(action)
     action = QtGui.QAction("New Project", self)
     action.triggered.connect(self.on_actionProject_triggered)
     self.toolbarMenu.addAction(action)
     self.templateFileAction = QtGui.QAction("New Template File", self)
     self.templateFileAction.triggered.connect(self.on_actionTemplateFile_triggered)
     self.toolbarMenu.addAction(self.templateFileAction)
     action = QtGui.QAction("New Preferences", self)
     action.triggered.connect(self.on_actionPreferences_triggered)
     self.toolbarMenu.addAction(action)
     self.toolbarMenu.addSeparator()
     action = QtGui.QAction("New Bundle", self)
     action.triggered.connect(self.on_actionBundle_triggered)
     self.toolbarMenu.addAction(action)
     
     def conditionalEnabledTemplateFile():
         node = self.proxyTreeModel.node(self.treeView.currentIndex())
         self.templateFileAction.setEnabled(not node.isRootNode() and (node.TYPE in ["template", "templatefile", "project"]))
     self.toolbarMenu.aboutToShow.connect(conditionalEnabledTemplateFile)
     
     self.pushButtonAdd.setMenu(self.toolbarMenu)
     
     #Bundle global filter dialog
     self.bundleFilterDialog = PMXBundleFilter(self)
     self.defaullFilterText = "Filter"
示例#7
0
 def showTabSizeContextMenu(self, point):
     editor = self.currentEditor
     #Setup Context Menu
     menu = QtGui.QMenu(self)
     menu.setObjectName('tabSizeMenu')
     
     for size in [2, 4, 8]:
         action = menu.addAction("%d" % size, lambda size = size: self.setCurrentEditorTabSize(size))
         action.setCheckable(True)
         action.setChecked(editor.tabStopSize == size)
     
     if editor.tabStopSize not in [2,4,8]:
         action = menu.addAction("Other (%d)" % editor.tabStopSize)
         action.setCheckable(True)
         action.setChecked(True)
     else:
         action = menu.addAction("Other")
         action.setCheckable(True)
     
     menu.addSeparator()
     action = menu.addAction("Soft Tabs (Spaces)", lambda soft = not editor.tabStopSoft: self.setCurrentEditorTabSoft(soft))
     action.setCheckable(True)        
     action.setChecked(editor.tabStopSoft == True)
     menu.popup(self.labelTabSize.mapToGlobal(point))
示例#8
0
    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)
示例#9
0
 def buildSingalMenu(self, process_pid):
     '''Creates a singal with add hock menu events'''
     menu = QtGui.QMenu(_('Send &Singal'))