Merge branch 'calamares' into work-3.3
This commit is contained in:
commit
66682b3e84
@ -1 +1,5 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
18fef8dfe5d926ec0bc979562553adf4db8db2e9
|
||||
874a0c1f38b0da4e5bc83083b13a63b1c7eed935
|
||||
|
12
CHANGES-3.2
12
CHANGES-3.2
@ -8,10 +8,13 @@ contributors are listed. Note that Calamares does not have a historical
|
||||
changelog -- this log starts with version 3.2.0. The release notes on the
|
||||
website will have to do for older versions.
|
||||
|
||||
# 3.2.58 (unreleased) #
|
||||
# 3.2.58 (2022-05-18) #
|
||||
|
||||
This release contains contributions from (alphabetically by first name):
|
||||
- Anke Boersma
|
||||
- Arjen Balfoort
|
||||
- Enrique Medina Gremaldos
|
||||
- Evan James
|
||||
|
||||
## Core ##
|
||||
- Internal improvements to translations-setup means that Catalan (in the
|
||||
@ -19,6 +22,13 @@ This release contains contributions from (alphabetically by first name):
|
||||
are all better supported. Thanks Enrique.
|
||||
|
||||
## Modules ##
|
||||
- *netinstall* Now displays entries with an empty name slightly differently.
|
||||
An empty name is not generally useful, but in combination with
|
||||
*immutable:true* and *selected:false* can be used to introduce separators
|
||||
or descriptive comments into the list of packages.
|
||||
- *partition* does not offer full-disk encryption when using ZFS. ZFS and the
|
||||
way Calamares sets up FDE don't mix well. (Thanks Evan)
|
||||
- *partition* Various bugs related to LUKS have been fixed. (Thanks Arjen)
|
||||
- *users* module now has a structured *user* key with settings specific
|
||||
to the user (shell, in particular). This maintains backwards compatibility
|
||||
with the *userShell* key.
|
||||
|
@ -65,5 +65,5 @@ that chat window open because it can easily take a few hours for
|
||||
someone to notice a message.
|
||||
Matrix is persistent, and we'll see your message eventually.
|
||||
|
||||
* [](https://webchat.kde.org/#/room/%23calamares:kde.org)
|
||||
* [](https://kiwiirc.com/client/irc.libera.chat/#calamares)
|
||||
* [](https://webchat.kde.org/#/room/%23calamares:kde.org) (needs a Matrix account)
|
||||
* [](https://kiwiirc.com/client/irc.libera.chat/#calamares) (IRC supports guest accounts)
|
||||
|
@ -24,7 +24,7 @@ test -f "$TOPDIR/.clang-format" || { echo "! No .clang-format support files in $
|
||||
AS=$( which astyle )
|
||||
|
||||
# Allow specifying CF_VERSIONS outside already
|
||||
CF_VERSIONS="$CF_VERSIONS clang-format13 clang-format-13 clang-format12 clang-format-12 clang-format"
|
||||
CF_VERSIONS="$CF_VERSIONS clang-format13 clang-format-13 clang-format-13.0.1 clang-format12 clang-format-12 clang-format"
|
||||
for _cf in $CF_VERSIONS
|
||||
do
|
||||
# Not an error if this particular clang-format isn't found
|
||||
@ -42,14 +42,17 @@ test -x "$CF" || { echo "! $CF is not executable."; exit 1 ; }
|
||||
# Version 7 and earlier doesn't understand all the options we would like
|
||||
# Version 12 handles lambdas nicely, so use that.
|
||||
# Version 13 is also ok.
|
||||
# Version 14 behaves differently with short-functions-in-class,
|
||||
# spreading functions out that 13 keeps on one line. To avoid
|
||||
# ping-pong commits, forbid 14.
|
||||
|
||||
format_version=`"$CF" --version | tr -dc '[^.0-9]' | cut -d . -f 1`
|
||||
case "$format_version" in
|
||||
12|13|14 )
|
||||
12|13 )
|
||||
:
|
||||
;;
|
||||
* )
|
||||
echo "! Clang-format version '$format_version' unsupported, version 12-14 required."
|
||||
echo "! Clang-format version '$format_version' unsupported, versions 12 or 13 are ok."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
@ -37,17 +37,17 @@
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="92"/>
|
||||
<source>Boot Partition</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Particion d’aviada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="99"/>
|
||||
<source>System Partition</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Particion sistèma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="129"/>
|
||||
<source>Do not install a boot loader</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installar pas lo gestionari d'aviada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="147"/>
|
||||
@ -83,12 +83,12 @@
|
||||
<message>
|
||||
<location filename="../src/calamares/DebugWindow.ui" line="48"/>
|
||||
<source>Modules</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Moduls</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/calamares/DebugWindow.ui" line="61"/>
|
||||
<source>Type:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tipe :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/calamares/DebugWindow.ui" line="68"/>
|
||||
@ -124,7 +124,7 @@
|
||||
<message>
|
||||
<location filename="../src/calamares/DebugWindow.ui" line="118"/>
|
||||
<source>Reload Stylesheet</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Recargar fuèlh d’estil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/calamares/DebugWindow.ui" line="128"/>
|
||||
@ -139,7 +139,7 @@
|
||||
<message>
|
||||
<location filename="../src/calamares/DebugWindow.cpp" line="221"/>
|
||||
<source>Debug information</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Informacions de desbugatge</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -194,12 +194,12 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/ProcessJob.cpp" line="42"/>
|
||||
<source> Run command '%1'.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Executar la comanda « %1 ».</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/ProcessJob.cpp" line="49"/>
|
||||
<source>Running command %1 %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Execucion de la comanda %1 %2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -207,7 +207,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonJob.cpp" line="233"/>
|
||||
<source>Running %1 operation.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Execucion de l’operacion %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamares/PythonJob.cpp" line="262"/>
|
||||
@ -250,7 +250,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="268"/>
|
||||
<source>Loading failed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fracàs del cargament.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -336,7 +336,7 @@ Link copied to clipboard</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="189"/>
|
||||
<source>Calamares Initialization Failed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lançament de Calamares fracassat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="190"/>
|
||||
@ -396,22 +396,22 @@ Link copied to clipboard</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="378"/>
|
||||
<source>Setup is complete. Close the setup program.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuracion acabada. Tampatz lo programa de configuracion.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="379"/>
|
||||
<source>The installation is complete. Close the installer.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>L’installacion es acabada. Tampatz l’installador.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="381"/>
|
||||
<source>Cancel setup without changing the system.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Anullar la configuracion sens cambiar lo sistèma.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="382"/>
|
||||
<source>Cancel installation without changing the system.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Anullar l’installacion sens cambiar lo sistèma.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="392"/>
|
||||
@ -436,12 +436,12 @@ Link copied to clipboard</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="495"/>
|
||||
<source>Cancel setup?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Anullar la configuracion ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="495"/>
|
||||
<source>Cancel installation?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Anullar l’installacion ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="496"/>
|
||||
@ -489,7 +489,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/calamares/CalamaresWindow.cpp" line="371"/>
|
||||
<source>%1 Installer</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installador de %1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -536,12 +536,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1062"/>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1159"/>
|
||||
<source>Current:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Actual :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="139"/>
|
||||
<source>After:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Aprèp :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1723"/>
|
||||
@ -566,12 +566,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1091"/>
|
||||
<source>Boot loader location:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Emplaçament del gestionari d'aviada :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1150"/>
|
||||
<source><strong>Select a partition to install on</strong></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><strong>Seleccionar una particion ont installar</strong></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1209"/>
|
||||
@ -586,7 +586,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1225"/>
|
||||
<source>EFI system partition:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Particion sistèma EFI :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1385"/>
|
||||
@ -803,7 +803,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/Config.cpp" line="77"/>
|
||||
<source>Package selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Seleccion dels paquets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/Config.cpp" line="59"/>
|
||||
@ -838,72 +838,72 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="250"/>
|
||||
<source><h1>Welcome to the Calamares setup program for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda al programa d’installacion de Calamares per %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="251"/>
|
||||
<source><h1>Welcome to %1 setup</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda a la configuracion de %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="255"/>
|
||||
<source><h1>Welcome to the Calamares installer for %1</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda a l’installador de Calamares per %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/Config.cpp" line="256"/>
|
||||
<source><h1>Welcome to the %1 installer</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda a l’installador de %1</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="221"/>
|
||||
<source>Your username is too long.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vòstre nom d’utilizaire es tròp long.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="227"/>
|
||||
<source>'%1' is not allowed as username.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>« %1 » es pas permés coma nom d’utilizaire.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="234"/>
|
||||
<source>Your username must start with a lowercase letter or underscore.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vòstre nom d’utilizaire deu començar per una minuscula o un jonhent bas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="238"/>
|
||||
<source>Only lowercase letters, numbers, underscore and hyphen are allowed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Son solament permeses las letras minusculas, nombres, jonhents basses e los tirets.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="288"/>
|
||||
<source>Your hostname is too short.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vòstre nom d’òste es tròp cort.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="292"/>
|
||||
<source>Your hostname is too long.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vòstre nom d’òste es tròp long.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="298"/>
|
||||
<source>'%1' is not allowed as hostname.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>« %1 » es pas permés coma nom d’òste.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="304"/>
|
||||
<source>Only letters, numbers, underscore and hyphen are allowed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Son solament permeses las letras, nombres, jonhents basses e los tirets.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="573"/>
|
||||
<source>Your passwords do not match!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Los senhals correspondon pas !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="587"/>
|
||||
<source>OK!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>D’acòrd !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/Config.cpp" line="145"/>
|
||||
@ -928,27 +928,27 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/Config.cpp" line="152"/>
|
||||
<source>Setup Complete</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuracion acabada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/Config.cpp" line="153"/>
|
||||
<source>Installation Complete</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Installacion acabada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/Config.cpp" line="154"/>
|
||||
<source>The setup of %1 is complete.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>La configuracion de %1 es acabada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/Config.cpp" line="155"/>
|
||||
<source>The installation of %1 is complete.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>L’installacion de %1 es acabada.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/Config.cpp" line="111"/>
|
||||
<source>Package Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Seleccion dels paquets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/Config.cpp" line="113"/>
|
||||
@ -999,7 +999,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="42"/>
|
||||
<source>Si&ze:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ta&lha :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="52"/>
|
||||
@ -1009,7 +1009,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="59"/>
|
||||
<source>Partition &Type:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Tipe de particion :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="71"/>
|
||||
@ -1019,12 +1019,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="81"/>
|
||||
<source>E&xtended</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>E&spandida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="123"/>
|
||||
<source>Fi&le System:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sistèma de fic&hièr :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="155"/>
|
||||
@ -1034,7 +1034,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="165"/>
|
||||
<source>&Mount Point:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Punt de &montatge :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="191"/>
|
||||
@ -1182,17 +1182,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CreateUserJob.cpp" line="35"/>
|
||||
<source>Create user %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Crear l’utilizaire %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CreateUserJob.cpp" line="42"/>
|
||||
<source>Create user <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Crear utilizaire <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CreateUserJob.cpp" line="125"/>
|
||||
<source>Preserving home directory</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Servar lo repertòri home</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CreateUserJob.cpp" line="49"/>
|
||||
@ -1266,7 +1266,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="73"/>
|
||||
<source>Delete partition %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Suprimir la particion %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="80"/>
|
||||
@ -1276,7 +1276,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="87"/>
|
||||
<source>Deleting partition %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Supression de la particion %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="102"/>
|
||||
@ -1388,12 +1388,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="103"/>
|
||||
<source>&Mount Point:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Punt de &montatge :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="129"/>
|
||||
<source>Si&ze:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ta&lha :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="139"/>
|
||||
@ -1403,7 +1403,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="146"/>
|
||||
<source>Fi&le System:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sistèma de fic&hièr :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="159"/>
|
||||
@ -1460,7 +1460,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/widgets/ErrorDialog.ui" line="40"/>
|
||||
<source>Details:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Detalhs :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/widgets/ErrorDialog.ui" line="56"/>
|
||||
@ -1633,22 +1633,22 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="177"/>
|
||||
<source>is plugged in to a power source</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>es brancat a una alimentacion electrica</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="178"/>
|
||||
<source>The system is not plugged in to a power source.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lo sistèma es pas brancat a una alimentacion electrica.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="185"/>
|
||||
<source>is connected to the Internet</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>es connectat a l’Internet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="186"/>
|
||||
<source>The system is not connected to the Internet.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lo sistèma es pas connectat a l’Internet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/checker/GeneralRequirements.cpp" line="193"/>
|
||||
@ -1736,7 +1736,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="46"/>
|
||||
<source>Konsole not installed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Konsole pas installada</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="47"/>
|
||||
@ -1778,7 +1778,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="23"/>
|
||||
<source>System locale setting</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Paramètres de regionalizacion del sistèma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LCLocaleDialog.cpp" line="30"/>
|
||||
@ -1829,12 +1829,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicensePage.ui" line="26"/>
|
||||
<source><h1>License Agreement</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Acòrd de licéncia</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicensePage.cpp" line="135"/>
|
||||
<source>I accept the terms and conditions above.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Accèpti los tèrmes e las condicion aquí dessús.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicensePage.cpp" line="137"/>
|
||||
@ -1875,7 +1875,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicenseWidget.cpp" line="88"/>
|
||||
<source>URL: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>URL : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicenseWidget.cpp" line="109"/>
|
||||
@ -1912,22 +1912,22 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicenseWidget.cpp" line="163"/>
|
||||
<source>File: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fichièr : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicenseWidget.cpp" line="186"/>
|
||||
<source>Hide license text</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Amagar lo tèxte de licéncia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicenseWidget.cpp" line="186"/>
|
||||
<source>Show the license text</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Mostrar lo tèxte de licéncia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/license/LicenseWidget.cpp" line="190"/>
|
||||
<source>Open license agreement in browser.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Dobrir l’acòrd de licéncia dins lo navegador.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1935,18 +1935,18 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="130"/>
|
||||
<source>Region:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Region :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="131"/>
|
||||
<source>Zone:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Zòna ;</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="132"/>
|
||||
<location filename="../src/modules/locale/LocalePage.cpp" line="133"/>
|
||||
<source>&Change...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>&Cambiar...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2032,7 +2032,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Map.qml" line="243"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fus orari : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Map.qml" line="264"/>
|
||||
@ -2047,7 +2047,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="49"/>
|
||||
<source>Package selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Seleccion dels paquets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="50"/>
|
||||
@ -2067,17 +2067,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="53"/>
|
||||
<source>Browser package</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Percórrer lo paquet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="54"/>
|
||||
<source>Web browser</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Navegador web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="55"/>
|
||||
<source>Kernel</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nuclèu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="56"/>
|
||||
@ -2087,7 +2087,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="57"/>
|
||||
<source>Login</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Connexion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="58"/>
|
||||
@ -2127,7 +2127,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="65"/>
|
||||
<source>Theming</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Personalizacion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/netinstall/NetInstallViewStep.cpp" line="66"/>
|
||||
@ -2171,7 +2171,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="122"/>
|
||||
<source>OEM Configuration</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Configuracion OEM</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/oemid/OEMViewStep.cpp" line="128"/>
|
||||
@ -2191,7 +2191,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="173"/>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="217"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Fus orari : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="115"/>
|
||||
@ -2214,17 +2214,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="51"/>
|
||||
<source>Password is too short</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lo senhal es tròp cort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="67"/>
|
||||
<source>Password is too long</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lo senhal es tròp long</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="188"/>
|
||||
<source>Password is too weak</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lo senhal es tròp feble</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="196"/>
|
||||
@ -2302,7 +2302,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="249"/>
|
||||
<source>The password is too short</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Lo senhal es tròp cort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="258"/>
|
||||
@ -2421,7 +2421,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="305"/>
|
||||
<source>Unknown setting - %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Paramètre desconegut - %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="307"/>
|
||||
@ -2436,7 +2436,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="313"/>
|
||||
<source>Bad integer value</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Marrida valor d’entièr</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="317"/>
|
||||
@ -2476,7 +2476,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="333"/>
|
||||
<source>Unknown error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Error desconeguda</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="818"/>
|
||||
@ -2509,7 +2509,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="25"/>
|
||||
<source>Package Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Seleccion dels paquets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="26"/>
|
||||
@ -2522,7 +2522,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooserq/PackageChooserQmlViewStep.cpp" line="32"/>
|
||||
<source>Packages</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Paquets</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2530,7 +2530,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/PackageChooserViewStep.cpp" line="51"/>
|
||||
<source>Packages</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Paquets</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2556,7 +2556,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="74"/>
|
||||
<source>Keyboard Model:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Modèl de clavièr :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/keyboard/KeyboardPage.ui" line="135"/>
|
||||
@ -2574,27 +2574,27 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="40"/>
|
||||
<source>What is your name?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cossí vos dison ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="55"/>
|
||||
<source>Your Full Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vòstre nom complèt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="124"/>
|
||||
<source>What name do you want to use to log in?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Qual nom volètz utilizar per vos connectar ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="148"/>
|
||||
<source>login</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>identificant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="223"/>
|
||||
<source>What is the name of this computer?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cossí s’apèla aqueste ordenador ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="247"/>
|
||||
@ -2604,7 +2604,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="250"/>
|
||||
<source>Computer Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nom de l’ordenador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="325"/>
|
||||
@ -2671,17 +2671,17 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="193"/>
|
||||
<source>Home</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Home</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="197"/>
|
||||
<source>Boot</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Boot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="202"/>
|
||||
<source>EFI system</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Sistèma EFI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="206"/>
|
||||
@ -2696,13 +2696,13 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="214"/>
|
||||
<source>New partition</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Particion novèla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionLabelsView.cpp" line="238"/>
|
||||
<source>%1 %2</source>
|
||||
<extracomment>size[number] filesystem[name]</extracomment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>%1 %2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2711,13 +2711,13 @@ The installer will quit and all changes will be lost.</source>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="157"/>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="201"/>
|
||||
<source>Free Space</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Espaci disponible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="161"/>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="205"/>
|
||||
<source>New partition</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Particion novèla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="298"/>
|
||||
@ -2737,7 +2737,7 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="304"/>
|
||||
<source>Mount Point</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Punt de montatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="306"/>
|
||||
@ -2853,12 +2853,12 @@ The installer will quit and all changes will be lost.</source>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="300"/>
|
||||
<source>Current:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Actual :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="318"/>
|
||||
<source>After:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Aprèp :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="529"/>
|
||||
@ -3241,7 +3241,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="277"/>
|
||||
<source>EFI system partition:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Particion sistèma EFI :</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -3425,7 +3425,7 @@ Output:
|
||||
<location filename="../src/modules/users/SetHostNameJob.cpp" line="124"/>
|
||||
<location filename="../src/modules/users/SetHostNameJob.cpp" line="131"/>
|
||||
<source>Internal Error</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Error intèrna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/SetHostNameJob.cpp" line="142"/>
|
||||
@ -4018,22 +4018,22 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="216"/>
|
||||
<source><h1>Welcome to the Calamares setup program for %1.</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda al programa d’installacion de Calamares per %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="217"/>
|
||||
<source><h1>Welcome to %1 setup.</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda a la configuracion de %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="222"/>
|
||||
<source><h1>Welcome to the Calamares installer for %1.</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda a l’installador de Calamares per %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="223"/>
|
||||
<source><h1>Welcome to the %1 installer.</h1></source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>La benvenguda a l’installador de %1.</h1></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="228"/>
|
||||
@ -4164,12 +4164,12 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
|
||||
<source>Close Installer</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Tampar l’installador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
|
||||
<source>Restart System</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Reaviar lo sistèma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
|
||||
@ -4208,7 +4208,8 @@ Output:
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="50"/>
|
||||
<source><h1>Languages</h1> </br>
|
||||
The system locale setting affects the language and character set for some command line user interface elements. The current setting is <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation><h1>Lengas</h1> </br>
|
||||
Los paramètres de lingüistics del sistèma afèctan la lenga, lo jòc de caractèrs per d’unes elements d’interfàcias de linha de comanda. Lo parametratge actual es <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="123"/>
|
||||
@ -4232,7 +4233,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="86"/>
|
||||
<source>Keyboard Model:</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Modèl de clavièr :</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/keyboardq/keyboardq.qml" line="254"/>
|
||||
@ -4349,17 +4350,17 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="56"/>
|
||||
<source>What is your name?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cossí vos dison ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="63"/>
|
||||
<source>Your Full Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Vòstre nom complèt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="80"/>
|
||||
<source>What name do you want to use to log in?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Qual nom volètz utilizar per vos connectar ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="87"/>
|
||||
@ -4374,7 +4375,7 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="128"/>
|
||||
<source>Only lowercase letters, numbers, underscore and hyphen are allowed.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Son solament permeses las letras, nombres, jonhents basses e los tirets.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="136"/>
|
||||
@ -4384,12 +4385,12 @@ Output:
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="145"/>
|
||||
<source>What is the name of this computer?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Cossí s’apèla aqueste ordenador ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="151"/>
|
||||
<source>Computer Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nom de l’ordenador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="178"/>
|
||||
|
@ -240,7 +240,7 @@
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="67"/>
|
||||
<source>Loading ...</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ładowanie...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/viewpages/QmlViewStep.cpp" line="88"/>
|
||||
@ -360,7 +360,7 @@ Link copied to clipboard</source>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="310"/>
|
||||
<source>Continue with installation?</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Kontynuować instalację?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="312"/>
|
||||
@ -502,7 +502,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ChangeFilesystemLabelJob.cpp" line="32"/>
|
||||
<source>Set filesystem label on %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Ustaw etykietę systemu plików na %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ChangeFilesystemLabelJob.cpp" line="39"/>
|
||||
@ -683,7 +683,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="272"/>
|
||||
<source>Successfully unmounted %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pomyślnie odmontowano %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/jobs/ClearMountsJob.cpp" line="279"/>
|
||||
@ -868,7 +868,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="227"/>
|
||||
<source>'%1' is not allowed as username.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>'%1' nie może zostać użyte jako nazwa użytkownika.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="234"/>
|
||||
@ -908,7 +908,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="587"/>
|
||||
<source>OK!</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>OK!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finished/Config.cpp" line="145"/>
|
||||
@ -953,7 +953,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/Config.cpp" line="111"/>
|
||||
<source>Package Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Wybór Pakietów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/Config.cpp" line="113"/>
|
||||
@ -1049,7 +1049,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="224"/>
|
||||
<source>Label for the filesystem</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Etykieta dla systemu plików</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/CreatePartitionDialog.ui" line="234"/>
|
||||
@ -1084,7 +1084,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/PartitionDialogHelpers.cpp" line="96"/>
|
||||
<source>Mountpoint must start with a <tt>/</tt>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Punkt montowania musi się zaczynać od <tt>/</tt>.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1418,7 +1418,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="179"/>
|
||||
<source>Label for the filesystem</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Etykieta dla systemu plików</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/gui/EditExistingPartitionDialog.ui" line="189"/>
|
||||
@ -2037,7 +2037,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Map.qml" line="243"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Strefa czasowa: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Map.qml" line="264"/>
|
||||
@ -2196,7 +2196,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="173"/>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="217"/>
|
||||
<source>Timezone: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Strefa czasowa: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/Offline.qml" line="115"/>
|
||||
@ -2289,11 +2289,11 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message numerus="yes">
|
||||
<location filename="../src/modules/users/CheckPWQuality.cpp" line="232"/>
|
||||
<source>The password contains fewer than %n lowercase letters</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform/>
|
||||
<numerusform/>
|
||||
<numerusform/>
|
||||
<numerusform/>
|
||||
<translation>
|
||||
<numerusform>Hasło składa się z mniej niż %1 małej litery</numerusform>
|
||||
<numerusform>Hasło składa się z mniej niż %1 małych liter</numerusform>
|
||||
<numerusform>Hasło składa się z mniej niż %1 małych liter</numerusform>
|
||||
<numerusform>Hasło składa się z mniej niż %1 małych liter</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
@ -2504,7 +2504,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/users/Config.cpp" line="818"/>
|
||||
<source>Password is empty</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hasło jest puste</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2532,7 +2532,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="25"/>
|
||||
<source>Package Selection</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Wybór Pakietów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/PackageChooserPage.cpp" line="26"/>
|
||||
@ -2545,7 +2545,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooserq/PackageChooserQmlViewStep.cpp" line="32"/>
|
||||
<source>Packages</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pakiety</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2553,7 +2553,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/packagechooser/PackageChooserViewStep.cpp" line="51"/>
|
||||
<source>Packages</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Pakiety</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2602,7 +2602,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="55"/>
|
||||
<source>Your Full Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Twoja Pełne Imię</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="124"/>
|
||||
@ -2612,7 +2612,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="148"/>
|
||||
<source>login</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>login</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="223"/>
|
||||
@ -2627,7 +2627,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="250"/>
|
||||
<source>Computer Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nazwa Komputera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="325"/>
|
||||
@ -2644,13 +2644,13 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="355"/>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="525"/>
|
||||
<source>Password</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="380"/>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="550"/>
|
||||
<source>Repeat Password</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Powtórz Hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/users/page_usersetup.ui" line="455"/>
|
||||
@ -2755,7 +2755,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="302"/>
|
||||
<source>File System Label</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Etykieta Systemu Plików</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/core/PartitionModel.cpp" line="304"/>
|
||||
@ -2901,7 +2901,7 @@ Instalator zostanie zamknięty i wszystkie zmiany zostaną utracone.</translatio
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="549"/>
|
||||
<source>The filesystem must be mounted on <strong>%1</strong>.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>System plików musi zostać zamontowany w <strong>%1</strong>.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/partition/PartitionViewStep.cpp" line="555"/>
|
||||
@ -3120,7 +3120,7 @@ Wyjście:
|
||||
<location filename="../src/modules/machineid/Workers.cpp" line="76"/>
|
||||
<location filename="../src/modules/machineid/Workers.cpp" line="93"/>
|
||||
<source>File not found</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Plik nie został znaleziony</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/machineid/Workers.cpp" line="65"/>
|
||||
@ -3130,7 +3130,7 @@ Wyjście:
|
||||
<message>
|
||||
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="83"/>
|
||||
<source>Directory not found</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Katalog nie został znaleziony</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/machineid/MachineIdJob.cpp" line="84"/>
|
||||
@ -3922,7 +3922,7 @@ i nie uruchomi się</translation>
|
||||
<location filename="../src/calamares/VariantModel.cpp" line="232"/>
|
||||
<source>Key</source>
|
||||
<comment>Column header for key/value</comment>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Klucz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/calamares/VariantModel.cpp" line="236"/>
|
||||
@ -4164,7 +4164,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/welcomeq/about.qml" line="96"/>
|
||||
<source>Back</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Wstecz</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4180,7 +4180,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
|
||||
<source>Installation Completed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Instalacja została zakończona</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
|
||||
@ -4191,12 +4191,12 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
|
||||
<source>Close Installer</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Zamknij instalator</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
|
||||
<source>Restart System</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Uruchom ponownie system</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
|
||||
@ -4210,7 +4210,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq@mobile.qml" line="36"/>
|
||||
<source>Installation Completed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Instalacja została zakończona</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/finishedq/finishedq@mobile.qml" line="43"/>
|
||||
@ -4246,7 +4246,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/localeq/i18n.qml" line="189"/>
|
||||
<source>Back</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Wstecz</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4363,7 +4363,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/welcomeq/release_notes.qml" line="76"/>
|
||||
<source>Back</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Wstecz</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -4381,7 +4381,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="63"/>
|
||||
<source>Your Full Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Twoja Pełne Imię</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="80"/>
|
||||
@ -4416,7 +4416,7 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="151"/>
|
||||
<source>Computer Name</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Nazwa Komputera</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="178"/>
|
||||
@ -4436,12 +4436,12 @@ i nie uruchomi się</translation>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="217"/>
|
||||
<source>Password</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="234"/>
|
||||
<source>Repeat Password</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Powtórz Hasło</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/modules/usersq/usersq.qml" line="261"/>
|
||||
|
@ -67,8 +67,7 @@ CalamaresApplication::init()
|
||||
{
|
||||
Logger::setupLogfile();
|
||||
cDebug() << "Calamares version:" << CALAMARES_VERSION;
|
||||
cDebug() << Logger::SubEntry
|
||||
<< "languages:" << QString( CALAMARES_TRANSLATION_LANGUAGES ).replace( ";", ", " );
|
||||
cDebug() << Logger::SubEntry << "languages:" << QString( CALAMARES_TRANSLATION_LANGUAGES ).replace( ";", ", " );
|
||||
|
||||
if ( !Calamares::Settings::instance() )
|
||||
{
|
||||
|
@ -134,10 +134,9 @@ getWidgetSidebar( Calamares::DebugWindowManager* debug,
|
||||
{
|
||||
QPushButton* debugWindowBtn = new QPushButton;
|
||||
debugWindowBtn->setObjectName( "debugButton" );
|
||||
CALAMARES_RETRANSLATE_FOR(
|
||||
debugWindowBtn,
|
||||
debugWindowBtn->setText( QCoreApplication::translate( CalamaresWindow::staticMetaObject.className(),
|
||||
"Show debug information" ) ); );
|
||||
CALAMARES_RETRANSLATE_FOR( debugWindowBtn,
|
||||
debugWindowBtn->setText( QCoreApplication::translate(
|
||||
CalamaresWindow::staticMetaObject.className(), "Show debug information" ) ); );
|
||||
sideLayout->addWidget( debugWindowBtn );
|
||||
debugWindowBtn->setFlat( true );
|
||||
debugWindowBtn->setCheckable( true );
|
||||
@ -173,7 +172,7 @@ getWidgetNavigation( Calamares::DebugWindowManager*,
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::backEnabledChanged, back, &QPushButton::setEnabled );
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::backLabelChanged, back, &QPushButton::setText );
|
||||
QObject::connect(
|
||||
viewManager, &Calamares::ViewManager::backIconChanged, [=]( QString n ) { setButtonIcon( back, n ); } );
|
||||
viewManager, &Calamares::ViewManager::backIconChanged, [ = ]( QString n ) { setButtonIcon( back, n ); } );
|
||||
QObject::connect(
|
||||
viewManager, &Calamares::ViewManager::backAndNextVisibleChanged, back, &QPushButton::setVisible );
|
||||
bottomLayout->addWidget( back );
|
||||
@ -189,7 +188,7 @@ getWidgetNavigation( Calamares::DebugWindowManager*,
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::nextEnabledChanged, next, &QPushButton::setEnabled );
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::nextLabelChanged, next, &QPushButton::setText );
|
||||
QObject::connect(
|
||||
viewManager, &Calamares::ViewManager::nextIconChanged, [=]( QString n ) { setButtonIcon( next, n ); } );
|
||||
viewManager, &Calamares::ViewManager::nextIconChanged, [ = ]( QString n ) { setButtonIcon( next, n ); } );
|
||||
QObject::connect(
|
||||
viewManager, &Calamares::ViewManager::backAndNextVisibleChanged, next, &QPushButton::setVisible );
|
||||
bottomLayout->addWidget( next );
|
||||
@ -205,7 +204,7 @@ getWidgetNavigation( Calamares::DebugWindowManager*,
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::quitEnabledChanged, quit, &QPushButton::setEnabled );
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::quitLabelChanged, quit, &QPushButton::setText );
|
||||
QObject::connect(
|
||||
viewManager, &Calamares::ViewManager::quitIconChanged, [=]( QString n ) { setButtonIcon( quit, n ); } );
|
||||
viewManager, &Calamares::ViewManager::quitIconChanged, [ = ]( QString n ) { setButtonIcon( quit, n ); } );
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::quitTooltipChanged, quit, &QPushButton::setToolTip );
|
||||
QObject::connect( viewManager, &Calamares::ViewManager::quitVisibleChanged, quit, &QPushButton::setVisible );
|
||||
bottomLayout->addWidget( quit );
|
||||
|
@ -78,7 +78,11 @@ DebugWindow::DebugWindow()
|
||||
m_ui->globalStorageView->expandAll();
|
||||
|
||||
// Do above when the GS changes, too
|
||||
connect( gs, &GlobalStorage::changed, this, [=] {
|
||||
connect( gs,
|
||||
&GlobalStorage::changed,
|
||||
this,
|
||||
[ = ]
|
||||
{
|
||||
m_globals = JobQueue::instance()->globalStorage()->data();
|
||||
m_globals_model->reload();
|
||||
m_ui->globalStorageView->expandAll();
|
||||
@ -86,9 +90,10 @@ DebugWindow::DebugWindow()
|
||||
|
||||
// JobQueue page
|
||||
m_ui->jobQueueText->setReadOnly( true );
|
||||
connect( JobQueue::instance(), &JobQueue::queueChanged, this, [this]( const QStringList& jobs ) {
|
||||
m_ui->jobQueueText->setText( jobs.join( '\n' ) );
|
||||
} );
|
||||
connect( JobQueue::instance(),
|
||||
&JobQueue::queueChanged,
|
||||
this,
|
||||
[ this ]( const QStringList& jobs ) { m_ui->jobQueueText->setText( jobs.join( '\n' ) ); } );
|
||||
|
||||
// Modules page
|
||||
QStringList modulesKeys;
|
||||
@ -122,7 +127,10 @@ DebugWindow::DebugWindow()
|
||||
|
||||
// Tools page
|
||||
connect( m_ui->crashButton, &QPushButton::clicked, this, [] { ::crash(); } );
|
||||
connect( m_ui->reloadStylesheetButton, &QPushButton::clicked, []() {
|
||||
connect( m_ui->reloadStylesheetButton,
|
||||
&QPushButton::clicked,
|
||||
[]()
|
||||
{
|
||||
for ( auto* w : qApp->topLevelWidgets() )
|
||||
{
|
||||
// Needs to match what's set in CalamaresWindow
|
||||
@ -132,7 +140,10 @@ DebugWindow::DebugWindow()
|
||||
}
|
||||
}
|
||||
} );
|
||||
connect( m_ui->widgetTreeButton, &QPushButton::clicked, []() {
|
||||
connect( m_ui->widgetTreeButton,
|
||||
&QPushButton::clicked,
|
||||
[]()
|
||||
{
|
||||
for ( auto* w : qApp->topLevelWidgets() )
|
||||
{
|
||||
Logger::CDebug deb;
|
||||
@ -142,7 +153,7 @@ DebugWindow::DebugWindow()
|
||||
|
||||
// Send Log button only if it would be useful
|
||||
m_ui->sendLogButton->setVisible( CalamaresUtils::Paste::isEnabled() );
|
||||
connect( m_ui->sendLogButton, &QPushButton::clicked, [this]() { CalamaresUtils::Paste::doLogUploadUI( this ); } );
|
||||
connect( m_ui->sendLogButton, &QPushButton::clicked, [ this ]() { CalamaresUtils::Paste::doLogUploadUI( this ); } );
|
||||
|
||||
CALAMARES_RETRANSLATE( m_ui->retranslateUi( this ); setWindowTitle( tr( "Debug information" ) ); );
|
||||
}
|
||||
@ -186,7 +197,11 @@ DebugWindowManager::show( bool visible )
|
||||
{
|
||||
m_debugWindow = new Calamares::DebugWindow();
|
||||
m_debugWindow->show();
|
||||
connect( m_debugWindow.data(), &Calamares::DebugWindow::closed, this, [=]() {
|
||||
connect( m_debugWindow.data(),
|
||||
&Calamares::DebugWindow::closed,
|
||||
this,
|
||||
[ = ]()
|
||||
{
|
||||
m_debugWindow->deleteLater();
|
||||
m_visible = false;
|
||||
emit visibleChanged( false );
|
||||
|
@ -51,6 +51,6 @@ ProgressTreeView::setModel( QAbstractItemModel* model )
|
||||
Calamares::ViewManager::instance(),
|
||||
&Calamares::ViewManager::currentStepChanged,
|
||||
this,
|
||||
[this]() { viewport()->update(); },
|
||||
[ this ]() { viewport()->update(); },
|
||||
Qt::UniqueConnection );
|
||||
}
|
||||
|
@ -89,9 +89,10 @@ public:
|
||||
= m_queuedJobs->isEmpty() ? 0.0 : ( m_queuedJobs->last().cumulative + m_queuedJobs->last().weight );
|
||||
|
||||
qreal totalJobWeight
|
||||
= std::accumulate( jobs.cbegin(), jobs.cend(), qreal( 0.0 ), []( qreal total, const job_ptr& j ) {
|
||||
return total + j->getJobWeight();
|
||||
} );
|
||||
= std::accumulate( jobs.cbegin(),
|
||||
jobs.cend(),
|
||||
qreal( 0.0 ),
|
||||
[]( qreal total, const job_ptr& j ) { return total + j->getJobWeight(); } );
|
||||
if ( totalJobWeight < 1 )
|
||||
{
|
||||
totalJobWeight = 1.0;
|
||||
|
@ -290,7 +290,7 @@ Settings::reconcileInstancesAndSequence()
|
||||
// Since moduleFinder captures targetKey by reference, we can
|
||||
// update targetKey to change what the finder lambda looks for.
|
||||
Calamares::ModuleSystem::InstanceKey targetKey;
|
||||
auto moduleFinder = [&targetKey]( const InstanceDescription& d ) { return d.isValid() && d.key() == targetKey; };
|
||||
auto moduleFinder = [ &targetKey ]( const InstanceDescription& d ) { return d.isValid() && d.key() == targetKey; };
|
||||
|
||||
// Check the sequence against the existing instances (which so far are only custom)
|
||||
for ( const auto& step : m_modulesSequence )
|
||||
|
@ -425,9 +425,8 @@ sequence:
|
||||
// Make a lambda where we can adjust what it looks for from the outside,
|
||||
// by capturing a reference.
|
||||
QString moduleKey = QString( "welcome" );
|
||||
auto moduleFinder = [&moduleKey]( const Calamares::InstanceDescription& d ) {
|
||||
return d.isValid() && d.key().module() == moduleKey;
|
||||
};
|
||||
auto moduleFinder = [ &moduleKey ]( const Calamares::InstanceDescription& d )
|
||||
{ return d.isValid() && d.key().module() == moduleKey; };
|
||||
|
||||
const auto it0 = std::find_if( s.moduleInstances().constBegin(), s.moduleInstances().constEnd(), moduleFinder );
|
||||
QVERIFY( it0 != s.moduleInstances().constEnd() );
|
||||
|
@ -150,7 +150,7 @@ Handler::query() const
|
||||
QString url = m_url;
|
||||
QString selector = m_selector;
|
||||
|
||||
return QtConcurrent::run( [=] { return do_query( type, url, selector ); } );
|
||||
return QtConcurrent::run( [ = ] { return do_query( type, url, selector ); } );
|
||||
}
|
||||
|
||||
QString
|
||||
@ -171,7 +171,7 @@ Handler::queryRaw() const
|
||||
QString url = m_url;
|
||||
QString selector = m_selector;
|
||||
|
||||
return QtConcurrent::run( [=] { return do_raw_query( type, url, selector ); } );
|
||||
return QtConcurrent::run( [ = ] { return do_raw_query( type, url, selector ); } );
|
||||
}
|
||||
|
||||
} // namespace GeoIP
|
||||
|
@ -43,9 +43,9 @@ lookup( TwoChar c )
|
||||
}
|
||||
|
||||
const CountryData* p
|
||||
= std::find_if( country_data_table, country_data_table + country_data_size, [c = c]( const CountryData& d ) {
|
||||
return ( d.cc1 == c.cc1 ) && ( d.cc2 == c.cc2 );
|
||||
} );
|
||||
= std::find_if( country_data_table,
|
||||
country_data_table + country_data_size,
|
||||
[ c = c ]( const CountryData& d ) { return ( d.cc1 == c.cc1 ) && ( d.cc2 == c.cc2 ); } );
|
||||
if ( p == country_data_table + country_data_size )
|
||||
{
|
||||
return nullptr;
|
||||
@ -86,7 +86,7 @@ languageForCountry( QLocale::Country country )
|
||||
{
|
||||
const CountryData* p = std::find_if( country_data_table,
|
||||
country_data_table + country_data_size,
|
||||
[c = country]( const CountryData& d ) { return d.c == c; } );
|
||||
[ c = country ]( const CountryData& d ) { return d.c == c; } );
|
||||
if ( p == country_data_table + country_data_size )
|
||||
{
|
||||
return QLocale::Language::AnyLanguage;
|
||||
|
@ -224,10 +224,13 @@ public:
|
||||
loadTZData( m_regions, m_altZones, in );
|
||||
}
|
||||
|
||||
std::sort( m_regions.begin(), m_regions.end(), []( const RegionData* lhs, const RegionData* rhs ) {
|
||||
return lhs->key() < rhs->key();
|
||||
} );
|
||||
std::sort( m_zones.begin(), m_zones.end(), []( const TimeZoneData* lhs, const TimeZoneData* rhs ) {
|
||||
std::sort( m_regions.begin(),
|
||||
m_regions.end(),
|
||||
[]( const RegionData* lhs, const RegionData* rhs ) { return lhs->key() < rhs->key(); } );
|
||||
std::sort( m_zones.begin(),
|
||||
m_zones.end(),
|
||||
[]( const TimeZoneData* lhs, const TimeZoneData* rhs )
|
||||
{
|
||||
if ( lhs->region() == rhs->region() )
|
||||
{
|
||||
return lhs->zone() < rhs->zone();
|
||||
@ -399,7 +402,8 @@ ZonesModel::find( double latitude, double longitude ) const
|
||||
* either N/S or E/W equal to any other; this obviously
|
||||
* falls apart at the poles.
|
||||
*/
|
||||
auto distance = [&]( const TimeZoneData* zone ) -> double {
|
||||
auto distance = [ & ]( const TimeZoneData* zone ) -> double
|
||||
{
|
||||
// Latitude doesn't wrap around: there is nothing north of 90
|
||||
double latitudeDifference = abs( zone->latitude() - latitude );
|
||||
|
||||
@ -445,7 +449,8 @@ ZonesModel::Iterator::operator bool() const
|
||||
return 0 <= m_index && m_index < m_p->m_zones.count();
|
||||
}
|
||||
|
||||
const TimeZoneData* ZonesModel::Iterator::operator*() const
|
||||
const TimeZoneData*
|
||||
ZonesModel::Iterator::operator*() const
|
||||
{
|
||||
if ( *this )
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ Presets::Presets( const QVariantMap& configurationMap, const QStringList& recogn
|
||||
{
|
||||
reserve( recognizedKeys.size() );
|
||||
loadPresets(
|
||||
*this, configurationMap, [&recognizedKeys]( const QString& s ) { return recognizedKeys.contains( s ); } );
|
||||
*this, configurationMap, [ &recognizedKeys ]( const QString& s ) { return recognizedKeys.contains( s ); } );
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -140,7 +140,7 @@ PackagesTests::testAdd()
|
||||
{
|
||||
// This is the "original" instance, so it's missing extraEditor
|
||||
auto op = action[ "install" ].toList();
|
||||
QCOMPARE( op.length(), packages.length()-1 ); // changed from original length
|
||||
QCOMPARE( op.length(), packages.length() - 1 ); // changed from original length
|
||||
QVERIFY( !op.contains( extraEditor ) );
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,8 @@ PartitionIterator::PartitionIterator( PartitionTable* table )
|
||||
{
|
||||
}
|
||||
|
||||
Partition* PartitionIterator::operator*() const
|
||||
Partition*
|
||||
PartitionIterator::operator*() const
|
||||
{
|
||||
return m_current;
|
||||
}
|
||||
|
@ -108,5 +108,5 @@ struct cScopedAssignment
|
||||
};
|
||||
|
||||
template < typename T >
|
||||
cScopedAssignment( T p )->cScopedAssignment< decltype( *p ) >;
|
||||
cScopedAssignment( T p ) -> cScopedAssignment< decltype( *p ) >;
|
||||
#endif
|
||||
|
@ -116,7 +116,7 @@ private:
|
||||
* immediately after setting up the connection. This allows
|
||||
* setup and translation code to be mixed together.
|
||||
*/
|
||||
#define CALAMARES_RETRANSLATE( body ) CalamaresUtils::Retranslator::attach( this, [=] { body } )
|
||||
#define CALAMARES_RETRANSLATE( body ) CalamaresUtils::Retranslator::attach( this, [ = ] { body } )
|
||||
/** @brief Call code for the given object (widget) when language changes
|
||||
*
|
||||
* This is identical to CALAMARES_RETRANSLATE, except the @p body is called
|
||||
@ -126,7 +126,7 @@ private:
|
||||
* immediately after setting up the connection. This allows
|
||||
* setup and translation code to be mixed together.
|
||||
*/
|
||||
#define CALAMARES_RETRANSLATE_FOR( object, body ) CalamaresUtils::Retranslator::attach( object, [=] { body } )
|
||||
#define CALAMARES_RETRANSLATE_FOR( object, body ) CalamaresUtils::Retranslator::attach( object, [ = ] { body } )
|
||||
/** @brief Call a slot in this object when language changes
|
||||
*
|
||||
* Given a slot (in method-function-pointer notation), call that slot when the
|
||||
|
@ -151,7 +151,10 @@ Calamares::Utils::Runner::run()
|
||||
|
||||
if ( m_output )
|
||||
{
|
||||
connect( &process, &QProcess::readyReadStandardOutput, [this, &process]() {
|
||||
connect( &process,
|
||||
&QProcess::readyReadStandardOutput,
|
||||
[ this, &process ]()
|
||||
{
|
||||
do
|
||||
{
|
||||
QString s = process.readLine();
|
||||
|
@ -135,14 +135,14 @@ addExpansions( QmlSearch method, QStringList& candidates, const QStringList& nam
|
||||
std::transform( names.constBegin(),
|
||||
names.constEnd(),
|
||||
std::back_inserter( candidates ),
|
||||
[&]( const QString& s ) { return s.isEmpty() ? QString() : bPath.arg( brandDir, s ); } );
|
||||
[ & ]( const QString& s ) { return s.isEmpty() ? QString() : bPath.arg( brandDir, s ); } );
|
||||
}
|
||||
if ( ( method == QmlSearch::Both ) || ( method == QmlSearch::QrcOnly ) )
|
||||
{
|
||||
std::transform( names.constBegin(),
|
||||
names.constEnd(),
|
||||
std::back_inserter( candidates ),
|
||||
[&]( const QString& s ) { return s.isEmpty() ? QString() : qrPath.arg( s ); } );
|
||||
[ & ]( const QString& s ) { return s.isEmpty() ? QString() : qrPath.arg( s ); } );
|
||||
}
|
||||
}
|
||||
|
||||
@ -222,22 +222,30 @@ registerQmlModels()
|
||||
// Because branding and viewmanager have a parent (CalamaresApplication
|
||||
// and CalamaresWindow), they will not be deleted by QmlEngine.
|
||||
// https://doc.qt.io/qt-5/qtqml-cppintegration-data.html#data-ownership
|
||||
qmlRegisterSingletonType< Calamares::Branding >(
|
||||
"io.calamares.ui", 1, 0, "Branding", []( QQmlEngine*, QJSEngine* ) -> QObject* {
|
||||
return Calamares::Branding::instance();
|
||||
} );
|
||||
qmlRegisterSingletonType< Calamares::ViewManager >(
|
||||
"io.calamares.ui", 1, 0, "ViewManager", []( QQmlEngine*, QJSEngine* ) -> QObject* {
|
||||
return Calamares::ViewManager::instance();
|
||||
} );
|
||||
qmlRegisterSingletonType< Calamares::Branding >( "io.calamares.ui",
|
||||
1,
|
||||
0,
|
||||
"Branding",
|
||||
[]( QQmlEngine*, QJSEngine* ) -> QObject*
|
||||
{ return Calamares::Branding::instance(); } );
|
||||
qmlRegisterSingletonType< Calamares::ViewManager >( "io.calamares.ui",
|
||||
1,
|
||||
0,
|
||||
"ViewManager",
|
||||
[]( QQmlEngine*, QJSEngine* ) -> QObject*
|
||||
{ return Calamares::ViewManager::instance(); } );
|
||||
qmlRegisterSingletonType< Calamares::GlobalStorage >(
|
||||
"io.calamares.core", 1, 0, "Global", []( QQmlEngine*, QJSEngine* ) -> QObject* {
|
||||
return Calamares::JobQueue::instance()->globalStorage();
|
||||
} );
|
||||
"io.calamares.core",
|
||||
1,
|
||||
0,
|
||||
"Global",
|
||||
[]( QQmlEngine*, QJSEngine* ) -> QObject* { return Calamares::JobQueue::instance()->globalStorage(); } );
|
||||
qmlRegisterSingletonType< CalamaresUtils::Network::Manager >(
|
||||
"io.calamares.core", 1, 0, "Network", []( QQmlEngine*, QJSEngine* ) -> QObject* {
|
||||
return &CalamaresUtils::Network::Manager::instance();
|
||||
} );
|
||||
"io.calamares.core",
|
||||
1,
|
||||
0,
|
||||
"Network",
|
||||
[]( QQmlEngine*, QJSEngine* ) -> QObject* { return &CalamaresUtils::Network::Manager::instance(); } );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -31,16 +31,19 @@ FinishedPage::FinishedPage( Config* config, QWidget* parent )
|
||||
ui->mainText->setWordWrap( true );
|
||||
ui->mainText->setOpenExternalLinks( true );
|
||||
|
||||
connect( config, &Config::restartModeChanged, [this]( Config::RestartMode mode ) {
|
||||
connect( config,
|
||||
&Config::restartModeChanged,
|
||||
[ this ]( Config::RestartMode mode )
|
||||
{
|
||||
using Mode = Config::RestartMode;
|
||||
|
||||
ui->restartCheckBox->setVisible( mode != Mode::Never );
|
||||
ui->restartCheckBox->setEnabled( mode != Mode::Always );
|
||||
} );
|
||||
connect( config, &Config::restartNowWantedChanged, ui->restartCheckBox, &QCheckBox::setChecked );
|
||||
connect( ui->restartCheckBox, &QCheckBox::stateChanged, [config]( int state ) {
|
||||
config->setRestartNowWanted( state != 0 );
|
||||
} );
|
||||
connect( ui->restartCheckBox,
|
||||
&QCheckBox::stateChanged,
|
||||
[ config ]( int state ) { config->setRestartNowWanted( state != 0 ); } );
|
||||
|
||||
CALAMARES_RETRANSLATE_SLOT( &FinishedPage::retranslate );
|
||||
}
|
||||
|
@ -160,14 +160,19 @@ class FstabGenerator(object):
|
||||
crypttab_options = self.crypttab_options
|
||||
|
||||
# Set crypttab password for partition to none and remove crypttab options
|
||||
# if crypto_keyfile.bin was not generated
|
||||
if not os.path.exists(os.path.join(self.root_mount_point, "crypto_keyfile.bin")):
|
||||
password = "none"
|
||||
crypttab_options = ""
|
||||
# on root partition when /boot is unencrypted
|
||||
if partition["mountPoint"] == "/":
|
||||
elif partition["mountPoint"] == "/":
|
||||
if any([p["mountPoint"] == "/boot"
|
||||
and "luksMapperName" not in p
|
||||
for p in self.partitions]):
|
||||
password = "none"
|
||||
crypttab_options = ""
|
||||
|
||||
|
||||
return dict(
|
||||
name=mapper_name,
|
||||
device="UUID=" + luks_uuid,
|
||||
|
@ -156,14 +156,20 @@ Config::Config( QObject* parent )
|
||||
m_setxkbmapTimer.setSingleShot( true );
|
||||
|
||||
// Connect signals and slots
|
||||
connect( m_keyboardModelsModel, &KeyboardModelsModel::currentIndexChanged, [&]( int index ) {
|
||||
connect( m_keyboardModelsModel,
|
||||
&KeyboardModelsModel::currentIndexChanged,
|
||||
[ & ]( int index )
|
||||
{
|
||||
// Set Xorg keyboard model
|
||||
m_selectedModel = m_keyboardModelsModel->key( index );
|
||||
QProcess::execute( "setxkbmap", xkbmap_model_args( m_selectedModel ) );
|
||||
emit prettyStatusChanged();
|
||||
} );
|
||||
|
||||
connect( m_keyboardLayoutsModel, &KeyboardLayoutModel::currentIndexChanged, [&]( int index ) {
|
||||
connect( m_keyboardLayoutsModel,
|
||||
&KeyboardLayoutModel::currentIndexChanged,
|
||||
[ & ]( int index )
|
||||
{
|
||||
m_selectedLayout = m_keyboardLayoutsModel->item( index ).first;
|
||||
updateVariants( QPersistentModelIndex( m_keyboardLayoutsModel->index( index ) ) );
|
||||
emit prettyStatusChanged();
|
||||
|
@ -27,7 +27,8 @@ retranslateKeyboardModels()
|
||||
{
|
||||
s_kbtranslator = new QTranslator;
|
||||
}
|
||||
(void)CalamaresUtils::loadTranslator( CalamaresUtils::translatorLocaleName(), QStringLiteral( "kb_" ), s_kbtranslator );
|
||||
(void)CalamaresUtils::loadTranslator(
|
||||
CalamaresUtils::translatorLocaleName(), QStringLiteral( "kb_" ), s_kbtranslator );
|
||||
}
|
||||
|
||||
|
||||
@ -220,9 +221,8 @@ KeyboardLayoutModel::init()
|
||||
std::stable_sort( m_layouts.begin(),
|
||||
m_layouts.end(),
|
||||
[]( const QPair< QString, KeyboardGlobal::KeyboardInfo >& a,
|
||||
const QPair< QString, KeyboardGlobal::KeyboardInfo >& b ) {
|
||||
return a.second.description < b.second.description;
|
||||
} );
|
||||
const QPair< QString, KeyboardGlobal::KeyboardInfo >& b )
|
||||
{ return a.second.description < b.second.description; } );
|
||||
}
|
||||
|
||||
QHash< int, QByteArray >
|
||||
|
@ -69,8 +69,9 @@ KeyboardPage::KeyboardPage( Config* config, QWidget* parent )
|
||||
cDebug() << "Variants now total=" << model->rowCount() << "selected=" << model->currentIndex();
|
||||
}
|
||||
|
||||
connect(
|
||||
ui->buttonRestore, &QPushButton::clicked, [config = config] { config->keyboardModels()->setCurrentIndex(); } );
|
||||
connect( ui->buttonRestore,
|
||||
&QPushButton::clicked,
|
||||
[ config = config ] { config->keyboardModels()->setCurrentIndex(); } );
|
||||
|
||||
connect( ui->physicalModelSelector,
|
||||
QOverload< int >::of( &QComboBox::currentIndexChanged ),
|
||||
@ -83,8 +84,12 @@ KeyboardPage::KeyboardPage( Config* config, QWidget* parent )
|
||||
|
||||
connect( ui->layoutSelector->selectionModel(),
|
||||
&QItemSelectionModel::currentChanged,
|
||||
[this]( const QModelIndex& current ) { m_config->keyboardLayouts()->setCurrentIndex( current.row() ); } );
|
||||
connect( config->keyboardLayouts(), &KeyboardLayoutModel::currentIndexChanged, [this]( int index ) {
|
||||
[ this ]( const QModelIndex& current )
|
||||
{ m_config->keyboardLayouts()->setCurrentIndex( current.row() ); } );
|
||||
connect( config->keyboardLayouts(),
|
||||
&KeyboardLayoutModel::currentIndexChanged,
|
||||
[ this ]( int index )
|
||||
{
|
||||
ui->layoutSelector->setCurrentIndex( m_config->keyboardLayouts()->index( index ) );
|
||||
m_keyboardPreview->setLayout( m_config->keyboardLayouts()->key( index ) );
|
||||
m_keyboardPreview->setVariant(
|
||||
@ -93,8 +98,12 @@ KeyboardPage::KeyboardPage( Config* config, QWidget* parent )
|
||||
|
||||
connect( ui->variantSelector->selectionModel(),
|
||||
&QItemSelectionModel::currentChanged,
|
||||
[this]( const QModelIndex& current ) { m_config->keyboardVariants()->setCurrentIndex( current.row() ); } );
|
||||
connect( config->keyboardVariants(), &KeyboardVariantsModel::currentIndexChanged, [this]( int index ) {
|
||||
[ this ]( const QModelIndex& current )
|
||||
{ m_config->keyboardVariants()->setCurrentIndex( current.row() ); } );
|
||||
connect( config->keyboardVariants(),
|
||||
&KeyboardVariantsModel::currentIndexChanged,
|
||||
[ this ]( int index )
|
||||
{
|
||||
ui->variantSelector->setCurrentIndex( m_config->keyboardVariants()->index( index ) );
|
||||
m_keyboardPreview->setVariant( m_config->keyboardVariants()->key( index ) );
|
||||
} );
|
||||
|
@ -118,15 +118,15 @@ loadLocales( const QString& localeGenPath )
|
||||
|
||||
// Assuming we have a list of supported locales, we usually only want UTF-8 ones
|
||||
// because it's not 1995.
|
||||
auto notUtf8 = []( const QString& s ) {
|
||||
return !s.contains( "UTF-8", Qt::CaseInsensitive ) && !s.contains( "utf8", Qt::CaseInsensitive );
|
||||
};
|
||||
auto notUtf8 = []( const QString& s )
|
||||
{ return !s.contains( "UTF-8", Qt::CaseInsensitive ) && !s.contains( "utf8", Qt::CaseInsensitive ); };
|
||||
auto it = std::remove_if( localeGenLines.begin(), localeGenLines.end(), notUtf8 );
|
||||
localeGenLines.erase( it, localeGenLines.end() );
|
||||
|
||||
// We strip " UTF-8" from "en_US.UTF-8 UTF-8" because it's redundant redundant.
|
||||
// Also simplify whitespace.
|
||||
auto unredundant = []( QString& s ) {
|
||||
auto unredundant = []( QString& s )
|
||||
{
|
||||
if ( s.endsWith( " UTF-8" ) )
|
||||
{
|
||||
s.chop( 6 );
|
||||
@ -183,16 +183,22 @@ Config::Config( QObject* parent )
|
||||
// we don't need to call an update-GS method, or introduce an intermediate
|
||||
// update-thing-and-GS method. And everywhere where we **do** change
|
||||
// language or location, we already emit the signal.
|
||||
connect( this, &Config::currentLanguageCodeChanged, [&]() {
|
||||
connect( this,
|
||||
&Config::currentLanguageCodeChanged,
|
||||
[ & ]()
|
||||
{
|
||||
auto* gs = Calamares::JobQueue::instance()->globalStorage();
|
||||
gs->insert( "locale", m_selectedLocaleConfiguration.toBcp47() );
|
||||
} );
|
||||
|
||||
connect( this, &Config::currentLCCodeChanged, [&]() {
|
||||
updateGSLocale( Calamares::JobQueue::instance()->globalStorage(), localeConfiguration() );
|
||||
} );
|
||||
connect( this,
|
||||
&Config::currentLCCodeChanged,
|
||||
[ & ]() { updateGSLocale( Calamares::JobQueue::instance()->globalStorage(), localeConfiguration() ); } );
|
||||
|
||||
connect( this, &Config::currentLocationChanged, [&]() {
|
||||
connect( this,
|
||||
&Config::currentLocationChanged,
|
||||
[ & ]()
|
||||
{
|
||||
const bool locationChanged
|
||||
= updateGSLocation( Calamares::JobQueue::instance()->globalStorage(), currentLocation() );
|
||||
|
||||
@ -206,7 +212,7 @@ Config::Config( QObject* parent )
|
||||
emit currentTimezoneNameChanged( currentTimezoneName() );
|
||||
} );
|
||||
|
||||
auto prettyStatusNotify = [&]() { emit prettyStatusChanged( prettyStatus() ); };
|
||||
auto prettyStatusNotify = [ & ]() { emit prettyStatusChanged( prettyStatus() ); };
|
||||
connect( this, &Config::currentLanguageStatusChanged, prettyStatusNotify );
|
||||
connect( this, &Config::currentLCStatusChanged, prettyStatusNotify );
|
||||
connect( this, &Config::currentLocationStatusChanged, prettyStatusNotify );
|
||||
|
@ -60,7 +60,10 @@ LCLocaleDialog::LCLocaleDialog( const QString& guessedLCLocale, const QStringLis
|
||||
connect( dbb->button( QDialogButtonBox::Cancel ), &QPushButton::clicked, this, &QDialog::reject );
|
||||
|
||||
connect( m_localesWidget, &QListWidget::itemDoubleClicked, this, &QDialog::accept );
|
||||
connect( m_localesWidget, &QListWidget::itemSelectionChanged, [this, dbb]() {
|
||||
connect( m_localesWidget,
|
||||
&QListWidget::itemSelectionChanged,
|
||||
[ this, dbb ]()
|
||||
{
|
||||
if ( m_localesWidget->selectedItems().isEmpty() )
|
||||
{
|
||||
dbb->button( QDialogButtonBox::Ok )->setEnabled( false );
|
||||
|
@ -140,9 +140,9 @@ TimeZoneWidget::paintEvent( QPaintEvent* )
|
||||
// .. the lambda manages deprecations: the old one works in Qt 5.9 and Qt 5.10,
|
||||
// while the new one avoids deprecation messages in Qt 5.13 and later.
|
||||
#if QT_VERSION >= QT_VERSION_CHECK( 5, 11, 0 )
|
||||
auto textwidth = [&]( const QString& s ) { return fontMetrics.horizontalAdvance( s ); };
|
||||
auto textwidth = [ & ]( const QString& s ) { return fontMetrics.horizontalAdvance( s ); };
|
||||
#else
|
||||
auto textwidth = [&]( const QString& s ) { return fontMetrics.width( s ); };
|
||||
auto textwidth = [ & ]( const QString& s ) { return fontMetrics.width( s ); };
|
||||
#endif
|
||||
const int textWidth = textwidth( m_currentLocation ? m_currentLocation->tr() : QString() );
|
||||
const int textHeight = fontMetrics.height();
|
||||
@ -185,7 +185,8 @@ TimeZoneWidget::mousePressEvent( QMouseEvent* event )
|
||||
|
||||
int mX = event->pos().x();
|
||||
int mY = event->pos().y();
|
||||
auto distance = [&]( const CalamaresUtils::Locale::TimeZoneData* zone ) {
|
||||
auto distance = [ & ]( const CalamaresUtils::Locale::TimeZoneData* zone )
|
||||
{
|
||||
QPoint locPos = TimeZoneImageList::getLocationPosition( zone->longitude(), zone->latitude() );
|
||||
return double( abs( mX - locPos.x() ) + abs( mY - locPos.y() ) );
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2020 Anke Boersma <demm@kaosx.us>
|
||||
* SPDX-FileCopyrightText: 2020 - 2022 Anke Boersma <demm@kaosx.us>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
@ -112,7 +112,7 @@ Column {
|
||||
|
||||
Plugin {
|
||||
id: mapPlugin
|
||||
name: "esri" // "esri", "here", "itemsoverlay", "mapbox", "mapboxgl", "osm"
|
||||
preferred: ["osm", "esri"] // "esri", "here", "itemsoverlay", "mapbox", "mapboxgl", "osm"
|
||||
}
|
||||
|
||||
Map {
|
||||
@ -121,7 +121,7 @@ Column {
|
||||
plugin: mapPlugin
|
||||
activeMapType: supportedMapTypes[0]
|
||||
//might be desirable to set zoom level configurable?
|
||||
zoomLevel: 5
|
||||
zoomLevel: 7
|
||||
bearing: 0
|
||||
tilt: 0
|
||||
copyrightsVisible : true
|
||||
@ -167,12 +167,6 @@ Column {
|
||||
anchors.fill: map
|
||||
hoverEnabled: true
|
||||
property var coordinate: map.toCoordinate(Qt.point(mouseX, mouseY))
|
||||
Label {
|
||||
x: parent.mouseX - width -5
|
||||
y: parent.mouseY - height - 5
|
||||
text: "%1, %2".arg(
|
||||
parent.coordinate.latitude).arg(parent.coordinate.longitude)
|
||||
}
|
||||
|
||||
onClicked: {
|
||||
marker.coordinate = coordinate
|
||||
|
@ -8,6 +8,7 @@ calamares_add_plugin(netinstall
|
||||
EXPORT_MACRO PLUGINDLLEXPORT_PRO
|
||||
SOURCES
|
||||
Config.cpp
|
||||
groupstreeview.cpp
|
||||
LoaderQueue.cpp
|
||||
NetInstallViewStep.cpp
|
||||
NetInstallPage.cpp
|
||||
|
@ -35,7 +35,10 @@ NetInstallPage::NetInstallPage( Config* c, QWidget* parent )
|
||||
ui->groupswidget->header()->setSectionResizeMode( QHeaderView::ResizeToContents );
|
||||
ui->groupswidget->setModel( c->model() );
|
||||
connect( c, &Config::statusChanged, ui->netinst_status, &QLabel::setText );
|
||||
connect( c, &Config::titleLabelChanged, [ui = this->ui]( const QString title ) {
|
||||
connect( c,
|
||||
&Config::titleLabelChanged,
|
||||
[ ui = this->ui ]( const QString title )
|
||||
{
|
||||
ui->label->setVisible( !title.isEmpty() );
|
||||
ui->label->setText( title );
|
||||
} );
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2016 Luca Giambonini <almack@chakraos.org>
|
||||
* SPDX-FileCopyrightText: 2016 Lisa Vitolo <shainer@chakraos.org>
|
||||
* SPDX-FileCopyrightText: 2017 Kyle Robbertze <krobbertze@gmail.com>
|
||||
|
@ -1,4 +1,5 @@
|
||||
/*
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2016 Luca Giambonini <almack@chakraos.org>
|
||||
* SPDX-FileCopyrightText: 2016 Lisa Vitolo <shainer@chakraos.org>
|
||||
* SPDX-FileCopyrightText: 2017 Kyle Robbertze <krobbertze@gmail.com>
|
||||
|
@ -349,11 +349,11 @@ PackageModel::setupModelData( const QVariantList& groupList, PackageTreeItem* pa
|
||||
void
|
||||
PackageModel::setupModelData( const QVariantList& l )
|
||||
{
|
||||
Q_EMIT beginResetModel();
|
||||
beginResetModel();
|
||||
delete m_rootItem;
|
||||
m_rootItem = new PackageTreeItem();
|
||||
setupModelData( l, m_rootItem );
|
||||
Q_EMIT endResetModel();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
void
|
||||
@ -361,7 +361,7 @@ PackageModel::appendModelData( const QVariantList& groupList )
|
||||
{
|
||||
if ( m_rootItem )
|
||||
{
|
||||
Q_EMIT beginResetModel();
|
||||
beginResetModel();
|
||||
|
||||
const QStringList sources = collectSources( groupList );
|
||||
|
||||
@ -386,6 +386,6 @@ PackageModel::appendModelData( const QVariantList& groupList )
|
||||
// Add the new data to the model
|
||||
setupModelData( groupList, m_rootItem );
|
||||
|
||||
Q_EMIT endResetModel();
|
||||
endResetModel();
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2017 Kyle Robbertze <kyle@aims.ac.za>
|
||||
|
31
src/modules/netinstall/groupstreeview.cpp
Normal file
31
src/modules/netinstall/groupstreeview.cpp
Normal file
@ -0,0 +1,31 @@
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2022 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
#include "groupstreeview.h"
|
||||
|
||||
#include "utils/Logger.h"
|
||||
|
||||
#include <QPainter>
|
||||
|
||||
void
|
||||
GroupsTreeView::drawBranches( QPainter* painter, const QRect& rect, const QModelIndex& index ) const
|
||||
{
|
||||
QTreeView::drawBranches( painter, rect, index );
|
||||
|
||||
// Empty names are handled specially: don't draw them as items,
|
||||
// so the "branch" seems to just pass them by.
|
||||
const QString s = index.data().toString();
|
||||
if ( s.isEmpty() )
|
||||
{
|
||||
QStyleOptionViewItem opt = viewOptions();
|
||||
opt.state = QStyle::State_Sibling;
|
||||
opt.rect = QRect( !isRightToLeft() ? rect.left() : rect.right() + 1, rect.top(), indentation(), rect.height() );
|
||||
painter->eraseRect( opt.rect );
|
||||
style()->drawPrimitive( QStyle::PE_IndicatorBranch, &opt, painter, this );
|
||||
}
|
||||
}
|
18
src/modules/netinstall/groupstreeview.h
Normal file
18
src/modules/netinstall/groupstreeview.h
Normal file
@ -0,0 +1,18 @@
|
||||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2022 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
#include <QTreeView>
|
||||
|
||||
class GroupsTreeView : public QTreeView
|
||||
{
|
||||
public:
|
||||
using QTreeView::QTreeView;
|
||||
|
||||
protected:
|
||||
virtual void drawBranches( QPainter* painter, const QRect& rect, const QModelIndex& index ) const override;
|
||||
};
|
@ -36,13 +36,13 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QTreeView" name="groupswidget">
|
||||
<widget class="GroupsTreeView" name="groupswidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>981</width>
|
||||
<height>407</height>
|
||||
<height>410</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
@ -63,6 +63,13 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>GroupsTreeView</class>
|
||||
<extends>QTreeView</extends>
|
||||
<header>groupstreeview.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
@ -56,9 +56,9 @@ PackageChooserViewStep::widget()
|
||||
if ( !m_widget )
|
||||
{
|
||||
m_widget = new PackageChooserPage( m_config->mode(), nullptr );
|
||||
connect( m_widget, &PackageChooserPage::selectionChanged, [=]() {
|
||||
emit nextStatusChanged( this->isNextEnabled() );
|
||||
} );
|
||||
connect( m_widget,
|
||||
&PackageChooserPage::selectionChanged,
|
||||
[ = ]() { emit nextStatusChanged( this->isNextEnabled() ); } );
|
||||
hookupModel();
|
||||
}
|
||||
return m_widget;
|
||||
|
@ -251,7 +251,9 @@ fillGSConfigurationEFI( Calamares::GlobalStorage* gs, const QVariantMap& configu
|
||||
gs->insert( "efiSystemPartitionSize", sizeString );
|
||||
gs->insert( "efiSystemPartitionSize_i", part_size.toBytes() );
|
||||
|
||||
if ( part_size.toBytes() != PartUtils::efiFilesystemMinimumSize() )
|
||||
// Assign long long int to long unsigned int to prevent compilation warning
|
||||
size_t unsigned_part_size = part_size.toBytes();
|
||||
if ( unsigned_part_size != PartUtils::efiFilesystemMinimumSize() )
|
||||
{
|
||||
cWarning() << "EFI partition size" << sizeString << "has been adjusted to"
|
||||
<< PartUtils::efiFilesystemMinimumSize() << "bytes";
|
||||
|
@ -20,8 +20,10 @@
|
||||
#include <kpmcore/backend/corebackendmanager.h>
|
||||
#include <kpmcore/core/device.h>
|
||||
#include <kpmcore/core/partition.h>
|
||||
#include <kpmcore/fs/filesystem.h>
|
||||
#include <kpmcore/fs/filesystemfactory.h>
|
||||
#include <kpmcore/fs/luks.h>
|
||||
#include <kpmcore/util/externalcommand.h>
|
||||
|
||||
using CalamaresUtils::Partition::PartitionIterator;
|
||||
|
||||
@ -127,6 +129,120 @@ clonePartition( Device* device, Partition* partition )
|
||||
partition->activeFlags() );
|
||||
}
|
||||
|
||||
#ifndef WITH_KPMCORE4API
|
||||
// This function was added in KPMCore 4, implementation copied from src/fs/luks.cpp
|
||||
/*
|
||||
SPDX-FileCopyrightText: 2010 Volker Lanz <vl@fidra.de>
|
||||
SPDX-FileCopyrightText: 2012-2019 Andrius Štikonas <andrius@stikonas.eu>
|
||||
SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac <teo@kde.org>
|
||||
SPDX-FileCopyrightText: 2016 Chantara Tith <tith.chantara@gmail.com>
|
||||
SPDX-FileCopyrightText: 2017 Christian Morlok <christianmorlok@gmail.com>
|
||||
SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho <caiojcarvalho@gmail.com>
|
||||
SPDX-FileCopyrightText: 2020 Arnaud Ferraris <arnaud.ferraris@collabora.com>
|
||||
SPDX-FileCopyrightText: 2020 Gaël PORTAY <gael.portay@collabora.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
static bool
|
||||
testPassphrase( FS::luks* fs, const QString& deviceNode, const QString& passphrase )
|
||||
{
|
||||
ExternalCommand cmd( QStringLiteral( "cryptsetup" ),
|
||||
{ QStringLiteral( "open" ),
|
||||
QStringLiteral( "--tries" ),
|
||||
QStringLiteral( "1" ),
|
||||
QStringLiteral( "--test-passphrase" ),
|
||||
deviceNode } );
|
||||
if ( cmd.write( passphrase.toLocal8Bit() + '\n' ) && cmd.start( -1 ) && cmd.exitCode() == 0 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
static bool
|
||||
testPassphrase( FS::luks* fs, const QString& deviceNode, const QString& passphrase )
|
||||
{
|
||||
return fs->testPassphrase( deviceNode, passphrase );
|
||||
}
|
||||
#endif
|
||||
|
||||
// Adapted from luks cryptOpen which always opens a dialog to ask for a passphrase
|
||||
int
|
||||
updateLuksDevice( Partition* partition, const QString& passphrase )
|
||||
{
|
||||
const QString deviceNode = partition->partitionPath();
|
||||
|
||||
cDebug() << "Update Luks device: " << deviceNode;
|
||||
|
||||
if ( passphrase.isEmpty() )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << "#1: Passphrase is empty";
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( partition->fileSystem().type() != FileSystem::Luks )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << "#2: Not a luks encrypted device";
|
||||
return 2;
|
||||
}
|
||||
|
||||
// Cast partition fs to luks fs
|
||||
FS::luks* luksFs = dynamic_cast< FS::luks* >( &partition->fileSystem() );
|
||||
|
||||
// Test the given passphrase
|
||||
if ( !testPassphrase( luksFs, deviceNode, passphrase ) )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << "#3: Passphrase incorrect";
|
||||
return 3;
|
||||
}
|
||||
|
||||
if ( luksFs->isCryptOpen() )
|
||||
{
|
||||
if ( !luksFs->mapperName().isEmpty() )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << "#4: Device already decrypted";
|
||||
return 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "No mapper node found";
|
||||
luksFs->setCryptOpen( false );
|
||||
}
|
||||
}
|
||||
|
||||
ExternalCommand openCmd( QStringLiteral( "cryptsetup" ),
|
||||
{ QStringLiteral( "open" ), deviceNode, luksFs->suggestedMapperName( deviceNode ) } );
|
||||
|
||||
if ( !( openCmd.write( passphrase.toLocal8Bit() + '\n' ) && openCmd.start( -1 ) && openCmd.exitCode() == 0 ) )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << openCmd.exitCode() << ": cryptsetup command failed";
|
||||
return openCmd.exitCode();
|
||||
}
|
||||
|
||||
// Save the existing passphrase
|
||||
luksFs->setPassphrase( passphrase );
|
||||
|
||||
luksFs->scan( deviceNode );
|
||||
|
||||
if ( luksFs->mapperName().isEmpty() )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << "#5: No mapper node found";
|
||||
return 5;
|
||||
}
|
||||
|
||||
luksFs->loadInnerFileSystem( luksFs->mapperName() );
|
||||
luksFs->setCryptOpen( luksFs->innerFS() != nullptr );
|
||||
|
||||
if ( !luksFs->isCryptOpen() )
|
||||
{
|
||||
cWarning() << Logger::SubEntry << "#6: Device could not be decrypted";
|
||||
return 6;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Calamares::JobResult
|
||||
execute( Operation& operation, const QString& failureMessage )
|
||||
{
|
||||
|
@ -69,6 +69,8 @@ Partition* createNewEncryptedPartition( PartitionNode* parent,
|
||||
|
||||
Partition* clonePartition( Device* device, Partition* partition );
|
||||
|
||||
int updateLuksDevice( Partition* partition, const QString& passphrase );
|
||||
|
||||
/** @brief Return a result for an @p operation
|
||||
*
|
||||
* Executes the operation, and if successful, returns a success result.
|
||||
|
@ -456,7 +456,6 @@ ChoicePage::continueApplyDeviceChoice()
|
||||
Q_EMIT deviceChosen();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ChoicePage::onActionChanged()
|
||||
{
|
||||
@ -465,6 +464,19 @@ ChoicePage::onActionChanged()
|
||||
{
|
||||
applyActionChoice( m_config->installChoice() );
|
||||
}
|
||||
|
||||
// Whole disk encryption isn't implemented for zfs so disable the option for now
|
||||
if ( m_eraseFsTypesChoiceComboBox != nullptr && m_enableEncryptionWidget )
|
||||
{
|
||||
if ( m_eraseFsTypesChoiceComboBox->currentText() == "zfs" )
|
||||
{
|
||||
m_encryptWidget->hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_encryptWidget->show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include "ui_EditExistingPartitionDialog.h"
|
||||
|
||||
#include "core/ColorUtils.h"
|
||||
#include "core/KPMHelpers.h"
|
||||
#include "core/PartUtils.h"
|
||||
#include "core/PartitionCoreModule.h"
|
||||
#include "core/PartitionInfo.h"
|
||||
@ -28,13 +29,17 @@
|
||||
#include "Settings.h"
|
||||
#include "partition/FileSystem.h"
|
||||
#include "utils/Logger.h"
|
||||
#include "widgets/TranslationFix.h"
|
||||
|
||||
#include <kpmcore/core/device.h>
|
||||
#include <kpmcore/core/partition.h>
|
||||
#include <kpmcore/fs/filesystemfactory.h>
|
||||
#include <kpmcore/fs/luks.h>
|
||||
|
||||
#include <QComboBox>
|
||||
#include <QDir>
|
||||
#include <QMessageBox>
|
||||
#include <QProcess>
|
||||
#include <QPushButton>
|
||||
|
||||
using CalamaresUtils::Partition::untranslatedFS;
|
||||
@ -52,6 +57,7 @@ EditExistingPartitionDialog::EditExistingPartitionDialog( Device* device,
|
||||
, m_usedMountPoints( usedMountPoints )
|
||||
{
|
||||
m_ui->setupUi( this );
|
||||
m_ui->encryptWidget->hide();
|
||||
standardMountPoints( *( m_ui->mountPointComboBox ), PartitionInfo::mountPoint( partition ) );
|
||||
|
||||
QColor color = ColorUtils::colorForPartition( m_partition );
|
||||
@ -132,10 +138,8 @@ EditExistingPartitionDialog::EditExistingPartitionDialog( Device* device,
|
||||
setFlagList( *( m_ui->m_listFlags ), m_partition->availableFlags(), PartitionInfo::flags( m_partition ) );
|
||||
}
|
||||
|
||||
|
||||
EditExistingPartitionDialog::~EditExistingPartitionDialog() {}
|
||||
|
||||
|
||||
PartitionTable::Flags
|
||||
EditExistingPartitionDialog::newFlags() const
|
||||
{
|
||||
@ -242,8 +246,30 @@ EditExistingPartitionDialog::applyChanges( PartitionCoreModule* core )
|
||||
{
|
||||
core->setFilesystemLabel( m_device, m_partition, fsLabel );
|
||||
}
|
||||
|
||||
core->refreshPartition( m_device, m_partition );
|
||||
}
|
||||
|
||||
// Update the existing luks partition
|
||||
const QString passphrase = m_ui->encryptWidget->passphrase();
|
||||
if ( !passphrase.isEmpty() )
|
||||
{
|
||||
int retCode = KPMHelpers::updateLuksDevice( m_partition, passphrase );
|
||||
if ( retCode != 0 )
|
||||
{
|
||||
QString message = tr( "Passphrase for existing partition" );
|
||||
QString description = tr( "Partition %1 could not be decrypted "
|
||||
"with the given passphrase."
|
||||
"<br/><br/>"
|
||||
"Edit the partition again and give the correct passphrase"
|
||||
"or delete and create a new encrypted partition." )
|
||||
.arg( m_partition->partitionPath() );
|
||||
|
||||
QMessageBox mb( QMessageBox::Information, message, description, QMessageBox::Ok, this->parentWidget() );
|
||||
Calamares::fixButtonLabels( &mb );
|
||||
mb.exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -266,7 +292,6 @@ EditExistingPartitionDialog::replacePartResizerWidget()
|
||||
m_partitionSizeController->setPartResizerWidget( widget, m_ui->formatRadioButton->isChecked() );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
EditExistingPartitionDialog::updateMountPointPicker()
|
||||
{
|
||||
@ -293,13 +318,47 @@ EditExistingPartitionDialog::updateMountPointPicker()
|
||||
{
|
||||
setSelectedMountPoint( m_ui->mountPointComboBox, QString() );
|
||||
}
|
||||
|
||||
toggleEncryptWidget();
|
||||
}
|
||||
|
||||
void
|
||||
EditExistingPartitionDialog::checkMountPointSelection()
|
||||
{
|
||||
validateMountPoint( selectedMountPoint( m_ui->mountPointComboBox ),
|
||||
if ( validateMountPoint( selectedMountPoint( m_ui->mountPointComboBox ),
|
||||
m_usedMountPoints,
|
||||
m_ui->mountPointExplanation,
|
||||
m_ui->buttonBox->button( QDialogButtonBox::Ok ) );
|
||||
m_ui->buttonBox->button( QDialogButtonBox::Ok ) ) )
|
||||
{
|
||||
toggleEncryptWidget();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
EditExistingPartitionDialog::toggleEncryptWidget()
|
||||
{
|
||||
// Show/hide encryptWidget:
|
||||
// check if partition is a previously luks formatted partition
|
||||
// and not currently formatted
|
||||
// and its mount point not a standard mount point except when it's /home
|
||||
QString mp = selectedMountPoint( m_ui->mountPointComboBox );
|
||||
if ( !mp.isEmpty() && m_partition->fileSystem().type() == FileSystem::Luks && !m_ui->formatRadioButton->isChecked()
|
||||
&& ( !standardMountPoints().contains( mp ) || mp == "/home" ) )
|
||||
{
|
||||
m_ui->encryptWidget->show();
|
||||
m_ui->encryptWidget->reset( false );
|
||||
}
|
||||
// TODO: When formatting a partition user must be able to encrypt that partition
|
||||
// Probably need to delete this partition and create a new one
|
||||
// else if ( m_ui->formatRadioButton->isChecked()
|
||||
// && !mp.isEmpty())
|
||||
// {
|
||||
// m_ui->encryptWidget->show();
|
||||
// m_ui->encryptWidget->reset();
|
||||
// }
|
||||
else
|
||||
{
|
||||
m_ui->encryptWidget->reset();
|
||||
m_ui->encryptWidget->hide();
|
||||
}
|
||||
}
|
||||
|
@ -32,6 +32,11 @@ class EditExistingPartitionDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
struct FreeSpace
|
||||
{
|
||||
Partition* p;
|
||||
};
|
||||
|
||||
EditExistingPartitionDialog( Device* device,
|
||||
Partition* partition,
|
||||
const QStringList& usedMountPoints,
|
||||
@ -53,6 +58,7 @@ private:
|
||||
PartitionTable::Flags newFlags() const;
|
||||
void replacePartResizerWidget();
|
||||
void updateMountPointPicker();
|
||||
void toggleEncryptWidget();
|
||||
};
|
||||
|
||||
#endif /* EDITEXISTINGPARTITIONDIALOG_H */
|
||||
|
@ -10,8 +10,8 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>450</width>
|
||||
<height>615</height>
|
||||
<width>570</width>
|
||||
<height>689</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@ -97,7 +97,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="mountPointLabel">
|
||||
<property name="text">
|
||||
<string>&Mount Point:</string>
|
||||
@ -107,7 +107,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<item row="8" column="1">
|
||||
<widget class="QComboBox" name="mountPointComboBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||
@ -153,14 +153,14 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<item row="5" column="1">
|
||||
<widget class="QComboBox" name="fileSystemComboBox"/>
|
||||
</item>
|
||||
<item row="10" column="0">
|
||||
<item row="15" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Flags:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
<item row="15" column="1">
|
||||
<widget class="QListWidget" name="m_listFlags">
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
@ -173,7 +173,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<item row="13" column="1">
|
||||
<widget class="QLineEdit" name="fileSystemLabelEdit">
|
||||
<property name="toolTip">
|
||||
<string>Label for the filesystem</string>
|
||||
@ -183,20 +183,39 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<item row="13" column="0">
|
||||
<widget class="QLabel" name="fileSystemLabelLabel">
|
||||
<property name="text">
|
||||
<string>FS Label:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<item row="10" column="1">
|
||||
<widget class="QLabel" name="mountPointExplanation">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="1">
|
||||
<widget class="EncryptWidget" name="encryptWidget" native="true"/>
|
||||
</item>
|
||||
<item row="12" column="1">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>13</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@ -218,6 +237,12 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
<header location="global">kpmcore/gui/partresizerwidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>EncryptWidget</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>gui/EncryptWidget.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>sizeSpinBox</tabstop>
|
||||
|
@ -70,14 +70,17 @@ EncryptWidget::EncryptWidget( QWidget* parent )
|
||||
|
||||
|
||||
void
|
||||
EncryptWidget::reset()
|
||||
EncryptWidget::reset( bool checkVisible )
|
||||
{
|
||||
m_ui->m_passphraseLineEdit->clear();
|
||||
m_ui->m_confirmLineEdit->clear();
|
||||
|
||||
m_ui->m_encryptCheckBox->setChecked( false );
|
||||
}
|
||||
|
||||
m_ui->m_encryptCheckBox->setVisible( checkVisible );
|
||||
m_ui->m_passphraseLineEdit->setVisible( !checkVisible );
|
||||
m_ui->m_confirmLineEdit->setVisible( !checkVisible );
|
||||
}
|
||||
|
||||
EncryptWidget::Encryption
|
||||
EncryptWidget::state() const
|
||||
@ -146,7 +149,7 @@ EncryptWidget::updateState()
|
||||
}
|
||||
|
||||
Encryption newState;
|
||||
if ( m_ui->m_encryptCheckBox->isChecked() )
|
||||
if ( m_ui->m_encryptCheckBox->isChecked() || !m_ui->m_encryptCheckBox->isVisible() )
|
||||
{
|
||||
if ( !m_ui->m_passphraseLineEdit->text().isEmpty()
|
||||
&& m_ui->m_passphraseLineEdit->text() == m_ui->m_confirmLineEdit->text() )
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
|
||||
explicit EncryptWidget( QWidget* parent = nullptr );
|
||||
|
||||
void reset();
|
||||
void reset( bool checkVisible = true );
|
||||
|
||||
Encryption state() const;
|
||||
void setText( const QString& text );
|
||||
|
@ -96,7 +96,8 @@ PlasmaLnfPage::PlasmaLnfPage( Config* config, QWidget* parent )
|
||||
|
||||
connect( view->selectionModel(),
|
||||
&QItemSelectionModel::selectionChanged,
|
||||
[this]( const QItemSelection& selected, const QItemSelection& ) {
|
||||
[ this ]( const QItemSelection& selected, const QItemSelection& )
|
||||
{
|
||||
auto i = selected.indexes();
|
||||
if ( !i.isEmpty() )
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ SummaryModel::rowCount( const QModelIndex& ) const
|
||||
void
|
||||
SummaryModel::setSummaryList( const Calamares::ViewStepList& steps, bool withWidgets )
|
||||
{
|
||||
Q_EMIT beginResetModel();
|
||||
beginResetModel();
|
||||
m_summary.clear();
|
||||
|
||||
for ( Calamares::ViewStep* step : steps )
|
||||
@ -76,7 +76,7 @@ SummaryModel::setSummaryList( const Calamares::ViewStepList& steps, bool withWid
|
||||
|
||||
m_summary << StepSummary { step->prettyName(), text, widget };
|
||||
}
|
||||
Q_EMIT endResetModel();
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
Config::Config( QObject* parent )
|
||||
|
@ -45,10 +45,16 @@ TrackingPage::TrackingPage( Config* config, QWidget* parent )
|
||||
&QCheckBox::stateChanged, \
|
||||
config->x##Tracking(), \
|
||||
QOverload< bool >::of( &TrackingStyleConfig::setTracking ) ); \
|
||||
connect( config->x##Tracking(), &TrackingStyleConfig::trackingChanged, this, [this, config]() { \
|
||||
this->trackerChanged( config->x##Tracking(), this->ui->x##Group, this->ui->x##CheckBox ); \
|
||||
} ); \
|
||||
connect( ui->x##PolicyButton, &QAbstractButton::clicked, config, [config] { \
|
||||
connect( config->x##Tracking(), \
|
||||
&TrackingStyleConfig::trackingChanged, \
|
||||
this, \
|
||||
[ this, config ]() \
|
||||
{ this->trackerChanged( config->x##Tracking(), this->ui->x##Group, this->ui->x##CheckBox ); } ); \
|
||||
connect( ui->x##PolicyButton, \
|
||||
&QAbstractButton::clicked, \
|
||||
config, \
|
||||
[ config ] \
|
||||
{ \
|
||||
QString url( config->x##Tracking()->policy() ); \
|
||||
if ( !url.isEmpty() ) \
|
||||
{ \
|
||||
@ -63,10 +69,13 @@ TrackingPage::TrackingPage( Config* config, QWidget* parent )
|
||||
|
||||
#undef trackingSetup
|
||||
|
||||
connect( config, &Config::generalPolicyChanged, [this]( const QString& url ) {
|
||||
this->ui->generalPolicyLabel->setVisible( !url.isEmpty() );
|
||||
} );
|
||||
connect( ui->generalPolicyLabel, &QLabel::linkActivated, [config] {
|
||||
connect( config,
|
||||
&Config::generalPolicyChanged,
|
||||
[ this ]( const QString& url ) { this->ui->generalPolicyLabel->setVisible( !url.isEmpty() ); } );
|
||||
connect( ui->generalPolicyLabel,
|
||||
&QLabel::linkActivated,
|
||||
[ config ]
|
||||
{
|
||||
QString url( config->generalPolicy() );
|
||||
if ( !url.isEmpty() )
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ DEFINE_CHECK_FUNC( minLength )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "minLength set to" << minLength;
|
||||
checks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is too short" ); },
|
||||
[minLength]( const QString& s ) { return s.length() >= minLength; },
|
||||
[ minLength ]( const QString& s ) { return s.length() >= minLength; },
|
||||
PasswordCheck::Weight( 10 ) ) );
|
||||
}
|
||||
}
|
||||
@ -65,7 +65,7 @@ DEFINE_CHECK_FUNC( maxLength )
|
||||
{
|
||||
cDebug() << Logger::SubEntry << "maxLength set to" << maxLength;
|
||||
checks.push_back( PasswordCheck( []() { return QCoreApplication::translate( "PWQ", "Password is too long" ); },
|
||||
[maxLength]( const QString& s ) { return s.length() <= maxLength; },
|
||||
[ maxLength ]( const QString& s ) { return s.length() <= maxLength; },
|
||||
PasswordCheck::Weight( 10 ) ) );
|
||||
}
|
||||
}
|
||||
@ -378,8 +378,9 @@ DEFINE_CHECK_FUNC( libpwquality )
|
||||
/* Something actually added? */
|
||||
if ( requirement_count )
|
||||
{
|
||||
checks.push_back( PasswordCheck( [settings]() { return settings->explanation(); },
|
||||
[settings]( const QString& s ) {
|
||||
checks.push_back( PasswordCheck( [ settings ]() { return settings->explanation(); },
|
||||
[ settings ]( const QString& s )
|
||||
{
|
||||
int r = settings->check( s );
|
||||
if ( r < 0 )
|
||||
{
|
||||
|
@ -78,6 +78,20 @@ updateGSAutoLogin( bool doAutoLogin, const QString& login )
|
||||
}
|
||||
}
|
||||
|
||||
static const QStringList&
|
||||
alwaysForbiddenLoginNames()
|
||||
{
|
||||
static QStringList s { QStringLiteral( "root" ), QStringLiteral( "nobody" ) };
|
||||
return s;
|
||||
}
|
||||
|
||||
static const QStringList&
|
||||
alwaysForbiddenHostNames()
|
||||
{
|
||||
static QStringList s { QStringLiteral( "localhost" ) };
|
||||
return s;
|
||||
}
|
||||
|
||||
const NamedEnumTable< HostNameAction >&
|
||||
hostnameActionNames()
|
||||
{
|
||||
|
@ -120,6 +120,11 @@ UserTests::testGetSet()
|
||||
QVERIFY( c.loginNameStatus().isEmpty() ); // now it's still ok
|
||||
QCOMPARE( c.loginName(), lg );
|
||||
QCOMPARE( c.fullName(), ful );
|
||||
}
|
||||
// Test forbidden login names
|
||||
{
|
||||
QVERIFY( c.forbiddenLoginNames().contains( QStringLiteral( "root" ) ) );
|
||||
QVERIFY( c.loginNameStatus().isEmpty() ); // it's ok now
|
||||
c.setLoginName( "root" );
|
||||
QVERIFY( !c.loginNameStatus().isEmpty() ); // can't be root
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ WelcomePage::setupButton( Button role, const QString& url )
|
||||
{
|
||||
auto size = 2 * QSize( CalamaresUtils::defaultFontHeight(), CalamaresUtils::defaultFontHeight() );
|
||||
button->setIcon( CalamaresUtils::defaultPixmap( icon, CalamaresUtils::Original, size ) );
|
||||
connect( button, &QPushButton::clicked, [u]() { QDesktopServices::openUrl( u ); } );
|
||||
connect( button, &QPushButton::clicked, [ u ]() { QDesktopServices::openUrl( u ); } );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user