From c0e1ebb72a2fe3ccaff1cc7e74ec840b2beca88a Mon Sep 17 00:00:00 2001
From: demmm
Date: Sun, 9 Feb 2020 01:03:52 +0100
Subject: [PATCH] adding notesqml, copy of dummyqml included in settings.conf,
commented out
---
settings.conf | 1 +
src/modules/notesqml/CMakeLists.txt | 11 ++++
src/modules/notesqml/NotesQmlViewStep.cpp | 52 ++++++++++++++++
src/modules/notesqml/NotesQmlViewStep.h | 48 +++++++++++++++
src/modules/notesqml/notesqml.conf | 25 ++++++++
src/modules/notesqml/notesqml.qml | 74 +++++++++++++++++++++++
src/modules/notesqml/notesqml.qrc | 5 ++
7 files changed, 216 insertions(+)
create mode 100644 src/modules/notesqml/CMakeLists.txt
create mode 100644 src/modules/notesqml/NotesQmlViewStep.cpp
create mode 100644 src/modules/notesqml/NotesQmlViewStep.h
create mode 100644 src/modules/notesqml/notesqml.conf
create mode 100644 src/modules/notesqml/notesqml.qml
create mode 100644 src/modules/notesqml/notesqml.qrc
diff --git a/settings.conf b/settings.conf
index 1c7b773ff..875af11ad 100644
--- a/settings.conf
+++ b/settings.conf
@@ -87,6 +87,7 @@ modules-search: [ local ]
sequence:
- show:
- welcome
+# - notesqml
# - dummypythonqt
- locale
- keyboard
diff --git a/src/modules/notesqml/CMakeLists.txt b/src/modules/notesqml/CMakeLists.txt
new file mode 100644
index 000000000..6aedab5aa
--- /dev/null
+++ b/src/modules/notesqml/CMakeLists.txt
@@ -0,0 +1,11 @@
+calamares_add_plugin( notesqml
+ TYPE viewmodule
+ EXPORT_MACRO PLUGINDLLEXPORT_PRO
+ SOURCES
+ NotesQmlViewStep.cpp
+ RESOURCES
+ notesqml.qrc
+ LINK_PRIVATE_LIBRARIES
+ calamaresui
+ SHARED_LIB
+)
diff --git a/src/modules/notesqml/NotesQmlViewStep.cpp b/src/modules/notesqml/NotesQmlViewStep.cpp
new file mode 100644
index 000000000..e729c2df7
--- /dev/null
+++ b/src/modules/notesqml/NotesQmlViewStep.cpp
@@ -0,0 +1,52 @@
+/* === This file is part of Calamares - ===
+ *
+ * Copyright 2020, Adriaan de Groot
+ * Copyright 2020, Anke Boersma
+ *
+ * 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 "NotesQmlViewStep.h"
+
+#include
+
+NotesQmlViewStep::NotesQmlViewStep( QObject* parent )
+ : Calamares::QmlViewStep( "notesqml", parent )
+{
+}
+
+NotesQmlViewStep::~NotesQmlViewStep() {}
+
+QString
+NotesQmlViewStep::prettyName() const
+{
+ return m_notesName ? m_notesName->get() : tr( "Notes" );
+}
+
+void
+NotesQmlViewStep::setConfigurationMap( const QVariantMap& configurationMap )
+{
+ Calamares::QmlViewStep::setConfigurationMap( configurationMap ); // call parent implementation
+
+ bool qmlLabel_ok = false;
+ auto qmlLabel = CalamaresUtils::getSubMap( configurationMap, "qmlLabel", qmlLabel_ok );
+
+ if ( qmlLabel.contains( "notes" ) )
+ {
+ m_notesName = new CalamaresUtils::Locale::TranslatedString( qmlLabel, "notes" );
+ }
+
+}
+
+CALAMARES_PLUGIN_FACTORY_DEFINITION( NotesQmlViewStepFactory, registerPlugin< NotesQmlViewStep >(); )
diff --git a/src/modules/notesqml/NotesQmlViewStep.h b/src/modules/notesqml/NotesQmlViewStep.h
new file mode 100644
index 000000000..445b34c81
--- /dev/null
+++ b/src/modules/notesqml/NotesQmlViewStep.h
@@ -0,0 +1,48 @@
+/* === This file is part of Calamares - ===
+ *
+ * Copyright 2020, Adriaan de Groot
+ * Copyright 2020, Anke Boersma
+ *
+ * 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 NOTESQMLVIEWSTEP_H
+#define NOTESQMLVIEWSTEP_H
+
+#include "PluginDllMacro.h"
+#include "locale/TranslatableConfiguration.h"
+#include "utils/CalamaresUtilsSystem.h"
+#include "utils/Variant.h"
+#include "utils/PluginFactory.h"
+#include "viewpages/QmlViewStep.h"
+
+class PLUGINDLLEXPORT NotesQmlViewStep : public Calamares::QmlViewStep
+{
+ Q_OBJECT
+
+public:
+ NotesQmlViewStep( QObject* parent = nullptr );
+ virtual ~NotesQmlViewStep() override;
+
+ QString prettyName() const override;
+
+ void setConfigurationMap( const QVariantMap& configurationMap ) override;
+
+private:
+ CalamaresUtils::Locale::TranslatedString* m_notesName; // As it appears in the sidebar
+};
+
+CALAMARES_PLUGIN_FACTORY_DECLARATION( NotesQmlViewStepFactory )
+
+#endif
diff --git a/src/modules/notesqml/notesqml.conf b/src/modules/notesqml/notesqml.conf
new file mode 100644
index 000000000..1dcc25cff
--- /dev/null
+++ b/src/modules/notesqml/notesqml.conf
@@ -0,0 +1,25 @@
+# QML modules can search for the QML inside the Qt resources
+# (QRC) which are compiled into the module, or in the branding
+# setup for Calamares, (or both of them, with branding taking
+# precedence). This allows the module to ship a default UI and
+# branding to optionally introduce a replacement file.
+#
+# Generally, leave the search method set to "both" because if
+# you don't want to brand the UI, just don't ship a branding
+# QML file for it.
+#
+# To support instanced QML modules, searches in the branding
+# directory look for the full module@instanceid name as well.
+---
+# Search mode. Valid values are "both", "qrc" and "branding"
+search: both
+
+# Name of the QML file. If not set, uses the name of the instance
+# of the module (e.g. if you list this module in `settings.conf`
+# in the *instances* section, you get *id*, otherwise it would
+# normally be "notesqml").
+#filename: notesqml
+
+qmlLabel:
+ notes: "Release Notes"
+ notes[nl]: "Opmerkingen"
diff --git a/src/modules/notesqml/notesqml.qml b/src/modules/notesqml/notesqml.qml
new file mode 100644
index 000000000..0a60fd741
--- /dev/null
+++ b/src/modules/notesqml/notesqml.qml
@@ -0,0 +1,74 @@
+/* === This file is part of Calamares - ===
+ *
+ * Copyright 2020, Anke Boersma
+ *
+ * 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 .
+ */
+
+import QtQuick 2.7
+import QtQuick.Controls 2.2
+import QtQuick.Window 2.2
+import QtQuick.Layouts 1.3
+import QtQuick.Controls.Material 2.1
+
+Item {
+ width: 740
+ height: 420
+
+ Flickable {
+ id: flick
+ anchors.fill: parent
+ contentHeight: 800
+
+ ScrollBar.vertical: ScrollBar {
+ width: 10
+ policy: ScrollBar.AlwaysOn
+ }
+
+ TextArea {
+ id: intro
+ x: 1
+ y: 0
+ width: 720
+ font.pointSize: 14
+ textFormat: Text.RichText
+ antialiasing: true
+ activeFocusOnPress: false
+ wrapMode: Text.WordWrap
+
+ text: qsTr("Generic GNU/Linux 2020.2 LTS Turgid Tuba
+ This an example QML file, showing options in RichText with Flickable content.
+
+ QML with RichText can use HTML tags, Flickable content is useful for touchscreens.
+
+ This is bold text
+ This is italic text
+ This is underlined text
+ This text will be center-aligned.
+ This is strikethrough
+
+ Code example:
+ ls -l /home
+
+ Lists:
+
+ - Intel CPU systems
+ - AMD CPU systems
+
+
+ The vertical scrollbar is adjustable, current width set to 10.
")
+
+ }
+ }
+}
diff --git a/src/modules/notesqml/notesqml.qrc b/src/modules/notesqml/notesqml.qrc
new file mode 100644
index 000000000..a4aa1909f
--- /dev/null
+++ b/src/modules/notesqml/notesqml.qrc
@@ -0,0 +1,5 @@
+
+
+ notesqml.qml
+
+