diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp new file mode 100644 index 000000000..2f1fcd731 --- /dev/null +++ b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.cpp @@ -0,0 +1,69 @@ +/* === This file is part of Calamares - === + * + * Copyright 2016, Teo Mrnjavac + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#include "PythonQtGlobalStorageWrapper.h" + +#include "GlobalStorage.h" + + +GlobalStorage::GlobalStorage( Calamares::GlobalStorage* gs ) + : QObject( gs ) + , m_gs( gs ) +{} + + +bool +GlobalStorage::contains( const QString& key ) const +{ + return m_gs->contains( key ); +} + + +int +GlobalStorage::count() const +{ + return m_gs->count(); +} + + +void +GlobalStorage::insert( const QString& key, const QVariant& value ) +{ + m_gs->insert( key, value ); +} + + +QStringList +GlobalStorage::keys() const +{ + return m_gs->keys(); +} + + +int +GlobalStorage::remove( const QString& key ) +{ + return m_gs->remove( key ); +} + + +QVariant +GlobalStorage::value( const QString& key ) const +{ + return m_gs->value( key ); +} diff --git a/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h new file mode 100644 index 000000000..415dd33b6 --- /dev/null +++ b/src/libcalamaresui/viewpages/PythonQtGlobalStorageWrapper.h @@ -0,0 +1,55 @@ +/* === This file is part of Calamares - === + * + * Copyright 2016, Teo Mrnjavac + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +#ifndef PYTHONQTGLOBALSTORAGEWRAPPER_H +#define PYTHONQTGLOBALSTORAGEWRAPPER_H + + +#include + +namespace Calamares +{ +class GlobalStorage; +} + + +/** + * @brief This GlobalStorage class is a namespace-free wrapper for + * Calamares::GlobalStorage. This is unfortunately a necessity + * because PythonQt doesn't like namespaces. + */ +class GlobalStorage : public QObject +{ + Q_OBJECT +public: + explicit GlobalStorage( Calamares::GlobalStorage* gs ); + virtual ~GlobalStorage() {} + +public slots: + 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; + +private: + Calamares::GlobalStorage* m_gs; +}; + +#endif // PYTHONQTGLOBALSTORAGEWRAPPER_H