Merge branch 'master' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
f431863593
5
CHANGES
5
CHANGES
@ -6,10 +6,11 @@ website will have to do for older versions.
|
|||||||
# 3.2.24 (unreleased) #
|
# 3.2.24 (unreleased) #
|
||||||
|
|
||||||
This release contains contributions from (alphabetically by first name):
|
This release contains contributions from (alphabetically by first name):
|
||||||
- No external contributors yet
|
- Gaël PORTAY
|
||||||
|
|
||||||
## Core ##
|
## Core ##
|
||||||
- No core changes yet
|
- There is now a bash-completions script for Calamares; turn on
|
||||||
|
the (CMake-time) option INSTALL_COMPLETION to get it. (Thanks Gaël)
|
||||||
|
|
||||||
## Modules ##
|
## Modules ##
|
||||||
- No module changes yet
|
- No module changes yet
|
||||||
|
@ -49,6 +49,7 @@ set( CALAMARES_VERSION_RC 1 ) # Set to 0 during release cycle, 1 during develop
|
|||||||
#
|
#
|
||||||
option( INSTALL_CONFIG "Install configuration files" OFF )
|
option( INSTALL_CONFIG "Install configuration files" OFF )
|
||||||
option( INSTALL_POLKIT "Install Polkit configuration" ON )
|
option( INSTALL_POLKIT "Install Polkit configuration" ON )
|
||||||
|
option( INSTALL_COMPLETION "Install shell completions" OFF )
|
||||||
option( BUILD_TESTING "Build the testing tree." ON )
|
option( BUILD_TESTING "Build the testing tree." ON )
|
||||||
option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
|
option( WITH_PYTHON "Enable Python modules API (requires Boost.Python)." ON )
|
||||||
option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF )
|
option( WITH_PYTHONQT "Enable next generation Python modules API (experimental, requires PythonQt)." OFF )
|
||||||
@ -389,6 +390,13 @@ list( SORT CALAMARES_TRANSLATION_LANGUAGES )
|
|||||||
|
|
||||||
add_subdirectory( lang ) # i18n tools
|
add_subdirectory( lang ) # i18n tools
|
||||||
|
|
||||||
|
if ( INSTALL_COMPLETION )
|
||||||
|
if( NOT CMAKE_INSTALL_BASHCOMPLETIONDIR )
|
||||||
|
set( CMAKE_INSTALL_BASHCOMPLETIONDIR "${CMAKE_INSTALL_DATADIR}/bash-completion/completions" )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
install( FILES ${CMAKE_SOURCE_DIR}/data/completion/bash/calamares DESTINATION "${CMAKE_INSTALL_BASHCOMPLETIONDIR}" )
|
||||||
|
endif()
|
||||||
|
|
||||||
### Example Distro
|
### Example Distro
|
||||||
#
|
#
|
||||||
|
36
data/completion/bash/calamares
Normal file
36
data/completion/bash/calamares
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
|
#
|
||||||
|
# Copyright 2020, Gaël PORTAY <gael.portay@gmail.com>
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
|
||||||
|
_calamares()
|
||||||
|
{
|
||||||
|
local cur prev words cword
|
||||||
|
_init_completion || return
|
||||||
|
|
||||||
|
case "$prev" in
|
||||||
|
-D)
|
||||||
|
COMPREPLY=( $( compgen -W "$( seq 0 1 8 )" -- "$cur" ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-c|--config)
|
||||||
|
_filedir
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
COMPREPLY=( $( compgen -W "-h --help -v --version -d --debug -D -c --config -X -xdg-config -T --debug-translation" -- "$cur" ) )
|
||||||
|
} &&
|
||||||
|
complete -F _calamares calamares
|
@ -151,6 +151,10 @@ doAutopartition( PartitionCoreModule* core, Device* dev, Choices::AutoPartitionO
|
|||||||
KPM_PARTITION_FLAG( None ) );
|
KPM_PARTITION_FLAG( None ) );
|
||||||
PartitionInfo::setFormat( efiPartition, true );
|
PartitionInfo::setFormat( efiPartition, true );
|
||||||
PartitionInfo::setMountPoint( efiPartition, o.efiPartitionMountPoint );
|
PartitionInfo::setMountPoint( efiPartition, o.efiPartitionMountPoint );
|
||||||
|
if ( gs->contains( "efiSystemPartitionName" ) )
|
||||||
|
{
|
||||||
|
efiPartition->setLabel( gs->value( "efiSystemPartitionName" ).toString() );
|
||||||
|
}
|
||||||
core->createPartition( dev, efiPartition, KPM_PARTITION_FLAG_ESP );
|
core->createPartition( dev, efiPartition, KPM_PARTITION_FLAG_ESP );
|
||||||
firstFreeSector = lastSector + 1;
|
firstFreeSector = lastSector + 1;
|
||||||
}
|
}
|
||||||
|
@ -538,6 +538,12 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
|
|||||||
gs->insert( "efiSystemPartitionSize", CalamaresUtils::getString( configurationMap, "efiSystemPartitionSize" ) );
|
gs->insert( "efiSystemPartitionSize", CalamaresUtils::getString( configurationMap, "efiSystemPartitionSize" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Read and parse key efiSystemPartitionName
|
||||||
|
if ( configurationMap.contains( "efiSystemPartitionName" ) )
|
||||||
|
{
|
||||||
|
gs->insert( "efiSystemPartitionName", CalamaresUtils::getString( configurationMap, "efiSystemPartitionName" ) );
|
||||||
|
}
|
||||||
|
|
||||||
// SWAP SETTINGS
|
// SWAP SETTINGS
|
||||||
//
|
//
|
||||||
// This is a bit convoluted because there's legacy settings to handle as well
|
// This is a bit convoluted because there's legacy settings to handle as well
|
||||||
|
@ -107,7 +107,7 @@ mapForPartition( Partition* partition, const QString& uuid )
|
|||||||
Logger::CDebug deb;
|
Logger::CDebug deb;
|
||||||
using TR = Logger::DebugRow< const char* const, const QString& >;
|
using TR = Logger::DebugRow< const char* const, const QString& >;
|
||||||
deb << Logger::SubEntry << "mapping for" << partition->partitionPath() << partition->deviceNode()
|
deb << Logger::SubEntry << "mapping for" << partition->partitionPath() << partition->deviceNode()
|
||||||
<< TR( "mtpoint:", PartitionInfo::mountPoint( partition ) ) << TR( "fs:", map[ "fs" ].toString() )
|
<< TR( "mountPoint:", PartitionInfo::mountPoint( partition ) ) << TR( "fs:", map[ "fs" ].toString() )
|
||||||
<< TR( "fsName", map[ "fsName" ].toString() ) << TR( "uuid", uuid )
|
<< TR( "fsName", map[ "fsName" ].toString() ) << TR( "uuid", uuid )
|
||||||
<< TR( "claimed", map[ "claimed" ].toString() );
|
<< TR( "claimed", map[ "claimed" ].toString() );
|
||||||
|
|
||||||
|
@ -7,6 +7,10 @@ efiSystemPartition: "/boot/efi"
|
|||||||
# If nothing is specified, the default size of 300MiB will be used.
|
# If nothing is specified, the default size of 300MiB will be used.
|
||||||
# efiSystemPartitionSize: 300M
|
# efiSystemPartitionSize: 300M
|
||||||
|
|
||||||
|
# This optional setting specifies the name of the EFI system partition.
|
||||||
|
# If nothing is specified, the partition name is left unset.
|
||||||
|
# efiSystemPartitionName: EFI
|
||||||
|
|
||||||
# In autogenerated partitioning, allow the user to select a swap size?
|
# In autogenerated partitioning, allow the user to select a swap size?
|
||||||
# If there is exactly one choice, no UI is presented, and the user
|
# If there is exactly one choice, no UI is presented, and the user
|
||||||
# cannot make a choice -- this setting is used. If there is more than
|
# cannot make a choice -- this setting is used. If there is more than
|
||||||
|
BIN
src/modules/welcomeq/img/language-icon-48px.png
Normal file
BIN
src/modules/welcomeq/img/language-icon-48px.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
100
src/modules/welcomeq/release_notes.qml
Normal file
100
src/modules/welcomeq/release_notes.qml
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/* === 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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import io.calamares.ui 1.0
|
||||||
|
|
||||||
|
import QtQuick 2.7
|
||||||
|
import QtQuick.Controls 2.2
|
||||||
|
import QtQuick.Window 2.2
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: parent.width
|
||||||
|
height: parent.height
|
||||||
|
focus: true
|
||||||
|
color: "#f2f2f2"
|
||||||
|
|
||||||
|
Flickable {
|
||||||
|
id: flick
|
||||||
|
anchors.fill: parent
|
||||||
|
contentHeight: 3500
|
||||||
|
|
||||||
|
ScrollBar.vertical: ScrollBar {
|
||||||
|
id: fscrollbar
|
||||||
|
width: 10
|
||||||
|
policy: ScrollBar.AlwaysOn
|
||||||
|
}
|
||||||
|
|
||||||
|
TextArea {
|
||||||
|
id: intro
|
||||||
|
x: 130
|
||||||
|
y: 8
|
||||||
|
width: 640
|
||||||
|
font.pointSize: 14
|
||||||
|
textFormat: Text.RichText
|
||||||
|
antialiasing: true
|
||||||
|
activeFocusOnPress: false
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
|
||||||
|
text: qsTr("<h3>%1</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><center>This text will be center-aligned.</center></p>
|
||||||
|
<p><s>This is strikethrough</s></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>").arg(Branding.string(Branding.VersionedName))
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ToolButton {
|
||||||
|
id: toolButton
|
||||||
|
x: 19
|
||||||
|
y: 29
|
||||||
|
width: 105
|
||||||
|
height: 48
|
||||||
|
text: qsTr("Back")
|
||||||
|
hoverEnabled: true
|
||||||
|
onClicked: load.source = ""
|
||||||
|
|
||||||
|
Image {
|
||||||
|
id: image1
|
||||||
|
x: 0
|
||||||
|
y: 13
|
||||||
|
width: 22
|
||||||
|
height: 22
|
||||||
|
source: "img/chevron-left-solid.svg"
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -16,6 +16,7 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
import io.calamares.core 1.0
|
||||||
import io.calamares.ui 1.0
|
import io.calamares.ui 1.0
|
||||||
|
|
||||||
import QtQuick 2.10
|
import QtQuick 2.10
|
||||||
@ -29,21 +30,21 @@ Page
|
|||||||
{
|
{
|
||||||
id: welcome
|
id: welcome
|
||||||
|
|
||||||
header: Item
|
header: Item {
|
||||||
{
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: parent.height
|
height: parent.height
|
||||||
|
|
||||||
Text
|
Text {
|
||||||
{
|
|
||||||
id: welcomeTopText
|
id: welcomeTopText
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
padding: 40
|
||||||
// In QML, QString::arg() only takes one argument
|
// In QML, QString::arg() only takes one argument
|
||||||
text: qsTr("<h3>Welcome to the %1 <quote>%2</quote> installer</h3>").arg(Branding.string(Branding.ProductName)).arg(Branding.string(Branding.Version))
|
text: qsTr("<h3>Welcome to the %1 <quote>%2</quote> installer</h3>
|
||||||
|
<p>This program will ask you some questions and set up %1 on your computer.</p>").arg(Branding.string(Branding.ProductName)).arg(Branding.string(Branding.Version))
|
||||||
}
|
}
|
||||||
Image
|
Image {
|
||||||
{
|
|
||||||
id: welcomeImage
|
id: welcomeImage
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
// imagePath() returns a full pathname, so make it refer to the filesystem
|
// imagePath() returns a full pathname, so make it refer to the filesystem
|
||||||
@ -55,36 +56,31 @@ Page
|
|||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout
|
RowLayout {
|
||||||
{
|
|
||||||
id: buttonBar
|
id: buttonBar
|
||||||
width: parent.width
|
width: parent.width / 1.5
|
||||||
height: 64
|
height: 64
|
||||||
|
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
|
||||||
spacing: Kirigami.Units.largeSpacing* 2
|
spacing: Kirigami.Units.largeSpacing* 2
|
||||||
|
|
||||||
/* Traditionally Calamares has had an "About" button that talks about
|
Button {
|
||||||
* Calamares itself, which just isn't a very useful thing in someone
|
|
||||||
* else's installation ISO.
|
|
||||||
*/
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("About")
|
text: qsTr("About")
|
||||||
icon.name: "dialog-information"
|
icon.name: "dialog-information"
|
||||||
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
|
Kirigami.Theme.backgroundColor: Qt.rgba(Kirigami.Theme.backgroundColor.r, Kirigami.Theme.backgroundColor.g, Kirigami.Theme.backgroundColor.b, 0.4)
|
||||||
Kirigami.Theme.textColor: Kirigami.Theme.textColor
|
Kirigami.Theme.textColor: Kirigami.Theme.textColor
|
||||||
|
|
||||||
visible: false
|
visible: true
|
||||||
onClicked: {
|
onClicked: {
|
||||||
//onClicked: load.source = "file:/usr/share/calamares/branding/kaos_branding/show.qml"
|
//onClicked: load.source = "file:/usr/share/calamares/branding/default/show.qml"
|
||||||
onClicked: load.source = "about.qml"
|
onClicked: load.source = "about.qml"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Button
|
|
||||||
{
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Support")
|
text: qsTr("Support")
|
||||||
icon.name: "system-help"
|
icon.name: "system-help"
|
||||||
@ -94,8 +90,8 @@ Page
|
|||||||
visible: config.supportUrl !== ""
|
visible: config.supportUrl !== ""
|
||||||
onClicked: Qt.openUrlExternally(config.supportUrl)
|
onClicked: Qt.openUrlExternally(config.supportUrl)
|
||||||
}
|
}
|
||||||
Button
|
|
||||||
{
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Known issues")
|
text: qsTr("Known issues")
|
||||||
icon.name: "tools-report-bug"
|
icon.name: "tools-report-bug"
|
||||||
@ -105,8 +101,8 @@ Page
|
|||||||
visible: config.knownIssuesUrl !== ""
|
visible: config.knownIssuesUrl !== ""
|
||||||
onClicked: Qt.openUrlExternally(config.knownIssuesUrl)
|
onClicked: Qt.openUrlExternally(config.knownIssuesUrl)
|
||||||
}
|
}
|
||||||
Button
|
|
||||||
{
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Release notes")
|
text: qsTr("Release notes")
|
||||||
icon.name: "folder-text"
|
icon.name: "folder-text"
|
||||||
@ -114,10 +110,11 @@ Page
|
|||||||
Kirigami.Theme.textColor: Kirigami.Theme.textColor
|
Kirigami.Theme.textColor: Kirigami.Theme.textColor
|
||||||
|
|
||||||
visible: config.releaseNotesUrl !== ""
|
visible: config.releaseNotesUrl !== ""
|
||||||
onClicked: Qt.openUrlExternally(config.releaseNotesUrl)
|
onClicked: load.source = "release_notes.qml"
|
||||||
|
//onClicked: load.source = "file:/usr/share/calamares/release_notes.qml"
|
||||||
}
|
}
|
||||||
Button
|
|
||||||
{
|
Button {
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
text: qsTr("Donate")
|
text: qsTr("Donate")
|
||||||
icon.name: "taxes-finances"
|
icon.name: "taxes-finances"
|
||||||
@ -128,8 +125,41 @@ Page
|
|||||||
onClicked: Qt.openUrlExternally(config.donateUrl)
|
onClicked: Qt.openUrlExternally(config.donateUrl)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loader
|
|
||||||
{
|
RowLayout {
|
||||||
|
id: languageBar
|
||||||
|
width: parent.width /1.2
|
||||||
|
height: 48
|
||||||
|
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.bottomMargin: parent.height /7
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
spacing: Kirigami.Units.largeSpacing* 4
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: parent.width
|
||||||
|
Layout.fillWidth: true
|
||||||
|
focus: true
|
||||||
|
Image {
|
||||||
|
id: image
|
||||||
|
height: 48
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
source: "img/language-icon-48px.png"
|
||||||
|
}
|
||||||
|
|
||||||
|
ComboBox {
|
||||||
|
id: languages
|
||||||
|
anchors.left: image.right
|
||||||
|
width: languageBar.width /1.1
|
||||||
|
textRole: "label"
|
||||||
|
currentIndex: 4 //model.currentIndex
|
||||||
|
model: config.languagesModel
|
||||||
|
onCurrentIndexChanged: console.debug(currentText, currentIndex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Loader {
|
||||||
id:load
|
id:load
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
<qresource>
|
<qresource>
|
||||||
<file alias="welcomeq.qml">welcomeq.qml</file>
|
<file alias="welcomeq.qml">welcomeq.qml</file>
|
||||||
<file alias="about.qml">about.qml</file>
|
<file alias="about.qml">about.qml</file>
|
||||||
|
<file alias="release_notes.qml">release_notes.qml</file>
|
||||||
<file>img/squid.png</file>
|
<file>img/squid.png</file>
|
||||||
<file>img/chevron-left-solid.svg</file>
|
<file>img/chevron-left-solid.svg</file>
|
||||||
|
<file>img/language-icon-48px.png</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
Loading…
Reference in New Issue
Block a user