Krita Source Code Documentation
Loading...
Searching...
No Matches
fontscombobox.py
Go to the documentation of this file.
1"""
2SPDX-FileCopyrightText: 2017 Eliakin Costa <eliakim170@gmail.com>
3
4SPDX-License-Identifier: GPL-2.0-or-later
5"""
6try:
7 from PyQt6.QtWidgets import QComboBox
8 from PyQt6.QtGui import QFontDatabase
9 from PyQt6.QtCore import QLibraryInfo
10except:
11 from PyQt5.QtWidgets import QComboBox
12 from PyQt5.QtGui import QFontDatabase
13 from PyQt5.QtCore import QLibraryInfo
14
15
16class FontsComboBox(QComboBox):
17
18 def __init__(self, editor, parent=None):
19 super(FontsComboBox, self).__init__(parent)
20
21 self.editor = editor
22
23 if QLibraryInfo.version().majorVersion() == 6: # PyQt6
24 self.addItems(QFontDatabase.families())
25 else: # PyQt5
26 self.addItems(QFontDatabase().families())
27 self.setCurrentIndex(self.findText(self.editor.font))
28
29 # Style sheet to set false on combobox-popup
30 self.setMaxVisibleItems(10)
31 self.setEditable(True)
32 self.setInsertPolicy(QComboBox.InsertPolicy.NoInsert)
34
35 def _currentIndexChanged(self, index):
36 self.editor.font = self.itemText(index)
37
38 def readSettings(self, settings):
39 fontName = settings.value('fontName', '')
40
41 if fontName:
42 self.setCurrentIndex(self.findText(fontName))
43
44 def writeSettings(self, settings):
45 settings.setValue('fontName', self.editor.font)
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))