Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdesigner_appearanceoptions.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3// Qt-Security score:significant reason:default
4
6#include "ui_qdesigner_appearanceoptions.h"
7
10
11#include <QtDesigner/abstractformeditor.h>
12#include <QtCore/qtimer.h>
13#include <QtCore/qdebug.h>
14
16
17// ---------------- AppearanceOptions
19{
20 settings.setUiMode(uiMode);
21 settings.setToolWindowFont(toolWindowFontSettings);
22}
23
25{
26 uiMode = settings.uiMode();
27 toolWindowFontSettings = settings.toolWindowFont();
28}
29
30// ---------------- QDesignerAppearanceOptionsWidget
31QDesignerAppearanceOptionsWidget::QDesignerAppearanceOptionsWidget(QWidget *parent) :
32 QWidget(parent),
33 m_ui(new QT_PREPEND_NAMESPACE(Ui)::AppearanceOptionsWidget)
34{
35 m_ui->setupUi(this);
36
37 m_ui->m_uiModeCombo->addItem(tr("Docked Window"), QVariant(DockedMode));
38 m_ui->m_uiModeCombo->addItem(tr("Multiple Top-Level Windows"), QVariant(TopLevelMode));
39 connect(m_ui->m_uiModeCombo, &QComboBox::currentIndexChanged,
40 this, &QDesignerAppearanceOptionsWidget::slotUiModeComboChanged);
41
42 m_ui->m_fontPanel->setCheckable(true);
43 m_ui->m_fontPanel->setTitle(tr("Toolwindow Font"));
44
45}
46
51
52UIMode QDesignerAppearanceOptionsWidget::uiMode() const
53{
54 return static_cast<UIMode>(m_ui->m_uiModeCombo->itemData(m_ui->m_uiModeCombo->currentIndex()).toInt());
55}
56
58{
60 rc.uiMode = uiMode();
61 rc.toolWindowFontSettings.m_font = m_ui->m_fontPanel->selectedFont();
62 rc.toolWindowFontSettings.m_useFont = m_ui->m_fontPanel->isChecked();
63 rc.toolWindowFontSettings.m_writingSystem = m_ui->m_fontPanel->writingSystem();
64 return rc;
65}
66
68{
69 m_initialUIMode = ao.uiMode;
70 m_ui->m_uiModeCombo->setCurrentIndex(m_ui->m_uiModeCombo->findData(QVariant(ao.uiMode)));
71 m_ui->m_fontPanel->setWritingSystem(ao.toolWindowFontSettings.m_writingSystem);
72 m_ui->m_fontPanel->setSelectedFont(ao.toolWindowFontSettings.m_font);
73 m_ui->m_fontPanel->setChecked(ao.toolWindowFontSettings.m_useFont);
74}
75
76void QDesignerAppearanceOptionsWidget::slotUiModeComboChanged()
77{
78 emit uiModeChanged(m_initialUIMode != uiMode());
79}
80
81// ----------- QDesignerAppearanceOptionsPage
82QDesignerAppearanceOptionsPage::QDesignerAppearanceOptionsPage(QDesignerFormEditorInterface *core) :
83 m_core(core)
84{
85}
86
88{
89 //: Tab in preferences dialog
90 return QCoreApplication::translate("QDesignerAppearanceOptionsPage", "Appearance");
91}
92
94{
95 m_widget = new QDesignerAppearanceOptionsWidget(parent);
96 m_initialOptions.fromSettings(QDesignerSettings(m_core));
97 m_widget->setAppearanceOptions(m_initialOptions);
98 return m_widget;
99}
100
102{
103 if (m_widget) {
104 const AppearanceOptions newOptions = m_widget->appearanceOptions();
105 if (newOptions != m_initialOptions) {
106 QDesignerSettings settings(m_core);
107 newOptions.toSettings(settings);
108 m_initialOptions = newOptions;
109 emit settingsChanged();
110 }
111 }
112}
113
117
118QT_END_NAMESPACE
void setAppearanceOptions(const AppearanceOptions &ao)
void setToolWindowFont(const ToolWindowFontSettings &fontSettings)
void setUiMode(UIMode mode)
QDesignerSettings(QDesignerFormEditorInterface *core)
friend class QWidget
Definition qpainter.h:432
Combined button and popup list for selecting options.
void toSettings(QDesignerSettings &) const
void fromSettings(const QDesignerSettings &)