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)
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)
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()
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
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']
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()