A ViewModel for a generic settings dialog based of an XML settings file. More...
#include <settingsviewmodel.h>
Public Slots | |
virtual void | callAction (const QString &key, const QVariantMap ¶meters) |
Is called when an action type edit is pressed. More... | |
void | setSettingsSetupLoader (QtMvvm::ISettingsSetupLoader *settingsSetupLoader) |
WRITE accessor for SettingsViewModel::settingsSetupLoader. | |
Public Slots inherited from QtMvvm::ViewModel | |
virtual void | onResult (quint32 requestCode, const QVariant &result) |
Called by the presenter when a result of a showed viewmodel is ready. More... | |
Signals | |
void | settingsSetupLoaderChanged (QtMvvm::ISettingsSetupLoader *settingsSetupLoader, QPrivateSignal) |
NOTIFY accessor for SettingsViewModel::settingsSetupLoader. | |
void | beginLoadSetup () |
Is emitted when the initialization has been completed and the viewmodel is ready for loading settings. | |
Signals inherited from QtMvvm::ViewModel | |
void | resultReady (const QVariant &result) |
Should be emitted when the viewmodels result is ready. More... | |
Public Member Functions | |
Q_INVOKABLE | SettingsViewModel (QObject *parent=nullptr) |
Invokable constructor. | |
virtual bool | canRestoreDefaults () const |
READ accessor for SettingsViewModel::canRestoreDefaults. | |
virtual QtMvvm::MessageConfig | restoreConfig () const |
READ accessor for SettingsViewModel::restoreConfig. | |
ISettingsSetupLoader * | settingsSetupLoader () const |
READ accessor for SettingsViewModel::settingsSetupLoader. | |
SettingsElements::Setup | loadSetup (const QString &frontend) const |
Loads the settings setup of the prepared file for the given frontend. More... | |
QSettings * | settings () const |
Returns the settings this viewmodel operates on. | |
virtual Q_INVOKABLE QVariant | loadValue (const QString &key, const QVariant &defaultValue={}) const |
Loads the value for the given key from the settings. More... | |
virtual Q_INVOKABLE void | saveValue (const QString &key, const QVariant &value) |
Saves the value with the given key. More... | |
virtual Q_INVOKABLE void | resetValue (const QString &key) |
Resets the value or group identified by the key. More... | |
Public Member Functions inherited from QtMvvm::ViewModel | |
ViewModel (QObject *parent=nullptr) | |
Default constructor with parent. | |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
virtual const QMetaObject * | metaObject () const |
QString | objectName () const |
void | setObjectName (const QString &name) |
bool | isWidgetType () const |
bool | isWindowType () const |
bool | signalsBlocked () const |
bool | blockSignals (bool block) |
QThread * | thread () const |
void | moveToThread (QThread *targetThread) |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
void | killTimer (int id) |
T | findChild (const QString &name, Qt::FindChildOptions options) const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const |
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const |
const QObjectList & | children () const |
void | setParent (QObject *parent) |
void | installEventFilter (QObject *filterObj) |
void | removeEventFilter (QObject *obj) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const |
bool | disconnect (const QObject *receiver, const char *method) const |
void | dumpObjectTree () |
void | dumpObjectInfo () |
void | dumpObjectTree () const |
void | dumpObjectInfo () const |
bool | setProperty (const char *name, const QVariant &value) |
QVariant | property (const char *name) const |
QList< QByteArray > | dynamicPropertyNames () const |
void | destroyed (QObject *obj) |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const |
bool | inherits (const char *className) const |
void | deleteLater () |
Static Public Member Functions | |
static QVariantHash | showParams (QSettings *settings, const QString &setupFile={}) |
Generates show parameter to show a settings viewmodel via ViewModel::show. More... | |
Static Public Member Functions inherited from QObject | |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Static Public Attributes | |
static const QString | paramSettings |
The parameter for a QSettings object for the onInit() method. More... | |
static const QString | paramSetupFile |
The parameter for a settings setup file for the onInit() method. More... | |
Protected Member Functions | |
void | onInit (const QVariantHash ¶ms) override |
Called by the presenter to initialize the viewmodel. More... | |
Protected Member Functions inherited from QtMvvm::ViewModel | |
template<typename TViewModel > | |
void | show (const QVariantHash ¶ms={}) const |
Show another viewmodel as a child of this one. More... | |
void | show (const char *viewModelName, const QVariantHash ¶ms={}) const |
Show another viewmodel as a child of this one. More... | |
void | show (const QMetaObject *viewMetaObject, const QVariantHash ¶ms={}) const |
Show another viewmodel as a child of this one. More... | |
template<typename TViewModel > | |
void | showForResult (quint32 requestCode, const QVariantHash ¶ms={}) const |
Show another viewmodel as a child of this one and expect its result. More... | |
void | showForResult (quint32 requestCode, const char *viewModelName, const QVariantHash ¶ms={}) const |
Show another viewmodel as a child of this one and expect its result. More... | |
void | showForResult (quint32 requestCode, const QMetaObject *viewMetaObject, const QVariantHash ¶ms={}) const |
Show another viewmodel as a child of this one and expect its result. More... | |
Protected Member Functions inherited from QObject | |
QObject * | sender () const |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
virtual void | childEvent (QChildEvent *event) |
virtual void | customEvent (QEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
Properties | |
bool | canRestoreDefaults |
Specifies if restoring the defaults is generally allowed. More... | |
QtMvvm::MessageConfig | restoreConfig |
The message configuration to be used to for a dialog to ask for settings restore. More... | |
QtMvvm::ISettingsSetupLoader | settingsSetupLoader |
The settings setup loader to use to create the settings dialog. Is an injected property. More... | |
Properties inherited from QObject | |
objectName | |
A ViewModel for a generic settings dialog based of an XML settings file.
It's a ready made viewmodel to show a settings dialog. See The XML settings format. To show the dialog, call show from another ViewModel or the CoreApp:
Definition at line 17 of file settingsviewmodel.h.
|
virtualslot |
Is called when an action type edit is pressed.
key | The key of the entry that triggered the action |
parameters | A map with additional parameters for the action call |
This method is called by the GUI when an entry with the action type is pressed by the user. The key is what would normally be used as the settings key. The parameters are deduced from the settings XML. See the type documentation for more details.
QtMvvm::SettingsViewModel::loadSetup | ( | const QString & | frontend | ) | const |
Loads the settings setup of the prepared file for the given frontend.
frontend | The name of the current frontend |
If loading fails an empty setup is returned. Logging is performed internally, so you can just proceed without error checking and show an empty settings dialog.
|
virtual |
Loads the value for the given key from the settings.
key | The full key of the settings entry to be loaded |
defaultValue | a default value to return in case the value is not found in the settings |
You can override this method if you want to support loading and saving settings from a different source then the normally used QSettings
|
overrideprotectedvirtual |
Called by the presenter to initialize the viewmodel.
params | The parameters to initialize the viewmodel with |
This method is called by the presenter right after creating the view and reparenting the viewmodel to the view. The parameters are the ones that have been passed to the show method called to show this viewmodel instance. Reimplement this method if you need to perform initializations after beeing assigned to a viewmodel or if you want to support a parametrized viewmodel.
Reimplemented from QtMvvm::ViewModel.
|
virtual |
Resets the value or group identified by the key.
key | The full key of the settings entry to be resetted |
You can override this method if you want to support loading and saving settings from a different source then the normally used QSettings
Saves the value with the given key.
key | The full key of the settings entry to be saved |
value | The value to be stored under the key |
You can override this method if you want to support loading and saving settings from a different source then the normally used QSettings
|
static |
Generates show parameter to show a settings viewmodel via ViewModel::show.
settings | The QSettings to operate on. Can be null to use the default settings |
setupFile | The path to a file to be used to create the settings. Can be empty to use the default path |
It's a shortcut to generate parameters for the show methods to show a settings viewmodel. Use them as:
|
static |
The parameter for a QSettings object for the onInit() method.
Value: "settings"
Definition at line 32 of file settingsviewmodel.h.
|
static |
The parameter for a settings setup file for the onInit() method.
Value: "setupFile"
Definition at line 34 of file settingsviewmodel.h.
|
read |
Specifies if restoring the defaults is generally allowed.
Default: true
Restoring defaults is only allowed if both this property and the attribute of the settings XML are true.
Accessors | |
---|---|
READ | canRestoreDefaults() |
CONSTANT |
Definition at line 22 of file settingsviewmodel.h.
|
read |
The message configuration to be used to for a dialog to ask for settings restore.
Default: A basic question messagebox
If you want to modify the text or options, you can replace the messagebox with another dialog.
Accessors | |
---|---|
READ | restoreConfig() |
CONSTANT |
Definition at line 24 of file settingsviewmodel.h.
|
readwrite |
The settings setup loader to use to create the settings dialog. Is an injected property.
Default: Injected
Do not set this property yourself. It is automatically injected when showing the viewmodel. You can use the ServiceRegistry::registerInterface if you need to use a loader different from the default one.
Accessors | |
---|---|
READ | settingsSetupLoader() |
WRITE | setSettingsSetupLoader() |
NOTIFY | settingsSetupLoaderChanged() |
Definition at line 27 of file settingsviewmodel.h.