10#include <QtDesigner/abstractsettings.h>
12#include <abstractformeditor.h>
13#include <qdesigner_utils_p.h>
14#include <previewmanager_p.h>
16#include <QtCore/qvariant.h>
17#include <QtCore/qdir.h>
19#include <QtWidgets/qstyle.h>
20#include <QtWidgets/qlistview.h>
22#include <QtCore/qdebug.h>
24enum { debugSettings = 0 };
28using namespace Qt::StringLiterals;
47 settings()->setValue(key, value);
52 return settings()->value(key, defaultValue);
57 return QLatin1Char(
static_cast<
char>(mode) +
'0');
62 Q_ASSERT(w && !w->objectName().isEmpty());
63 QDesignerSettingsInterface *s = settings();
64 const bool visible = w->isVisible();
66 qDebug() << Q_FUNC_INFO << w <<
"visible=" << visible;
67 s->beginGroup(w->objectName());
68 s->setValue(u"visible"_s, visible);
69 s->setValue(u"geometry"_s, w->saveGeometry());
75 Q_ASSERT(w && !w->objectName().isEmpty());
76 const QString key = w->objectName();
77 const QByteArray ba(settings()->value(key +
"/geometry"_L1).toByteArray());
78 const bool visible = settings()->value(key +
"/visible"_L1,
true).toBool();
81 qDebug() << Q_FUNC_INFO << w << fallBack <<
"visible=" << visible;
84 if (fallBack.isNull())
85 fallBack = QRect(QPoint(0, 0), w->sizeHint());
86 if (fallBack.size() == QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)) {
87 w->setWindowState(w->windowState() | Qt::WindowMaximized);
89 w->move(fallBack.topLeft());
90 w->resize(fallBack.size());
93 w->restoreGeometry(ba);
102 return settings()->value(recentFilesListKey).toStringList();
107 settings()->setValue(recentFilesListKey, sl);
112 settings()->setValue(newFormShowKey, showIt);
117 return settings()->value(newFormShowKey,
true).toBool();
122 return settings()->value(mainWindowStateKey + modeChar(mode)).toByteArray();
127 settings()->setValue(mainWindowStateKey + modeChar(mode), mainWindowState);
132 QString key = toolBarsStateKey;
133 key += modeChar(mode);
134 return settings()->value(key).toByteArray();
139 QString key = toolBarsStateKey;
140 key += modeChar(mode);
141 settings()->setValue(key, toolBarsState);
146 QDesignerSettingsInterface *s = settings();
147 s->remove(backupOrgListKey);
148 s->remove(backupBakListKey);
153 const QStringList org = map.keys();
154 const QStringList bak = map.values();
156 QDesignerSettingsInterface *s = settings();
157 s->setValue(backupOrgListKey, org);
158 s->setValue(backupBakListKey, bak);
163 const QStringList org = settings()->value(backupOrgListKey, QStringList()).toStringList();
164 const QStringList bak = settings()->value(backupBakListKey, QStringList()).toStringList();
166 QMap<QString, QString> map;
167 const qsizetype orgCount = org.size();
168 for (qsizetype i = 0; i < orgCount; ++i)
169 map.insert(org.at(i), bak.at(i));
176 QDesignerSettingsInterface *s = settings();
177 s->beginGroup(u"UI"_s);
178 s->setValue(u"currentMode"_s, mode);
184 constexpr UIMode defaultMode = DockedMode;
185 UIMode uiMode =
static_cast<UIMode>(value(u"UI/currentMode"_s, defaultMode).toInt());
191 QDesignerSettingsInterface *s = settings();
192 s->beginGroup(u"UI"_s);
193 s->setValue(u"font"_s, fontSettings.m_font);
194 s->setValue(u"useFont"_s, fontSettings
.m_useFont);
195 s->setValue(u"writingSystem"_s, fontSettings.m_writingSystem);
202 fontSettings.m_writingSystem =
203 static_cast<QFontDatabase::WritingSystem>(value(u"UI/writingSystem"_s,
204 QFontDatabase::Any).toInt());
205 fontSettings.m_font = qvariant_cast<QFont>(value(u"UI/font"_s));
207 settings()->value(u"UI/useFont"_s, QVariant(
false)).toBool();
QStringList recentFilesList() const
void setToolWindowFont(const ToolWindowFontSettings &fontSettings)
void setShowNewFormOnStartup(bool showIt)
void setToolBarsState(UIMode mode, const QByteArray &mainWindowState)
void setMainWindowState(UIMode mode, const QByteArray &mainWindowState)
void setUiMode(UIMode mode)
void setBackup(const QMap< QString, QString > &map)
void restoreGeometry(QWidget *w, QRect fallBack=QRect()) const
QByteArray mainWindowState(UIMode mode) const
QDesignerSettings(QDesignerFormEditorInterface *core)
QMap< QString, QString > backup() const
QByteArray toolBarsState(UIMode mode) const
void setRecentFilesList(const QStringList &list)
ToolWindowFontSettings toolWindowFont() const
void saveGeometryFor(const QWidget *w)
bool showNewFormOnStartup() const
static constexpr auto newFormShowKey
static constexpr auto mainWindowStateKey
static constexpr auto toolBarsStateKey
static constexpr auto backupOrgListKey
static QChar modeChar(UIMode mode)
static constexpr auto backupBakListKey
static constexpr auto recentFilesListKey