From 5e03df723ca7ecaf376cf10a7a24ae9caaa4714f Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Tue, 24 Mar 2020 12:02:16 +0100 Subject: [PATCH] [netinstall] Add a (stub) Config object - Add initial definition of Config object, which will extract the model- setting and loading code from the page, and which is also prep-work for a QML version of this module. - While here, remove superfluous code --- src/modules/netinstall/CMakeLists.txt | 1 + src/modules/netinstall/Config.cpp | 34 +++++++++++++++++ src/modules/netinstall/Config.h | 50 +++++++++++++++++++++++++ src/modules/netinstall/PackageModel.cpp | 8 +--- 4 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 src/modules/netinstall/Config.cpp create mode 100644 src/modules/netinstall/Config.h diff --git a/src/modules/netinstall/CMakeLists.txt b/src/modules/netinstall/CMakeLists.txt index 9d0167670..3e6ac3cb5 100644 --- a/src/modules/netinstall/CMakeLists.txt +++ b/src/modules/netinstall/CMakeLists.txt @@ -2,6 +2,7 @@ calamares_add_plugin( netinstall TYPE viewmodule EXPORT_MACRO PLUGINDLLEXPORT_PRO SOURCES + Config.cpp NetInstallViewStep.cpp NetInstallPage.cpp PackageTreeItem.cpp diff --git a/src/modules/netinstall/Config.cpp b/src/modules/netinstall/Config.cpp new file mode 100644 index 000000000..9218fab22 --- /dev/null +++ b/src/modules/netinstall/Config.cpp @@ -0,0 +1,34 @@ +/* + * Copyright 2016, Luca Giambonini + * Copyright 2016, Lisa Vitolo + * Copyright 2017, Kyle Robbertze + * Copyright 2017-2018, 2020, Adriaan de Groot + * Copyright 2017, Gabriel Craciunescu + * + * 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 "Config.h" + +Config::Config( QObject* parent ) + : m_model( nullptr ) +{ +} + +void +Config::setStatus( const QString& s ) +{ + m_status = s; + emit statusChanged( m_status ); +} diff --git a/src/modules/netinstall/Config.h b/src/modules/netinstall/Config.h new file mode 100644 index 000000000..497871633 --- /dev/null +++ b/src/modules/netinstall/Config.h @@ -0,0 +1,50 @@ +/* + * Copyright 2016, Luca Giambonini + * Copyright 2016, Lisa Vitolo + * Copyright 2017, Kyle Robbertze + * Copyright 2017-2018, 2020, Adriaan de Groot + * + * 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 NETINSTALL_CONFIG_H +#define NETINSTALL_CONFIG_H + +#include "PackageModel.h" + +#include + +class Config : public QObject +{ + Q_OBJECT + + Q_PROPERTY( PackageModel* packageModel MEMBER m_model FINAL ) + + Q_PROPERTY( QString status READ status WRITE setStatus NOTIFY statusChanged FINAL ) + +public: + Config( QObject* parent = nullptr ); + + QString status() const { return m_status; } + void setStatus( const QString& s ); + +signals: + void statusChanged( QString status ); + +private: + QString m_status; + PackageModel* m_model = nullptr; +}; + +#endif diff --git a/src/modules/netinstall/PackageModel.cpp b/src/modules/netinstall/PackageModel.cpp index 3a4deaf9a..26b5eb552 100644 --- a/src/modules/netinstall/PackageModel.cpp +++ b/src/modules/netinstall/PackageModel.cpp @@ -1,7 +1,7 @@ /* === This file is part of Calamares - === * * Copyright (c) 2017, Kyle Robbertze - * Copyright 2017-2018, Adriaan de Groot + * Copyright 2017-2018, 2020, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -214,12 +214,6 @@ PackageModel::getItemPackages( PackageTreeItem* item ) const return selectedPackages; } -static bool -getBool( const YAML::Node& itemDefinition, const char* key ) -{ - return itemDefinition[ key ] ? CalamaresUtils::yamlToVariant( itemDefinition[ key ] ).toBool() : false; -} - void PackageModel::setupModelData( const QVariantList& groupList, PackageTreeItem* parent ) {