Merge branch 'qml-globalstorage'

- Make GlobalStorage generally available to QML modules (as Global
  from io.calamares.core)
This commit is contained in:
Adriaan de Groot 2020-05-01 14:38:05 +02:00
commit 7d8e54ba47
16 changed files with 29 additions and 20 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"
@ -160,10 +162,14 @@ registerCalamaresModels()
"io.calamares.ui", 1, 0, "Branding", []( QQmlEngine*, QJSEngine* ) -> QObject* {
return Calamares::Branding::instance();
} );
qmlRegisterSingletonType< Calamares::Branding >(
qmlRegisterSingletonType< Calamares::ViewManager >(
"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).
*/

View File

@ -20,8 +20,8 @@
#ifndef VIEWSTEP_H
#define VIEWSTEP_H
#include "Job.h"
#include "DllMacro.h"
#include "Job.h"
#include "modulesystem/InstanceKey.h"
#include "modulesystem/Requirement.h"