5#include "ui_previewconfigurationwidget.h"
9#include <iconloader_p.h>
10#include <stylesheeteditor_p.h>
12#include <deviceskin_p.h>
14#include <QtDesigner/abstractsettings.h>
16#include <QtWidgets/qfiledialog.h>
17#include <QtWidgets/qstylefactory.h>
18#include <QtWidgets/qfiledialog.h>
19#include <QtWidgets/qmessagebox.h>
20#include <QtCore/qpair.h>
21#include <QtCore/qlist.h>
22#include <QtCore/qdebug.h>
23#include <QtCore/qfileinfo.h>
24#include <QtCore/qshareddata.h>
28using namespace Qt::StringLiterals;
34using SkinNamePath = std::pair<QString, QString>;
35using Skins = QList<SkinNamePath>;
42 const QDir dir(skinResourcePathC,
"*."_L1 + skinExtensionC);
43 const QFileInfoList list = dir.entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot, QDir::Name);
46 for (
const auto &fi : list)
47 rc.append(SkinNamePath(fi.baseName(), fi.filePath()));
70 QDesignerFormEditorInterface *
m_core;
73 PreviewConfiguration previewConfiguration()
const;
74 void setPreviewConfiguration(
const PreviewConfiguration &pc);
76 QStringList userSkins()
const;
77 void addUserSkins(
const QStringList &files);
78 bool canRemoveSkin(
int index)
const;
81 const QString m_defaultStyle;
85 int m_firstUserSkinIndex;
86 int m_browseSkinIndex;
113 "editdelete.png"_L1));
147 for (
const auto &
f :
files) {
152 qWarning() <<
"Unable to access the skin directory '" <<
f <<
"'.";
273 const QString msg =
tr(
"%1 is not a valid skin directory:\n%2")
284 m_impl(
new PreviewConfigurationWidgetPrivate(core,
this))
286 connect(m_impl->appStyleSheetChangeButton(), &QAbstractButton::clicked,
288 connect(m_impl->skinRemoveButton(), &QAbstractButton::clicked,
290 connect(m_impl->skinCombo(), &QComboBox::currentIndexChanged,
293 m_impl->retrieveSettings();
303 m_impl->storeSettings();
308 m_impl->slotEditAppStyleSheet();
313 m_impl->slotDeleteSkinEntry();
318 m_impl->slotSkinChanged(index);
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.