| 31 | } |
| 32 | |
| 33 | FontBrowserWidget::FontBrowserWidget(QWidget *parent) |
| 34 | : QWidget(parent) |
| 35 | , ui(new Ui::FontBrowserWidget) |
| 36 | , m_stateManager(this) |
| 37 | , m_selectedFontModel(nullptr) |
| 38 | , m_fontBrowser(nullptr) |
| 39 | { |
| 40 | ObjectBroker::registerClientObjectFactoryCallback<FontBrowserInterface *>( |
| 41 | fontBrowserClientFactory); |
| 42 | m_fontBrowser = ObjectBroker::object<FontBrowserInterface *>(); |
| 43 | |
| 44 | ui->setupUi(this); |
| 45 | |
| 46 | m_selectedFontModel = ObjectBroker::model(QStringLiteral("com.kdab.GammaRay.SelectedFontModel")); |
| 47 | |
| 48 | ui->selectedFontsView->header()->setObjectName("selectedFontsViewHeader"); |
| 49 | ui->selectedFontsView->setDeferredResizeMode(0, QHeaderView::ResizeToContents); |
| 50 | ui->selectedFontsView->setDeferredResizeMode(1, QHeaderView::ResizeToContents); |
| 51 | ui->selectedFontsView->setModel(m_selectedFontModel); |
| 52 | |
| 53 | connect(ui->fontText, &QLineEdit::textChanged, |
| 54 | m_fontBrowser, &FontBrowserInterface::updateText); |
| 55 | connect(ui->boldBox, &QAbstractButton::toggled, |
| 56 | m_fontBrowser, &FontBrowserInterface::toggleBoldFont); |
| 57 | connect(ui->italicBox, &QAbstractButton::toggled, |
| 58 | m_fontBrowser, &FontBrowserInterface::toggleItalicFont); |
| 59 | connect(ui->underlineBox, &QAbstractButton::toggled, |
| 60 | m_fontBrowser, &FontBrowserInterface::toggleUnderlineFont); |
| 61 | connect(ui->pointSize, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), |
| 62 | m_fontBrowser, &FontBrowserInterface::setPointSize); |
| 63 | |
| 64 | QAbstractItemModel *fontModel = ObjectBroker::model(QStringLiteral( |
| 65 | "com.kdab.GammaRay.FontModel")); |
| 66 | auto proxy = new QSortFilterProxyModel(this); |
| 67 | proxy->setSourceModel(fontModel); |
| 68 | proxy->setRecursiveFilteringEnabled(true); |
| 69 | proxy->setFilterRole(FontBrowserInterface::FontSearchRole); |
| 70 | proxy->setSortRole(FontBrowserInterface::SortRole); |
| 71 | new SearchLineController(ui->fontSearchLine, proxy); |
| 72 | ui->fontTree->header()->setObjectName("fontTreeHeader"); |
| 73 | ui->fontTree->setDeferredResizeMode(0, QHeaderView::ResizeToContents); |
| 74 | ui->fontTree->setSelectionMode(QAbstractItemView::ExtendedSelection); |
| 75 | ui->fontTree->setModel(proxy); |
| 76 | ui->fontTree->setSelectionModel(ObjectBroker::selectionModel(proxy)); |
| 77 | |
| 78 | ui->pointSize->setValue(font().pointSize()); |
| 79 | |
| 80 | // init |
| 81 | m_fontBrowser->updateText(ui->fontText->text()); |
| 82 | m_fontBrowser->toggleBoldFont(ui->boldBox->isChecked()); |
| 83 | m_fontBrowser->toggleItalicFont(ui->italicBox->isChecked()); |
| 84 | m_fontBrowser->toggleUnderlineFont(ui->underlineBox->isChecked()); |
| 85 | m_fontBrowser->setPointSize(ui->pointSize->value()); |
| 86 | |
| 87 | m_stateManager.setDefaultSizes(ui->mainSplitter, UISizeVector() << "50%" |
| 88 | << "50%"); |
| 89 | QMetaObject::invokeMethod(this, "delayedInit", Qt::QueuedConnection); |
| 90 | } |
nothing calls this directly
no test coverage detected