Browse Source

moved mvvm settings stuff into main lib

pull/2/head
Skycoder42 7 years ago
parent
commit
8f7bf7bc81
  1. 4
      examples/mvvmcore/SampleCore/SampleCore.pro
  2. 2
      examples/mvvmcore/SampleCore/drawerviewmodel.cpp
  3. 2
      examples/mvvmcore/SampleCore/sampleviewmodel.cpp
  4. 2
      examples/mvvmquick/SampleQuick/SampleQuick.pro
  5. 2
      examples/mvvmwidgets/SampleWidgets/SampleWidgets.pro
  6. 2
      examples/mvvmwidgets/SampleWidgets/main.cpp
  7. 45
      src/imports/mvvmcore/plugins.qmltypes
  8. 2
      src/imports/mvvmcore/qtmvvmcore_plugin.cpp
  9. 13
      src/mvvmcore/mvvmcore.pro
  10. 22
      src/mvvmcore/qtmvvmcore_global.cpp
  11. 0
      src/mvvmcore/settings.xsd
  12. 2
      src/mvvmcore/settingssetup.h
  13. 2
      src/mvvmcore/settingssetuploader.cpp
  14. 6
      src/mvvmcore/settingssetuploader_p.h
  15. 5
      src/mvvmcore/settingsviewmodel.cpp
  16. 6
      src/mvvmcore/settingsviewmodel.h
  17. 2
      src/mvvmcore/settingsviewmodel_p.h
  18. 40
      src/mvvmsettingscore/mvvmsettingscore.pro
  19. 14
      src/mvvmsettingscore/qpmx.json
  20. 24
      src/mvvmsettingscore/qtmvvmsettingscore_global.cpp
  21. 12
      src/mvvmsettingscore/qtmvvmsettingscore_global.h
  22. 30
      src/mvvmsettingscore/translations/qtmvvmsettingscore_de.ts
  23. 30
      src/mvvmsettingscore/translations/qtmvvmsettingscore_template.ts
  24. 42
      src/mvvmsettingswidgets/mvvmsettingswidgets.pro
  25. 14
      src/mvvmsettingswidgets/qpmx.json
  26. 12
      src/mvvmsettingswidgets/qtmvvmsettingswidgets_global.h
  27. 13
      src/mvvmwidgets/mvvmwidgets.pro
  28. 0
      src/mvvmwidgets/qtmvvmwidgets_module.qrc
  29. 0
      src/mvvmwidgets/setting_tools.ico
  30. 26
      src/mvvmwidgets/settingsdialog.cpp
  31. 6
      src/mvvmwidgets/settingsdialog.h
  32. 0
      src/mvvmwidgets/settingsdialog.ui
  33. 6
      src/mvvmwidgets/settingsdialog_p.h
  34. 3
      src/mvvmwidgets/widgetspresenter.cpp
  35. 4
      src/src.pro
  36. 4
      sync.profile

4
examples/mvvmcore/SampleCore/SampleCore.pro

@ -1,6 +1,6 @@
TEMPLATE = lib
QT = core gui mvvmcore mvvmsettingscore
QT = core gui mvvmcore
CONFIG += static
TARGET = SampleCore
@ -26,4 +26,4 @@ target.path = $$[QT_INSTALL_EXAMPLES]/mvvmcore/$$TARGET
INSTALLS += target
RESOURCES += \
sample_core.qrc
sample_core.qrc

2
examples/mvvmcore/SampleCore/drawerviewmodel.cpp

@ -1,5 +1,5 @@
#include "drawerviewmodel.h"
#include <QtMvvmSettingsCore/SettingsViewModel>
#include <QtMvvmCore/SettingsViewModel>
#include "sampleviewmodel.h"
#include "tabviewmodel.h"

2
examples/mvvmcore/SampleCore/sampleviewmodel.cpp

@ -1,7 +1,7 @@
#include "sampleviewmodel.h"
#include <QDebug>
#include <QtMvvmCore/Messages>
#include <QtMvvmSettingsCore/SettingsViewModel>
#include <QtMvvmCore/SettingsViewModel>
#include "resultviewmodel.h"
#include "tabviewmodel.h"

2
examples/mvvmquick/SampleQuick/SampleQuick.pro

@ -1,6 +1,6 @@
TEMPLATE = app
QT += core gui qml quick mvvmquick widgets mvvmsettingscore
QT += core gui qml quick mvvmquick widgets
TARGET = SampleQuick

2
examples/mvvmwidgets/SampleWidgets/SampleWidgets.pro

@ -1,6 +1,6 @@
TEMPLATE = app
QT += core gui widgets mvvmwidgets mvvmsettingswidgets
QT += core gui widgets mvvmwidgets
TARGET = SampleWidgets

2
examples/mvvmwidgets/SampleWidgets/main.cpp

@ -1,7 +1,6 @@
#include <QApplication>
#include <QtMvvmCore/ServiceRegistry>
#include <QtMvvmWidgets/WidgetsPresenter>
#include <QtMvvmSettingsWidgets/SettingsDialog>
#include <samplecoreapp.h>
#include "widgetseventservice.h"
@ -26,7 +25,6 @@ int main(int argc, char *argv[])
QtMvvm::WidgetsPresenter::registerView<ResultDialog>();
QtMvvm::WidgetsPresenter::registerView<TabView>();
QtMvvm::WidgetsPresenter::registerView<TabItemView>();
QtMvvm::WidgetsPresenter::registerView<QtMvvm::SettingsDialog>();
if(TEST_CURRENT == TEST_DIRECT)
QtMvvm::ServiceRegistry::instance()->registerObject<EchoService>();

45
src/imports/mvvmcore/plugins.qmltypes

@ -419,6 +419,51 @@ Module {
Parameter { name: "onResult"; type: "QJSValue" }
}
}
Component {
name: "QtMvvm::SettingsViewModel"
prototype: "QtMvvm::ViewModel"
exports: ["de.skycoder42.QtMvvm.Core/SettingsViewModel 1.0"]
isCreatable: false
exportMetaObjectRevisions: [0]
Property { name: "canRestoreDefaults"; type: "bool"; isReadonly: true }
Property { name: "restoreConfig"; type: "QtMvvm::MessageConfig"; isReadonly: true }
Property { name: "settingsSetupLoader"; type: "QtMvvm::ISettingsSetupLoader"; isPointer: true }
Property { name: "__qtmvvm_inject_settingsSetupLoader"; type: "QByteArray"; isReadonly: true }
Signal {
name: "settingsSetupLoaderChanged"
Parameter { name: "settingsSetupLoader"; type: "QtMvvm::ISettingsSetupLoader"; isPointer: true }
}
Signal { name: "beginLoadSetup" }
Method {
name: "callAction"
Parameter { name: "entryId"; type: "string" }
Parameter { name: "parameters"; type: "QVariantMap" }
}
Method {
name: "setSettingsSetupLoader"
Parameter { name: "settingsSetupLoader"; type: "QtMvvm::ISettingsSetupLoader"; isPointer: true }
}
Method {
name: "loadValue"
type: "QVariant"
Parameter { name: "key"; type: "string" }
Parameter { name: "defaultValue"; type: "QVariant" }
}
Method {
name: "loadValue"
type: "QVariant"
Parameter { name: "key"; type: "string" }
}
Method {
name: "saveValue"
Parameter { name: "key"; type: "string" }
Parameter { name: "value"; type: "QVariant" }
}
Method {
name: "resetValue"
Parameter { name: "key"; type: "string" }
}
}
Component {
name: "QtMvvm::ViewModel"
prototype: "QObject"

2
src/imports/mvvmcore/qtmvvmcore_plugin.cpp

@ -3,6 +3,7 @@
#include <QtQml>
#include <QtMvvmCore/ViewModel>
#include <QtMvvmCore/SettingsViewModel>
#include <QtMvvmCore/Messages>
#include "qqmlmvvmbinding.h"
@ -25,6 +26,7 @@ void QtMvvmCoreDeclarativeModule::registerTypes(const char *uri)
qmlRegisterUncreatableType<QtMvvm::MessageConfig>(uri, 1, 0, "MessageConfig", QStringLiteral("Q_GADGETS cannot be created from QML"));
qmlRegisterUncreatableType<QtMvvm::MessageResult>(uri, 1, 0, "MessageResult", QStringLiteral("Message results must be passed from C++"));
qmlRegisterUncreatableType<QtMvvm::ViewModel>(uri, 1, 0, "ViewModel", QStringLiteral("ViewModels cannot be created from QML"));
qmlRegisterUncreatableType<QtMvvm::SettingsViewModel>(uri, 1, 0, "SettingsViewModel", QStringLiteral("ViewModels cannot be created from QML"));
qmlRegisterType<QtMvvm::QQmlMvvmBinding>(uri, 1, 0, "MvvmBinding");

13
src/mvvmcore/mvvmcore.pro

@ -16,7 +16,11 @@ HEADERS += \
binding.h \
binding_p.h \
message.h \
message_p.h
message_p.h \
settingssetup.h \
settingssetuploader_p.h \
settingsviewmodel_p.h \
settingsviewmodel.h
SOURCES += \
viewmodel.cpp \
@ -25,13 +29,16 @@ SOURCES += \
qtmvvmcore_global.cpp \
binding.cpp \
message.cpp \
ipresenter.cpp
ipresenter.cpp \
settingssetuploader.cpp \
settingsviewmodel.cpp
TRANSLATIONS += \
translations/qtmvvmcore_de.ts \
translations/qtmvvmcore_template.ts
DISTFILES += $$TRANSLATIONS
DISTFILES += $$TRANSLATIONS \
settings.xsd
qpmx_ts_target.path = $$[QT_INSTALL_TRANSLATIONS]
qpmx_ts_target.depends += lrelease

22
src/mvvmcore/qtmvvmcore_global.cpp

@ -1,5 +1,27 @@
#include "qtmvvmcore_global.h"
#include "qtmvvm_logging_p.h"
#include "serviceregistry.h"
#include "settingssetuploader_p.h"
#include <QtCore/QCoreApplication>
namespace {
void qtMvvmCoreStartup()
{
using namespace QtMvvm;
registerInterfaceConverter<ISettingsSetupLoader>();
try {
ServiceRegistry::instance()->registerInterface<ISettingsSetupLoader, SettingsSetupLoader>(true);
} catch(ServiceExistsException &e) {
logDebug() << "Unable to register default ISettingsSetupLoader with error:" << e.what();
}
}
}
Q_COREAPP_STARTUP_FUNCTION(qtMvvmCoreStartup)
namespace QtMvvm {

0
src/mvvmsettingscore/settings.xsd → src/mvvmcore/settings.xsd

2
src/mvvmsettingscore/settingssetup.h → src/mvvmcore/settingssetup.h

@ -8,7 +8,7 @@
#include <QtCore/qfileselector.h>
#include <QtCore/qexception.h>
#include "QtMvvmSettingsCore/qtmvvmsettingscore_global.h"
#include "QtMvvmCore/qtmvvmcore_global.h"
namespace QtMvvm {

2
src/mvvmsettingscore/settingssetuploader.cpp → src/mvvmcore/settingssetuploader.cpp

@ -1,9 +1,9 @@
#include "settingssetuploader_p.h"
#include "qtmvvm_logging_p.h"
#include <QtCore/QCoreApplication>
#include <QtCore/QDir>
#include <QtMvvmCore/private/qtmvvm_logging_p.h>
using namespace QtMvvm;
using namespace QtMvvm::SettingsElements;

6
src/mvvmsettingscore/settingssetuploader_p.h → src/mvvmcore/settingssetuploader_p.h

@ -9,12 +9,12 @@
#include <QtCore/QXmlStreamReader>
#include <QtCore/QFile>
#include "qtmvvmsettingscore_global.h"
#include "qtmvvmcore_global.h"
#include "settingssetup.h"
namespace QtMvvm {
class Q_MVVMSETTINGSCORE_EXPORT SettingsSetupLoader : public QObject, public ISettingsSetupLoader
class Q_MVVMCORE_EXPORT SettingsSetupLoader : public QObject, public ISettingsSetupLoader
{
Q_OBJECT
Q_INTERFACES(QtMvvm::ISettingsSetupLoader)
@ -68,7 +68,7 @@ private:
bool isUsable(const T &configElement, const QString &frontend, const QStringList &selectors) const;
};
class Q_MVVMSETTINGSCORE_EXPORT SettingsXmlException : public SettingsLoaderException
class Q_MVVMCORE_EXPORT SettingsXmlException : public SettingsLoaderException
{
public:
SettingsXmlException(const QXmlStreamReader &reader);

5
src/mvvmsettingscore/settingsviewmodel.cpp → src/mvvmcore/settingsviewmodel.cpp

@ -1,8 +1,7 @@
#include "settingsviewmodel.h"
#include "settingsviewmodel_p.h"
#include <QtMvvmCore/CoreApp>
#include <QtMvvmCore/private/qtmvvm_logging_p.h>
#include "coreapp.h"
#include "qtmvvm_logging_p.h"
#include "settingssetuploader_p.h"
using namespace QtMvvm;

6
src/mvvmsettingscore/settingsviewmodel.h → src/mvvmcore/settingsviewmodel.h

@ -7,13 +7,13 @@
#include <QtMvvmCore/viewmodel.h>
#include <QtMvvmCore/message.h>
#include "QtMvvmSettingsCore/qtmvvmsettingscore_global.h"
#include "QtMvvmSettingsCore/settingssetup.h"
#include "QtMvvmCore/qtmvvmcore_global.h"
#include "QtMvvmCore/settingssetup.h"
namespace QtMvvm {
class SettingsViewModelPrivate;
class Q_MVVMSETTINGSCORE_EXPORT SettingsViewModel : public ViewModel //TODO create qml binding
class Q_MVVMCORE_EXPORT SettingsViewModel : public ViewModel
{
Q_OBJECT

2
src/mvvmsettingscore/settingsviewmodel_p.h → src/mvvmcore/settingsviewmodel_p.h

@ -1,7 +1,7 @@
#ifndef QTMVVM_SETTINGSVIEWMODEL_P_H
#define QTMVVM_SETTINGSVIEWMODEL_P_H
#include "qtmvvmsettingscore_global.h"
#include "qtmvvmcore_global.h"
#include "settingsviewmodel.h"
namespace QtMvvm {

40
src/mvvmsettingscore/mvvmsettingscore.pro

@ -1,40 +0,0 @@
TARGET = QtMvvmSettingsCore
QT = core gui mvvmcore mvvmcore-private
HEADERS += qtmvvmsettingscore_global.h \
settingsviewmodel.h \
settingssetup.h \
settingssetuploader_p.h \
settingsviewmodel_p.h
SOURCES += \
settingsviewmodel.cpp \
settingssetuploader.cpp \
qtmvvmsettingscore_global.cpp
TRANSLATIONS += \
translations/qtmvvmsettingscore_de.ts \
translations/qtmvvmsettingscore_template.ts
DISTFILES += $$TRANSLATIONS
qpmx_ts_target.path = $$[QT_INSTALL_TRANSLATIONS]
qpmx_ts_target.depends += lrelease
load(qt_module)
win32 {
QMAKE_TARGET_PRODUCT = "$$TARGET"
QMAKE_TARGET_COMPANY = "Skycoder42"
QMAKE_TARGET_COPYRIGHT = "Felix Barz"
} else:mac {
QMAKE_TARGET_BUNDLE_PREFIX = "com.skycoder42."
}
!ReleaseBuild:!DebugBuild:!system(qpmx -d $$shell_quote($$_PRO_FILE_PWD_) --qmake-run init $$QPMX_EXTRA_OPTIONS $$shell_quote($$QMAKE_QMAKE) $$shell_quote($$OUT_PWD)): error(qpmx initialization failed. Check the compilation log for details.)
else: include($$OUT_PWD/qpmx_generated.pri)
qpmx_ts_target.files -= $$OUT_PWD/$$QPMX_WORKINGDIR/qtmvvmsettingscore_template.qm
qpmx_ts_target.files += translations/qtmvvmsettingscore_template.ts

14
src/mvvmsettingscore/qpmx.json

@ -1,14 +0,0 @@
{
"dependencies": [],
"license": {
"file": "",
"name": ""
},
"prcFile": "",
"priFile": "",
"priIncludes": [
],
"publishers": {
},
"source": false
}

24
src/mvvmsettingscore/qtmvvmsettingscore_global.cpp

@ -1,24 +0,0 @@
#include "qtmvvmsettingscore_global.h"
#include <QtCore/QCoreApplication>
#include <QtMvvmCore/ServiceRegistry>
#include <QtMvvmCore/private/qtmvvm_logging_p.h>
#include "settingssetuploader_p.h"
using namespace QtMvvm;
namespace {
void qtMvvmSettingsCoreStartup()
{
QtMvvm::registerInterfaceConverter<ISettingsSetupLoader>();
try {
ServiceRegistry::instance()->registerInterface<ISettingsSetupLoader, SettingsSetupLoader>(true);
} catch(ServiceExistsException &e) {
logDebug() << "Unable to register default ISettingsSetupLoader with error:" << e.what();
}
}
}
Q_COREAPP_STARTUP_FUNCTION(qtMvvmSettingsCoreStartup)

12
src/mvvmsettingscore/qtmvvmsettingscore_global.h

@ -1,12 +0,0 @@
#ifndef QTMVVMSETTINGSCORE_GLOBAL_H
#define QTMVVMSETTINGSCORE_GLOBAL_H
#include <QtCore/qglobal.h>
#if defined(QT_BUILD_MVVMSETTINGSCORE_LIB)
# define Q_MVVMSETTINGSCORE_EXPORT Q_DECL_EXPORT
#else
# define Q_MVVMSETTINGSCORE_EXPORT Q_DECL_IMPORT
#endif
#endif // QTMVVMSETTINGSCORE_GLOBAL_H

30
src/mvvmsettingscore/translations/qtmvvmsettingscore_de.ts

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<context>
<name>QtMvvm::SettingsSetupLoader</name>
<message>
<location filename="../settingssetuploader.cpp" line="+244"/>
<source>General Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtMvvm::SettingsViewModel</name>
<message>
<location filename="../settingsviewmodel.cpp" line="+38"/>
<source>Restore Defaults?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>All custom changes will be deleted and the defaults restored. &lt;i&gt;This cannot be undone!&lt;/i&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

30
src/mvvmsettingscore/translations/qtmvvmsettingscore_template.ts

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>QtMvvm::SettingsSetupLoader</name>
<message>
<location filename="../settingssetuploader.cpp" line="+244"/>
<source>General Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtMvvm::SettingsViewModel</name>
<message>
<location filename="../settingsviewmodel.cpp" line="+38"/>
<source>Restore Defaults?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>All custom changes will be deleted and the defaults restored. &lt;i&gt;This cannot be undone!&lt;/i&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

42
src/mvvmsettingswidgets/mvvmsettingswidgets.pro

@ -1,42 +0,0 @@
TARGET = QtMvvmSettingsWidgets
QT = core gui mvvmsettingscore mvvmwidgets mvvmcore-private
HEADERS += qtmvvmsettingswidgets_global.h \
settingsdialog.h \
settingsdialog_p.h
SOURCES += \
settingsdialog.cpp
TRANSLATIONS += \
translations/qtmvvmsettingswidgets_de.ts \
translations/qtmvvmsettingswidgets_template.ts
DISTFILES += $$TRANSLATIONS
qpmx_ts_target.path = $$[QT_INSTALL_TRANSLATIONS]
qpmx_ts_target.depends += lrelease
load(qt_module)
win32 {
QMAKE_TARGET_PRODUCT = "$$TARGET"
QMAKE_TARGET_COMPANY = "Skycoder42"
QMAKE_TARGET_COPYRIGHT = "Felix Barz"
} else:mac {
QMAKE_TARGET_BUNDLE_PREFIX = "com.skycoder42."
}
!ReleaseBuild:!DebugBuild:!system(qpmx -d $$shell_quote($$_PRO_FILE_PWD_) --qmake-run init $$QPMX_EXTRA_OPTIONS $$shell_quote($$QMAKE_QMAKE) $$shell_quote($$OUT_PWD)): error(qpmx initialization failed. Check the compilation log for details.)
else: include($$OUT_PWD/qpmx_generated.pri)
qpmx_ts_target.files -= $$OUT_PWD/$$QPMX_WORKINGDIR/qtmvvmsettingswidgets_template.qm
qpmx_ts_target.files += translations/qtmvvmsettingswidgets_template.ts
FORMS += \
settingsdialog.ui
RESOURCES += \
qtmvvmsettingswidgets_module.qrc

14
src/mvvmsettingswidgets/qpmx.json

@ -1,14 +0,0 @@
{
"dependencies": [],
"license": {
"file": "",
"name": ""
},
"prcFile": "",
"priFile": "",
"priIncludes": [
],
"publishers": {
},
"source": false
}

12
src/mvvmsettingswidgets/qtmvvmsettingswidgets_global.h

@ -1,12 +0,0 @@
#ifndef QTMVVMSETTINGSWIDGETS_GLOBAL_H
#define QTMVVMSETTINGSWIDGETS_GLOBAL_H
#include <QtCore/qglobal.h>
#if defined(QT_BUILD_MVVMSETTINGSWIDGETS_LIB)
# define Q_MVVMSETTINGSWIDGETS_EXPORT Q_DECL_EXPORT
#else
# define Q_MVVMSETTINGSWIDGETS_EXPORT Q_DECL_IMPORT
#endif
#endif // QTMVVMSETTINGSWIDGETS_GLOBAL_H

13
src/mvvmwidgets/mvvmwidgets.pro

@ -10,13 +10,22 @@ HEADERS += \
fontcombobox_p.h \
selectcombobox_p.h \
inputwidgetfactory.h \
inputwidgetfactory_p.h
inputwidgetfactory_p.h \
settingsdialog_p.h \
settingsdialog.h
SOURCES += \
widgetspresenter.cpp \
fontcombobox.cpp \
selectcombobox.cpp \
inputwidgetfactory.cpp
inputwidgetfactory.cpp \
settingsdialog.cpp
FORMS += \
settingsdialog.ui
RESOURCES += \
qtmvvmwidgets_module.qrc
TRANSLATIONS += \
translations/qtmvvmwidgets_de.ts \

0
src/mvvmsettingswidgets/qtmvvmsettingswidgets_module.qrc → src/mvvmwidgets/qtmvvmwidgets_module.qrc

0
src/mvvmsettingswidgets/setting_tools.ico → src/mvvmwidgets/setting_tools.ico

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

26
src/mvvmsettingswidgets/settingsdialog.cpp → src/mvvmwidgets/settingsdialog.cpp

@ -1,6 +1,7 @@
#include "settingsdialog.h"
#include "settingsdialog_p.h"
#include "ui_settingsdialog.h"
#include "widgetspresenter_p.h"
#include <QtCore/QMetaProperty>
#include <QtCore/QRegularExpression>
@ -10,9 +11,6 @@
#include <QtWidgets/QPushButton>
#include <QtWidgets/QScrollArea>
#include <QtMvvmWidgets/WidgetsPresenter>
#include <QtMvvmWidgets/InputWidgetFactory>
#include <QtMvvmCore/private/qtmvvm_logging_p.h>
namespace {
@ -35,12 +33,6 @@ SettingsDialog::SettingsDialog(ViewModel *viewModel, QWidget *parent) :
initResources();
d->ui->setupUi(this);
//TODO ???
// d->ui->buttonBox->button(QDialogButtonBox::Ok)->setAutoDefault(false);
// d->ui->buttonBox->button(QDialogButtonBox::Cancel)->setAutoDefault(false);
// d->ui->buttonBox->button(QDialogButtonBox::Apply)->setAutoDefault(false);
// d->ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setAutoDefault(false);
// d->ui->buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
connect(d->ui->buttonBox, &QDialogButtonBox::clicked,
d, &SettingsDialogPrivate::buttonBoxClicked);
connect(d->ui->filterLineEdit, &QLineEdit::textChanged,
@ -207,13 +199,7 @@ void SettingsDialogPrivate::createEntry(const SettingsElements::Entry &entry, QW
});
content = btn;
} else {
auto presenter = dynamic_cast<WidgetsPresenter*>(CoreApp::instance()->presenter());
if(!presenter) {
logWarning() << "Unable to convert QtMvvm::CoreApp::presenter to a QtMvvm::WidgetsPresenter - cannot create settings entry";
return;
}
auto widgetFactory = presenter->inputWidgetFactory();
auto widgetFactory = WidgetsPresenterPrivate::currentPresenter()->inputWidgetFactory();
content = widgetFactory->createInput(entry.type, sectionWidget, entry.properties);
if(!content) {
logWarning() << "Failed to create settings widget for type" << entry.type;
@ -474,13 +460,11 @@ void SettingsDialogPrivate::filterTextChanged(const QString &searchText)
CategoryItemDelegate::CategoryItemDelegate(std::function<void (int)> updateFunc, const QSize &iconSize, int layoutSpacing, QObject *parent) :
CategoryItemDelegate::CategoryItemDelegate(const std::function<void(int)> &updateFunc, const QSize &iconSize, int layoutSpacing, QObject *parent) :
QStyledItemDelegate(parent),
_iconSize(),
_iconSize(iconSize + QSize(0, layoutSpacing)),
_updateFunc(updateFunc)
{
this->_iconSize = iconSize + QSize(0, layoutSpacing);
}
{}
QSize CategoryItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{

6
src/mvvmsettingswidgets/settingsdialog.h → src/mvvmwidgets/settingsdialog.h

@ -3,16 +3,16 @@
#include <QtCore/qscopedpointer.h>
#include <QtMvvmSettingsCore/settingsviewmodel.h>
#include <QtMvvmCore/settingsviewmodel.h>
#include <QtWidgets/qdialog.h>
#include "QtMvvmSettingsWidgets/qtmvvmsettingswidgets_global.h"
#include "QtMvvmWidgets/qtmvvmwidgets_global.h"
namespace QtMvvm {
class SettingsDialogPrivate;
class Q_MVVMSETTINGSWIDGETS_EXPORT SettingsDialog : public QDialog
class Q_MVVMWIDGETS_EXPORT SettingsDialog : public QDialog
{
Q_OBJECT

0
src/mvvmsettingswidgets/settingsdialog.ui → src/mvvmwidgets/settingsdialog.ui

6
src/mvvmsettingswidgets/settingsdialog_p.h → src/mvvmwidgets/settingsdialog_p.h

@ -12,7 +12,7 @@
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QAbstractButton>
#include "qtmvvmsettingswidgets_global.h"
#include "qtmvvmwidgets_global.h"
#include "settingsdialog.h"
namespace Ui {
@ -24,8 +24,8 @@ namespace QtMvvm {
class CategoryItemDelegate : public QStyledItemDelegate
{
public:
CategoryItemDelegate(std::function<void(int)> _updateFunc,
const QSize &_iconSize,
CategoryItemDelegate(const std::function<void(int)> &updateFunc,
const QSize &iconSize,
int layoutSpacing,
QObject *parent = nullptr);

3
src/mvvmwidgets/widgetspresenter.cpp

@ -1,6 +1,7 @@
#include "widgetspresenter.h"
#include "widgetspresenter_p.h"
#include "ipresentingview.h"
#include "settingsdialog.h"
#include <QtCore/QMetaProperty>
@ -395,7 +396,7 @@ void WidgetsPresenter::presentOtherDialog(const MessageConfig &config, QPointer<
WidgetsPresenterPrivate::WidgetsPresenterPrivate() :
inputViewFactory(new InputWidgetFactory()),
implicitMappings(),
implicitMappings({&SettingsDialog::staticMetaObject}),
explicitMappings()
{}

4
src/src.pro

@ -4,9 +4,7 @@ CONFIG += ordered
SUBDIRS += mvvmcore \
mvvmwidgets \
mvvmquick \
imports \
mvvmsettingscore \
mvvmsettingswidgets
imports
prepareRecursiveTarget(lrelease)
QMAKE_EXTRA_TARGETS += lrelease

4
sync.profile

@ -1,9 +1,7 @@
%modules = (
"QtMvvmCore" => "$basedir/src/mvvmcore",
"QtMvvmWidgets" => "$basedir/src/mvvmwidgets",
"QtMvvmQuick" => "$basedir/src/mvvmquick",
"QtMvvmSettingsCore" => "$basedir/src/mvvmsettingscore",
"QtMvvmSettingsWidgets" => "$basedir/src/mvvmsettingswidgets"
"QtMvvmQuick" => "$basedir/src/mvvmquick"
);
# Force generation of camel case headers for classes inside QtDataSync namespaces

Loading…
Cancel
Save