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) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- No external contributors yet
|
||||
- Gaël PORTAY
|
||||
|
||||
## 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 ##
|
||||
- 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_POLKIT "Install Polkit configuration" ON )
|
||||
option( INSTALL_COMPLETION "Install shell completions" OFF )
|
||||
option( BUILD_TESTING "Build the testing tree." 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 )
|
||||
@ -389,6 +390,13 @@ list( SORT CALAMARES_TRANSLATION_LANGUAGES )
|
||||
|
||||
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
|
||||
#
|
||||
|
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 ) );
|
||||
PartitionInfo::setFormat( efiPartition, true );
|
||||
PartitionInfo::setMountPoint( efiPartition, o.efiPartitionMountPoint );
|
||||
if ( gs->contains( "efiSystemPartitionName" ) )
|
||||
{
|
||||
efiPartition->setLabel( gs->value( "efiSystemPartitionName" ).toString() );
|
||||
}
|
||||
core->createPartition( dev, efiPartition, KPM_PARTITION_FLAG_ESP );
|
||||
firstFreeSector = lastSector + 1;
|
||||
}
|
||||
|
@ -538,6 +538,12 @@ PartitionViewStep::setConfigurationMap( const QVariantMap& configurationMap )
|
||||
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
|
||||
//
|
||||
// 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;
|
||||
using TR = Logger::DebugRow< const char* const, const QString& >;
|
||||
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( "claimed", map[ "claimed" ].toString() );
|
||||
|
||||
|
@ -7,6 +7,10 @@ efiSystemPartition: "/boot/efi"
|
||||
# If nothing is specified, the default size of 300MiB will be used.
|
||||
# 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?
|
||||
# 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
|
||||
|
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
|
||||
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import io.calamares.core 1.0
|
||||
import io.calamares.ui 1.0
|
||||
|
||||
import QtQuick 2.10
|
||||
@ -29,21 +30,21 @@ Page
|
||||
{
|
||||
id: welcome
|
||||
|
||||
header: Item
|
||||
{
|
||||
header: Item {
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
Text
|
||||
{
|
||||
Text {
|
||||
id: welcomeTopText
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
padding: 40
|
||||
// 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
|
||||
anchors.centerIn: parent
|
||||
// imagePath() returns a full pathname, so make it refer to the filesystem
|
||||
@ -55,36 +56,31 @@ Page
|
||||
fillMode: Image.PreserveAspectFit
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
RowLayout {
|
||||
id: buttonBar
|
||||
width: parent.width
|
||||
width: parent.width / 1.5
|
||||
height: 64
|
||||
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
|
||||
spacing: Kirigami.Units.largeSpacing* 2
|
||||
|
||||
/* Traditionally Calamares has had an "About" button that talks about
|
||||
* Calamares itself, which just isn't a very useful thing in someone
|
||||
* else's installation ISO.
|
||||
*/
|
||||
Button
|
||||
{
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("About")
|
||||
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.textColor: Kirigami.Theme.textColor
|
||||
|
||||
visible: false
|
||||
visible: true
|
||||
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"
|
||||
}
|
||||
}
|
||||
Button
|
||||
{
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Support")
|
||||
icon.name: "system-help"
|
||||
@ -94,8 +90,8 @@ Page
|
||||
visible: config.supportUrl !== ""
|
||||
onClicked: Qt.openUrlExternally(config.supportUrl)
|
||||
}
|
||||
Button
|
||||
{
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Known issues")
|
||||
icon.name: "tools-report-bug"
|
||||
@ -105,8 +101,8 @@ Page
|
||||
visible: config.knownIssuesUrl !== ""
|
||||
onClicked: Qt.openUrlExternally(config.knownIssuesUrl)
|
||||
}
|
||||
Button
|
||||
{
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Release notes")
|
||||
icon.name: "folder-text"
|
||||
@ -114,10 +110,11 @@ Page
|
||||
Kirigami.Theme.textColor: Kirigami.Theme.textColor
|
||||
|
||||
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
|
||||
text: qsTr("Donate")
|
||||
icon.name: "taxes-finances"
|
||||
@ -128,8 +125,41 @@ Page
|
||||
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
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
@ -2,7 +2,9 @@
|
||||
<qresource>
|
||||
<file alias="welcomeq.qml">welcomeq.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/chevron-left-solid.svg</file>
|
||||
<file>img/language-icon-48px.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Loading…
Reference in New Issue
Block a user