MCPcopy Create free account
hub / github.com/KDAB/GammaRay / FontBrowserWidget

Method FontBrowserWidget

plugins/fontbrowser/fontbrowserwidget.cpp:33–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31}
32
33FontBrowserWidget::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}

Callers

nothing calls this directly

Calls 13

setDeferredResizeModeMethod · 0.80
setSelectionModelMethod · 0.80
textMethod · 0.80
setDefaultSizesMethod · 0.80
setModelMethod · 0.45
setSourceModelMethod · 0.45
setValueMethod · 0.45
updateTextMethod · 0.45
toggleBoldFontMethod · 0.45
toggleItalicFontMethod · 0.45
toggleUnderlineFontMethod · 0.45
setPointSizeMethod · 0.45

Tested by

no test coverage detected