示例#1
0
    def setupUi(self):
        layout = QtGui.QHBoxLayout()
        layout.setSpacing(0)
        layout.setMargin(0)

        self.buttonBold = QtGui.QPushButton("B")
        self.buttonBold.setCheckable(True)
        font = QtGui.QFont()
        font.setWeight(QtGui.QFont.Bold)
        self.buttonBold.setFont(font)
        self.buttonBold.setMaximumWidth(30)

        self.buttonItalic = QtGui.QPushButton("I")
        self.buttonItalic.setCheckable(True)
        font = QtGui.QFont()
        font.setItalic(True)
        self.buttonItalic.setFont(font)
        self.buttonItalic.setMaximumWidth(30)

        self.buttonUnderline = QtGui.QPushButton("U")
        self.buttonUnderline.setCheckable(True)
        font = QtGui.QFont()
        font.setUnderline(True)
        self.buttonUnderline.setFont(font)
        self.buttonUnderline.setMaximumWidth(30)

        layout.addWidget(self.buttonBold)
        layout.addWidget(self.buttonItalic)
        layout.addWidget(self.buttonUnderline)
        self.setLayout(layout)
示例#2
0
    def initialize(self, editor):
        SideBarWidgetAddon.initialize(self, editor)
        self.background = self.editor.colours['gutter'] if 'gutter' in self.editor.colours else self.editor.colours['background']
        self.foreground = self.editor.colours["foreground"]
        self.normalFont = QtGui.QFont(self.editor.font)
        self.boldFont = QtGui.QFont(self.editor.font)
        self.boldFont.setBold(True)
        self.normalMetrics = QtGui.QFontMetrics(self.normalFont)
        self.boldMetrics = QtGui.QFontMetrics(self.boldFont)
        
        self.setFixedWidth(self.boldMetrics.width("#") + self.MARGIN * 2)

        self.editor.blockCountChanged.connect(self.updateWidth)
        self.editor.themeChanged.connect(self.updateColours)
示例#3
0
def get_family(families):
    """Return the first installed font family in family list"""
    if not isinstance(families, list):
        families = [families]
    for family in families:
        if font_is_installed(family):
            return family
    else:
        print "Warning: None of the following fonts is installed: %r" % families
        return QtGui.QFont().family()
示例#4
0
    def buildSplashScreen(self):
        from prymatex.widgets.splash import SplashScreen
        splash_image = resources.getImage('newsplash')
        splash = SplashScreen(splash_image)
        splash.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint
                              | QtCore.Qt.SplashScreen)

        splashFont = QtGui.QFont("Monospace", 11)
        splashFont.setStyleStrategy(QtGui.QFont.PreferAntialias)

        splash.setFont(splashFont)
        splash.setMask(splash_image.mask())

        return splash
示例#5
0
 def data(self, index, role):
     if not index.isValid():
         return QtCore.QVariant()
     if role in [QtCore.Qt.DisplayRole, QtCore.Qt.EditRole]:
         row = index.row()
         column = index.column()
         style = self.styles[row]
         settings = self.styles[row].settings
         if column == 0:
             return style.name
         elif column == 1 and 'foreground' in settings:
             return settings['foreground']
         elif column == 2 and 'background' in settings:
             return settings['background']
         elif column == 3 and 'fontStyle' in settings:
             return settings['fontStyle']
     elif role == QtCore.Qt.FontRole:
         row = index.row()
         column = index.column()
         style = self.styles[row]
         settings = self.styles[row].settings
         if column == 0:
             font = QtGui.QFont()
             if 'bold' in settings['fontStyle']:
                 font.setBold(True)
             if 'underline' in settings['fontStyle']:
                 font.setUnderline(True)
             if 'italic' in settings['fontStyle']:
                 font.setItalic(True)
             return font
     elif role is QtCore.Qt.ForegroundRole:
         row = index.row()
         column = index.column()
         style = self.styles[row]
         settings = self.styles[row].settings
         if column == 0 and 'foreground' in settings:
             return settings['foreground']
     elif role is QtCore.Qt.BackgroundColorRole:
         row = index.row()
         column = index.column()
         style = self.styles[row]
         settings = self.styles[row].settings
         if column == 0 and 'background' in settings:
             return settings['background']
         elif column == 1 and 'foreground' in settings:
             return settings['foreground']
         elif column == 2 and 'background' in settings:
             return settings['background']
示例#6
0
class PMXTerminalDock(QtGui.QDockWidget, PMXBaseDock):
    SHORTCUT = "F4"
    ICON = resources.getIcon("utilities-terminal")
    PREFERED_AREA = QtCore.Qt.BottomDockWidgetArea
    
    #=======================================================================
    # Settings
    #=======================================================================
    SETTINGS_GROUP = 'Terminal'

    @pmxConfigPorperty(default = "linux")
    def colorScheme(self, scheme):
        for index in range(self.tabTerminals.count()):
            self.tabTerminals.widget(index).setColorScheme(scheme)
    
    @pmxConfigPorperty(default = QtGui.QFont("Monospace", 9))
    def font(self, font):
        for index in range(self.tabTerminals.count()):
            self.tabTerminals.widget(index).setTerminalFont(font)

    terminalAvailable = True
    def __init__(self, parent):
        QtGui.QDockWidget.__init__(self, parent)
        PMXBaseDock.__init__(self)
        self.setWindowTitle(_("Terminal"))
        self.setObjectName(_("TerminalDock"))
        self.tabTerminals = PMXTabTerminals(self)
        self.setWidget(self.tabTerminals)
        self.installEventFilter(self)
    
    def initialize(self, mainWindow):
        PMXBaseDock.initialize(self, mainWindow)
        mainWindow.terminal = self
        self.widget().addTerminal()
    
    def eventFilter(self, obj, event):
        if obj == self and event.type() == QtCore.QEvent.KeyPress:
            if event.modifiers() == QtCore.Qt.ControlModifier and event.key() in [ QtCore.Qt.Key_W]:
                print "W"
                return
        return super(PMXTerminalDock, self).eventFilter(obj, event)
    
    #========================================================
    # Commands
    #========================================================
    def runCommand(self, command):
        if not self.isVisible():
            self.show()
        self.raise_()
        self.terminal.sendText("%s\n" % command)

    @property
    def terminal(self):
        return self.widget().currentWidget()
    
    @classmethod
    def contributeToSettings(cls):
        from prymatex.gui.settings.terminal import PMXTerminalSettings
        return [ PMXTerminalSettings ]
    
    def showEvent(self, event):
        self.terminal.setFocus()