[libcalamaresui] Register Global Storage (as 'Global') for QML

This commit is contained in:
Adriaan de Groot 2020-05-01 09:58:38 +02:00
parent dc523525c2
commit 8af17fafe1
3 changed files with 13 additions and 4 deletions

View File

@ -39,12 +39,8 @@ public:
//NOTE: thread safety is guaranteed by JobQueue, which executes jobs one by one.
// If at any time jobs become concurrent, this class must be made thread-safe.
bool contains( const QString& key ) const;
int count() const;
void insert( const QString& key, const QVariant& value );
QStringList keys() const;
int remove( const QString& key );
QVariant value( const QString& key ) const;
/// @brief dump keys and values to the debug log
void debugDump() const;
@ -83,6 +79,12 @@ public:
*/
const QVariantMap& data() const { return m; }
public Q_SLOTS:
bool contains( const QString& key ) const;
int count() const;
QStringList keys() const;
QVariant value( const QString& key ) const;
signals:
void changed();

View File

@ -19,6 +19,8 @@
#include "Qml.h"
#include "Branding.h"
#include "GlobalStorage.h"
#include "JobQueue.h"
#include "ViewManager.h"
#include "utils/Logger.h"
@ -164,6 +166,10 @@ registerCalamaresModels()
"io.calamares.core", 1, 0, "ViewManager", []( QQmlEngine*, QJSEngine* ) -> QObject* {
return Calamares::ViewManager::instance();
} );
qmlRegisterSingletonType< Calamares::GlobalStorage >(
"io.calamares.core", 1, 0, "Global", []( QQmlEngine*, QJSEngine* ) -> QObject* {
return Calamares::JobQueue::instance()->globalStorage();
} );
}
}

View File

@ -36,6 +36,7 @@ namespace CalamaresUtils
* The following objects are made available globally:
* - `io.calamares.ui.Branding` (an object, see Branding.h)
* - `io.calamares.core.ViewManager` (a model, see ViewManager.h)
* - `io.calamares.core.Global` (an object, see GlobalStorage.h)
* Additionally, modules based on QmlViewStep have a context
* property `config` referring to that module's configuration (if any).
*/