def set_editor_font(self):
     font = self.get_current_font()
     fm = QFontMetrics(font)
     chars = tweaks['template_editor_tab_stop_width']
     w = fm.averageCharWidth() * chars
     self.textbox.setTabStopDistance(w)
     self.source_code.setTabStopDistance(w)
     self.textbox.setFont(font)
     self.highlighter.initialize_formats()
     self.highlighter.rehighlight()
Example #2
0
    def __init__(self,
                 title,
                 msg='\u00a0',
                 min=0,
                 max=99,
                 parent=None,
                 cancelable=True,
                 icon=None):
        QDialog.__init__(self, parent)
        if icon is None:
            self.l = l = QVBoxLayout(self)
        else:
            self.h = h = QHBoxLayout(self)
            self.icon = i = QLabel(self)
            if not isinstance(icon, QIcon):
                icon = QIcon(I(icon))
            i.setPixmap(icon.pixmap(64))
            h.addWidget(i,
                        alignment=Qt.AlignmentFlag.AlignTop
                        | Qt.AlignmentFlag.AlignHCenter)
            self.l = l = QVBoxLayout()
            h.addLayout(l)
            self.setWindowIcon(icon)

        self.title_label = t = QLabel(title)
        self.setWindowTitle(title)
        t.setStyleSheet('QLabel { font-weight: bold }'), t.setAlignment(
            Qt.AlignmentFlag.AlignCenter), t.setTextFormat(
                Qt.TextFormat.PlainText)
        l.addWidget(t)

        self.bar = b = QProgressBar(self)
        b.setMinimum(min), b.setMaximum(max), b.setValue(min)
        l.addWidget(b)

        self.message = m = QLabel(self)
        fm = QFontMetrics(self.font())
        m.setAlignment(Qt.AlignmentFlag.AlignCenter), m.setMinimumWidth(
            fm.averageCharWidth() * 80), m.setTextFormat(
                Qt.TextFormat.PlainText)
        l.addWidget(m)
        self.msg = msg

        self.button_box = bb = QDialogButtonBox(
            QDialogButtonBox.StandardButton.Abort, self)
        bb.rejected.connect(self._canceled)
        l.addWidget(bb)

        self.setWindowModality(Qt.WindowModality.ApplicationModal)
        self.canceled = False

        if not cancelable:
            bb.setVisible(False)
        self.cancelable = cancelable
        self.resize(self.sizeHint())
 def sizeHint(self):
     fm = QFontMetrics(self.font())
     ans = QPlainTextEdit.sizeHint(self)
     ans.setWidth(fm.averageCharWidth() * 50)
     return ans
 def sizeHint(self):
     fm = QFontMetrics(self.font())
     return QSize(fm.averageCharWidth() * 120, 600)