Merge branch 'demmm-qml' into qml

This commit is contained in:
Adriaan de Groot 2020-01-24 17:00:46 +01:00
commit 0c65ecf53e
4 changed files with 101 additions and 11 deletions

View File

@ -1,6 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2020, Adriaan de Groot <groot@kde.org>
* Copyright 2020, Anke Boersma <demm@kaosx.us>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -18,6 +19,8 @@
#include "DummyQmlViewStep.h"
#include <QVariant>
DummyQmlViewStep::DummyQmlViewStep( QObject* parent )
: Calamares::QmlViewStep( "dummyqml", parent )
{
@ -28,8 +31,22 @@ DummyQmlViewStep::~DummyQmlViewStep() {}
QString
DummyQmlViewStep::prettyName() const
{
return tr( "Example QML page." );
return m_notesName ? m_notesName->get() : tr( "Notes" );
}
void
DummyQmlViewStep::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( DummyQmlViewStepFactory, registerPlugin< DummyQmlViewStep >(); )

View File

@ -1,6 +1,7 @@
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2020, Adriaan de Groot <groot@kde.org>
* Copyright 2020, Anke Boersma <demm@kaosx.us>
*
* Calamares is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -19,10 +20,14 @@
#ifndef DUMMYQMLVIEWSTEP_H
#define DUMMYQMLVIEWSTEP_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 DummyQmlViewStep : public Calamares::QmlViewStep
class PLUGINDLLEXPORT DummyQmlViewStep : public Calamares::QmlViewStep
{
Q_OBJECT
@ -30,9 +35,12 @@ public:
DummyQmlViewStep( QObject* parent = nullptr );
virtual ~DummyQmlViewStep() override;
virtual QString prettyName() const 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( DummyQmlViewStepFactory )

View File

@ -20,3 +20,7 @@ search: both
# Name of the QML file. If not set, uses the name of the module.
filename: dummyqml
qmlLabel:
notes: "Release Notes"
notes[nl]: "Opmerkingen"

View File

@ -1,12 +1,73 @@
import QtQuick 2.3
/* === This file is part of Calamares - <https://github.com/calamares> ===
*
* Copyright 2020, Anke Boersma <demm@kaosx.us>
*
* 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 <http://www.gnu.org/licenses/>.
*/
Rectangle {
width: 200
height: 100
color: "red"
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
Text {
anchors.centerIn: parent
text: "Hello, World!"
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("<h3>Generic GNU/Linux 2017.8 LTS <quote>Soapy Sousaphone</quote></h3>
<p>This an example QML file, showing options in RichText with Flickable content.</p>
<p>QML with RichText can use HTML tags, Flickable content is useful for touchscreens.</p>
<p><b>This is bold text</b></p>
<p><i>This is italic text</i></p>
<p><u>This is underlined text</u></p>
<p><strike>This is strikethrough</strike></p>
<p>Code example:
<code>ls -l /home</code></p>
<p><b>Lists:</b></p>
<ul>
<li>Intel CPU systems</li>
<li>AMD CPU systems</li>
</ul>
<p>The vertical scrollbar is adjustable, current width set to 10.</p>")
}
}
}