Merge branch 'calamares' of https://github.com/calamares/calamares into development

This commit is contained in:
Philip Müller 2021-03-15 13:18:15 +01:00
commit 7a15c3af57
16 changed files with 165 additions and 151 deletions

14
CHANGES
View File

@ -21,6 +21,20 @@ This release contains contributions from (alphabetically by first name):
coded setup (which Calamares has had for a long time with @home coded setup (which Calamares has had for a long time with @home
and similar) and introduce a custom btrfs configuration through the and similar) and introduce a custom btrfs configuration through the
`mount.conf` file. `mount.conf` file.
- The *usersq* module now connects to the internal configuration
object and may be usable for regular installations.
# 3.2.38.1 (2021-03-15) #
This hotfix release is for this item in the release notes of 3.2.38:
- The .desktop file for Calamares now makes a longer trip, calling
`sh -c "pkexec calamares"`; distributions may still need to adjust.
The change had been lost while updating other files. It has been restored
in `calamares.desktop` and `calamares.desktop.in`. (Reported by Erik)
Other minor changes and fixes:
- presets in the *users* module show the hostname, too,
- translations update for Korean, Ukranian and Chinese (zh_TW).
# 3.2.38 (2021-03-14) # # 3.2.38 (2021-03-14) #

View File

@ -5,7 +5,7 @@ Name=Install System
GenericName=System Installer GenericName=System Installer
Keywords=calamares;system;installer; Keywords=calamares;system;installer;
TryExec=calamares TryExec=calamares
Exec=pkexec /usr/bin/calamares Exec=sh -c "pkexec calamares"
Comment=Calamares System Installer Comment=Calamares System Installer
Icon=calamares Icon=calamares
Terminal=false Terminal=false

View File

@ -5,7 +5,7 @@ Name=Install System
GenericName=System Installer GenericName=System Installer
Keywords=calamares;system;installer; Keywords=calamares;system;installer;
TryExec=calamares TryExec=calamares
Exec=pkexec /usr/bin/calamares Exec=sh -c "pkexec calamares"
Comment=Calamares System Installer Comment=Calamares System Installer
Icon=calamares Icon=calamares
Terminal=false Terminal=false

View File

@ -6,7 +6,7 @@
<message> <message>
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/> <location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
<source>Manage auto-mount settings</source> <source>Manage auto-mount settings</source>
<translation type="unfinished"/> <translation> </translation>
</message> </message>
</context> </context>
<context> <context>
@ -316,7 +316,11 @@
%1 %1
Link copied to clipboard</source> Link copied to clipboard</source>
<translation type="unfinished"/> <translation> .
%1
.</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="224"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="224"/>
@ -852,12 +856,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="145"/> <location filename="../src/modules/finished/Config.cpp" line="145"/>
<source>The setup of %1 did not complete successfully.</source> <source>The setup of %1 did not complete successfully.</source>
<translation type="unfinished"/> <translation>%1 .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="146"/> <location filename="../src/modules/finished/Config.cpp" line="146"/>
<source>The installation of %1 did not complete successfully.</source> <source>The installation of %1 did not complete successfully.</source>
<translation type="unfinished"/> <translation>%1 .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="150"/> <location filename="../src/modules/finished/Config.cpp" line="150"/>
@ -971,12 +975,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="117"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="117"/>
<source>Create new %1MiB partition on %3 (%2) with entries %4.</source> <source>Create new %1MiB partition on %3 (%2) with entries %4.</source>
<translation type="unfinished"/> <translation>%4 %3(%2) %1MiB .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="125"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="125"/>
<source>Create new %1MiB partition on %3 (%2).</source> <source>Create new %1MiB partition on %3 (%2).</source>
<translation type="unfinished"/> <translation>%3(%2) %1MiB .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="132"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="132"/>
@ -986,12 +990,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="149"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="149"/>
<source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2) with entries &lt;em&gt;%4&lt;/em&gt;.</source> <source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2) with entries &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation>&lt;em&gt;%4&lt;/em&gt; &lt;strong&gt;%3&lt;/strong&gt;(%2) &lt;strong&gt;%1MiB&lt;/strong&gt; .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="157"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="157"/>
<source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2).</source> <source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2).</source>
<translation type="unfinished"/> <translation>&lt;strong&gt;%3&lt;/strong&gt;(%2) &lt;strong&gt;%1MiB&lt;/strong&gt; .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="164"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="164"/>
@ -1339,7 +1343,7 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/>
<source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition with features &lt;em&gt;%3&lt;/em&gt;</source> <source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition with features &lt;em&gt;%3&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>&lt;em&gt;%3&lt;/em&gt; &lt;strong&gt;&lt;/strong&gt; %2 %1() .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="203"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="203"/>
@ -1349,27 +1353,27 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="212"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="212"/>
<source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt; and features &lt;em&gt;%3&lt;/em&gt;.</source> <source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt; and features &lt;em&gt;%3&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%1&lt;/strong&gt; &lt;em&gt;%3&lt;/em&gt;() &lt;strong&gt;&lt;/strong&gt; %2 .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="220"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="220"/>
<source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt;%3.</source> <source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt;%3.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%1&lt;/strong&gt;%3() &lt;strong&gt;&lt;/strong&gt; %2 .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="234"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="234"/>
<source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt; with features &lt;em&gt;%4&lt;/em&gt;.</source> <source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt; with features &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation>&lt;em&gt;%4&lt;/em&gt; %3 &lt;strong&gt;%1&lt;/strong&gt; %2() .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="253"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="253"/>
<source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt; and features &lt;em&gt;%4&lt;/em&gt;.</source> <source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt; and features &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%2&lt;/strong&gt; &lt;em&gt;%4&lt;/em&gt;() %3 &lt;strong&gt;%1&lt;/strong&gt;() .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/>
<source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt;%4.</source> <source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt;%4.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%2&lt;/strong&gt;%4 %3 &lt;strong&gt;%1&lt;/strong&gt;() .</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/>
@ -3950,29 +3954,31 @@ Output:
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/> <location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
<source>Installation Completed</source> <source>Installation Completed</source>
<translation type="unfinished"/> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/> <location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
<source>%1 has been installed on your computer.&lt;br/&gt; <source>%1 has been installed on your computer.&lt;br/&gt;
You may now restart into your new system, or continue using the Live environment.</source> You may now restart into your new system, or continue using the Live environment.</source>
<translation type="unfinished"/> <translation>%1() .&lt;br/&gt;
.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/> <location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
<source>Close Installer</source> <source>Close Installer</source>
<translation type="unfinished"/> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/> <location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
<source>Restart System</source> <source>Restart System</source>
<translation type="unfinished"/> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/> <location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
<source>&lt;p&gt;A full log of the install is available as installation.log in the home directory of the Live user.&lt;br/&gt; <source>&lt;p&gt;A full log of the install is available as installation.log in the home directory of the Live user.&lt;br/&gt;
This log is copied to /var/log/installation.log of the target system.&lt;/p&gt;</source> This log is copied to /var/log/installation.log of the target system.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;p&gt; installation.log로 .&lt;br/&gt;
/var/log/installation.log .&lt;/p&gt;</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -6,7 +6,7 @@
<message> <message>
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/> <location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
<source>Manage auto-mount settings</source> <source>Manage auto-mount settings</source>
<translation type="unfinished"/> <translation>Керування параметрами автомонтування</translation>
</message> </message>
</context> </context>
<context> <context>
@ -322,7 +322,11 @@
%1 %1
Link copied to clipboard</source> Link copied to clipboard</source>
<translation type="unfinished"/> <translation>Журнал встановлення записано до
%1
Посилання скопійовано до буфера обміну</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="224"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="224"/>
@ -858,12 +862,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="145"/> <location filename="../src/modules/finished/Config.cpp" line="145"/>
<source>The setup of %1 did not complete successfully.</source> <source>The setup of %1 did not complete successfully.</source>
<translation type="unfinished"/> <translation>Налаштування %1 не завершено успішно.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="146"/> <location filename="../src/modules/finished/Config.cpp" line="146"/>
<source>The installation of %1 did not complete successfully.</source> <source>The installation of %1 did not complete successfully.</source>
<translation type="unfinished"/> <translation>Встановлення %1 не завершено успішно.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="150"/> <location filename="../src/modules/finished/Config.cpp" line="150"/>
@ -977,12 +981,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="117"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="117"/>
<source>Create new %1MiB partition on %3 (%2) with entries %4.</source> <source>Create new %1MiB partition on %3 (%2) with entries %4.</source>
<translation type="unfinished"/> <translation>Створити розділ %1МіБ на %3 (%2) із записами %4.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="125"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="125"/>
<source>Create new %1MiB partition on %3 (%2).</source> <source>Create new %1MiB partition on %3 (%2).</source>
<translation type="unfinished"/> <translation>Створити розділ %1МіБ на %3 (%2).</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="132"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="132"/>
@ -992,12 +996,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="149"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="149"/>
<source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2) with entries &lt;em&gt;%4&lt;/em&gt;.</source> <source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2) with entries &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation>Створити розділ &lt;strong&gt;%1МіБ&lt;/strong&gt; на &lt;strong&gt;%3&lt;/strong&gt; (%2) із записами &lt;em&gt;%4&lt;/em&gt;.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="157"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="157"/>
<source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2).</source> <source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2).</source>
<translation type="unfinished"/> <translation>Створити розділ &lt;strong&gt;%1МіБ&lt;/strong&gt; на &lt;strong&gt;%3&lt;/strong&gt; (%2).</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="164"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="164"/>
@ -1345,7 +1349,7 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/>
<source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition with features &lt;em&gt;%3&lt;/em&gt;</source> <source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition with features &lt;em&gt;%3&lt;/em&gt;</source>
<translation type="unfinished"/> <translation>Встановити %1 на &lt;strong&gt;новий&lt;/strong&gt; системний розділ %2 із можливостями &lt;em&gt;%3&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="203"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="203"/>
@ -1355,27 +1359,27 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="212"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="212"/>
<source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt; and features &lt;em&gt;%3&lt;/em&gt;.</source> <source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt; and features &lt;em&gt;%3&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation>Налаштувати &lt;strong&gt;новий&lt;/strong&gt; розділ %2 із точкою монтування &lt;strong&gt;%1&lt;/strong&gt; і можливостями &lt;em&gt;%3&lt;/em&gt;.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="220"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="220"/>
<source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt;%3.</source> <source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt;%3.</source>
<translation type="unfinished"/> <translation>Налаштувати &lt;strong&gt;новий&lt;/strong&gt; розділ %2 із точкою монтування &lt;strong&gt;%1&lt;/strong&gt;%3.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="234"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="234"/>
<source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt; with features &lt;em&gt;%4&lt;/em&gt;.</source> <source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt; with features &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation>Встановити %2 на системний розділ %3 &lt;strong&gt;%1&lt;/strong&gt; із можливостями &lt;em&gt;%4&lt;/em&gt;.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="253"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="253"/>
<source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt; and features &lt;em&gt;%4&lt;/em&gt;.</source> <source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt; and features &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation>Налаштувати розділ %3 &lt;strong&gt;%1&lt;/strong&gt; із точкою монтування &lt;strong&gt;%2&lt;/strong&gt; і можливостями &lt;em&gt;%4&lt;/em&gt;.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/>
<source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt;%4.</source> <source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt;%4.</source>
<translation type="unfinished"/> <translation>Налаштувати розділ %3 &lt;strong&gt;%1&lt;/strong&gt; із точкою монтування &lt;strong&gt;%2&lt;/strong&gt;%4.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/>
@ -3983,29 +3987,31 @@ Output:
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/> <location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
<source>Installation Completed</source> <source>Installation Completed</source>
<translation type="unfinished"/> <translation>Встановлення завершено</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/> <location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
<source>%1 has been installed on your computer.&lt;br/&gt; <source>%1 has been installed on your computer.&lt;br/&gt;
You may now restart into your new system, or continue using the Live environment.</source> You may now restart into your new system, or continue using the Live environment.</source>
<translation type="unfinished"/> <translation>На ваш комп'ютер встановлено %1.&lt;br/&gt;
Тепер ви можете перезапустити вашу нову систему або продовжити користуватися середовищем портативної системи.</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/> <location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
<source>Close Installer</source> <source>Close Installer</source>
<translation type="unfinished"/> <translation>Закрити засіб встановлення</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/> <location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
<source>Restart System</source> <source>Restart System</source>
<translation type="unfinished"/> <translation>Перезапустити систему</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/> <location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
<source>&lt;p&gt;A full log of the install is available as installation.log in the home directory of the Live user.&lt;br/&gt; <source>&lt;p&gt;A full log of the install is available as installation.log in the home directory of the Live user.&lt;br/&gt;
This log is copied to /var/log/installation.log of the target system.&lt;/p&gt;</source> This log is copied to /var/log/installation.log of the target system.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;p&gt;Повний журнал встановлення записано до файла installation.log у домашньому каталозі користувача портативної системи.&lt;br/&gt;
Цей журнал скопійовано до /var/log/installation.log системи призначення.&lt;/p&gt;</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -6,7 +6,7 @@
<message> <message>
<location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/> <location filename="../src/modules/partition/jobs/AutoMountManagementJob.cpp" line="22"/>
<source>Manage auto-mount settings</source> <source>Manage auto-mount settings</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
</context> </context>
<context> <context>
@ -316,7 +316,11 @@
%1 %1
Link copied to clipboard</source> Link copied to clipboard</source>
<translation type="unfinished"/> <translation>
%1
簿</translation>
</message> </message>
<message> <message>
<location filename="../src/libcalamaresui/ViewManager.cpp" line="224"/> <location filename="../src/libcalamaresui/ViewManager.cpp" line="224"/>
@ -852,12 +856,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="145"/> <location filename="../src/modules/finished/Config.cpp" line="145"/>
<source>The setup of %1 did not complete successfully.</source> <source>The setup of %1 did not complete successfully.</source>
<translation type="unfinished"/> <translation>%1 </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="146"/> <location filename="../src/modules/finished/Config.cpp" line="146"/>
<source>The installation of %1 did not complete successfully.</source> <source>The installation of %1 did not complete successfully.</source>
<translation type="unfinished"/> <translation>%1 </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finished/Config.cpp" line="150"/> <location filename="../src/modules/finished/Config.cpp" line="150"/>
@ -971,12 +975,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="117"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="117"/>
<source>Create new %1MiB partition on %3 (%2) with entries %4.</source> <source>Create new %1MiB partition on %3 (%2) with entries %4.</source>
<translation type="unfinished"/> <translation> %3 (%2) 使 %4 %1MiB </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="125"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="125"/>
<source>Create new %1MiB partition on %3 (%2).</source> <source>Create new %1MiB partition on %3 (%2).</source>
<translation type="unfinished"/> <translation> %3 (%2) %1MiB </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="132"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="132"/>
@ -986,12 +990,12 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="149"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="149"/>
<source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2) with entries &lt;em&gt;%4&lt;/em&gt;.</source> <source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2) with entries &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%3&lt;/strong&gt; (%2) 使 &lt;em&gt;%4&lt;/em&gt; &lt;strong&gt;%1MiB&lt;/strong&gt; </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="157"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="157"/>
<source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2).</source> <source>Create new &lt;strong&gt;%1MiB&lt;/strong&gt; partition on &lt;strong&gt;%3&lt;/strong&gt; (%2).</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%3&lt;/strong&gt; (%2) &lt;strong&gt;%1MiB&lt;/strong&gt; </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="164"/> <location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="164"/>
@ -1339,7 +1343,7 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="195"/>
<source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition with features &lt;em&gt;%3&lt;/em&gt;</source> <source>Install %1 on &lt;strong&gt;new&lt;/strong&gt; %2 system partition with features &lt;em&gt;%3&lt;/em&gt;</source>
<translation type="unfinished"/> <translation> &lt;em&gt;%3&lt;/em&gt; &lt;strong&gt;&lt;/strong&gt; %2 %1</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="203"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="203"/>
@ -1349,27 +1353,27 @@ The installer will quit and all changes will be lost.</source>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="212"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="212"/>
<source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt; and features &lt;em&gt;%3&lt;/em&gt;.</source> <source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt; and features &lt;em&gt;%3&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%1&lt;/strong&gt; &lt;em&gt;%3&lt;/em&gt; &lt;strong&gt;&lt;/strong&gt; %2 </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="220"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="220"/>
<source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt;%3.</source> <source>Set up &lt;strong&gt;new&lt;/strong&gt; %2 partition with mount point &lt;strong&gt;%1&lt;/strong&gt;%3.</source>
<translation type="unfinished"/> <translation> &lt;strong&gt;%1&lt;/strong&gt; %3 &lt;strong&gt;&lt;/strong&gt; %2 </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="234"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="234"/>
<source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt; with features &lt;em&gt;%4&lt;/em&gt;.</source> <source>Install %2 on %3 system partition &lt;strong&gt;%1&lt;/strong&gt; with features &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation> &lt;em&gt;%4&lt;/em&gt; %3 &lt;strong&gt;%1&lt;/strong&gt; %2</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="253"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="253"/>
<source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt; and features &lt;em&gt;%4&lt;/em&gt;.</source> <source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt; and features &lt;em&gt;%4&lt;/em&gt;.</source>
<translation type="unfinished"/> <translation> %3 &lt;strong&gt;%1&lt;/strong&gt; &lt;strong&gt;%2&lt;/strong&gt; &lt;em&gt;%4&lt;/em&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="262"/>
<source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt;%4.</source> <source>Set up %3 partition &lt;strong&gt;%1&lt;/strong&gt; with mount point &lt;strong&gt;%2&lt;/strong&gt;%4.</source>
<translation type="unfinished"/> <translation> %3 &lt;strong&gt;%1&lt;/strong&gt; &lt;strong&gt;%2&lt;/strong&gt; %4</translation>
</message> </message>
<message> <message>
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/> <location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="243"/>
@ -3950,29 +3954,31 @@ Output:
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="36"/> <location filename="../src/modules/finishedq/finishedq.qml" line="36"/>
<source>Installation Completed</source> <source>Installation Completed</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="43"/> <location filename="../src/modules/finishedq/finishedq.qml" line="43"/>
<source>%1 has been installed on your computer.&lt;br/&gt; <source>%1 has been installed on your computer.&lt;br/&gt;
You may now restart into your new system, or continue using the Live environment.</source> You may now restart into your new system, or continue using the Live environment.</source>
<translation type="unfinished"/> <translation>%1 &lt;br/&gt;
使 Live </translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="65"/> <location filename="../src/modules/finishedq/finishedq.qml" line="65"/>
<source>Close Installer</source> <source>Close Installer</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="71"/> <location filename="../src/modules/finishedq/finishedq.qml" line="71"/>
<source>Restart System</source> <source>Restart System</source>
<translation type="unfinished"/> <translation></translation>
</message> </message>
<message> <message>
<location filename="../src/modules/finishedq/finishedq.qml" line="89"/> <location filename="../src/modules/finishedq/finishedq.qml" line="89"/>
<source>&lt;p&gt;A full log of the install is available as installation.log in the home directory of the Live user.&lt;br/&gt; <source>&lt;p&gt;A full log of the install is available as installation.log in the home directory of the Live user.&lt;br/&gt;
This log is copied to /var/log/installation.log of the target system.&lt;/p&gt;</source> This log is copied to /var/log/installation.log of the target system.&lt;/p&gt;</source>
<translation type="unfinished"/> <translation>&lt;p&gt; Live 使 installation.log &lt;br/&gt;
/var/log/installation.log&lt;/p&gt;</translation>
</message> </message>
</context> </context>
<context> <context>

View File

@ -59,11 +59,11 @@ updateGSAutoLogin( bool doAutoLogin, const QString& login )
if ( doAutoLogin && !login.isEmpty() ) if ( doAutoLogin && !login.isEmpty() )
{ {
gs->insert( "autologinUser", login ); gs->insert( "autoLoginUser", login );
} }
else else
{ {
gs->remove( "autologinUser" ); gs->remove( "autoLoginUser" );
} }
if ( login.isEmpty() ) if ( login.isEmpty() )
@ -142,13 +142,13 @@ insertInGlobalStorage( const QString& key, const QString& group )
} }
void void
Config::setAutologinGroup( const QString& group ) Config::setAutoLoginGroup( const QString& group )
{ {
if ( group != m_autologinGroup ) if ( group != m_autoLoginGroup )
{ {
m_autologinGroup = group; m_autoLoginGroup = group;
insertInGlobalStorage( QStringLiteral( "autologinGroup" ), group ); insertInGlobalStorage( QStringLiteral( "autoLoginGroup" ), group );
emit autologinGroupChanged( group ); emit autoLoginGroupChanged( group );
} }
} }
@ -162,9 +162,9 @@ Config::groupsForThisUser() const
{ {
l << g.name(); l << g.name();
} }
if ( doAutoLogin() && !autologinGroup().isEmpty() ) if ( doAutoLogin() && !autoLoginGroup().isEmpty() )
{ {
l << autologinGroup(); l << autoLoginGroup();
} }
return l; return l;
@ -814,13 +814,13 @@ Config::setConfigurationMap( const QVariantMap& configurationMap )
// Now it might be explicitly set to empty, which is ok // Now it might be explicitly set to empty, which is ok
setUserShell( shell ); setUserShell( shell );
setAutologinGroup( CalamaresUtils::getString( configurationMap, "autologinGroup" ) ); setAutoLoginGroup( CalamaresUtils::getString( configurationMap, "autoLoginGroup" ) );
setSudoersGroup( CalamaresUtils::getString( configurationMap, "sudoersGroup" ) ); setSudoersGroup( CalamaresUtils::getString( configurationMap, "sudoersGroup" ) );
m_hostNameActions = getHostNameActions( configurationMap ); m_hostNameActions = getHostNameActions( configurationMap );
setConfigurationDefaultGroups( configurationMap, m_defaultGroups ); setConfigurationDefaultGroups( configurationMap, m_defaultGroups );
m_doAutoLogin = CalamaresUtils::getBool( configurationMap, "doAutologin", false ); m_doAutoLogin = CalamaresUtils::getBool( configurationMap, "doAutoLogin", false );
m_writeRootPassword = CalamaresUtils::getBool( configurationMap, "setRootPassword", true ); m_writeRootPassword = CalamaresUtils::getBool( configurationMap, "setRootPassword", true );
Calamares::JobQueue::instance()->globalStorage()->insert( "setRootPassword", m_writeRootPassword ); Calamares::JobQueue::instance()->globalStorage()->insert( "setRootPassword", m_writeRootPassword );

View File

@ -92,7 +92,7 @@ class PLUGINDLLEXPORT Config : public Calamares::ModuleSystem::Config
Q_PROPERTY( QString userShell READ userShell WRITE setUserShell NOTIFY userShellChanged ) Q_PROPERTY( QString userShell READ userShell WRITE setUserShell NOTIFY userShellChanged )
Q_PROPERTY( QString autologinGroup READ autologinGroup WRITE setAutologinGroup NOTIFY autologinGroupChanged ) Q_PROPERTY( QString autoLoginGroup READ autoLoginGroup WRITE setAutoLoginGroup NOTIFY autoLoginGroupChanged )
Q_PROPERTY( QString sudoersGroup READ sudoersGroup WRITE setSudoersGroup NOTIFY sudoersGroupChanged ) Q_PROPERTY( QString sudoersGroup READ sudoersGroup WRITE setSudoersGroup NOTIFY sudoersGroupChanged )
Q_PROPERTY( bool doAutoLogin READ doAutoLogin WRITE setAutoLogin NOTIFY autoLoginChanged ) Q_PROPERTY( bool doAutoLogin READ doAutoLogin WRITE setAutoLogin NOTIFY autoLoginChanged )
@ -185,7 +185,7 @@ public:
QString userShell() const { return m_userShell; } QString userShell() const { return m_userShell; }
/// The group of which auto-login users must be a member /// The group of which auto-login users must be a member
QString autologinGroup() const { return m_autologinGroup; } QString autoLoginGroup() const { return m_autoLoginGroup; }
/// The group of which users who can "sudo" must be a member /// The group of which users who can "sudo" must be a member
QString sudoersGroup() const { return m_sudoersGroup; } QString sudoersGroup() const { return m_sudoersGroup; }
@ -217,7 +217,7 @@ public:
const QList< GroupDescription >& defaultGroups() const { return m_defaultGroups; } const QList< GroupDescription >& defaultGroups() const { return m_defaultGroups; }
/** @brief the names of all the groups for the current user /** @brief the names of all the groups for the current user
* *
* Takes into account defaultGroups and autologin behavior. * Takes into account defaultGroups and autoLogin behavior.
*/ */
QStringList groupsForThisUser() const; QStringList groupsForThisUser() const;
@ -253,8 +253,8 @@ public Q_SLOTS:
*/ */
void setUserShell( const QString& path ); void setUserShell( const QString& path );
/// Sets the autologin group; empty is ignored /// Sets the autoLogin group; empty is ignored
void setAutologinGroup( const QString& group ); void setAutoLoginGroup( const QString& group );
/// Sets the sudoer group; empty is ignored /// Sets the sudoer group; empty is ignored
void setSudoersGroup( const QString& group ); void setSudoersGroup( const QString& group );
@ -266,7 +266,7 @@ public Q_SLOTS:
/// Sets the host name (flags it as "custom") /// Sets the host name (flags it as "custom")
void setHostName( const QString& host ); void setHostName( const QString& host );
/// Sets the autologin flag /// Sets the autoLogin flag
void setAutoLogin( bool b ); void setAutoLogin( bool b );
/// Set to true to use the user password, unchanged, for root too /// Set to true to use the user password, unchanged, for root too
@ -281,7 +281,7 @@ public Q_SLOTS:
signals: signals:
void userShellChanged( const QString& ); void userShellChanged( const QString& );
void autologinGroupChanged( const QString& ); void autoLoginGroupChanged( const QString& );
void sudoersGroupChanged( const QString& ); void sudoersGroupChanged( const QString& );
void fullNameChanged( const QString& ); void fullNameChanged( const QString& );
void loginNameChanged( const QString& ); void loginNameChanged( const QString& );
@ -305,7 +305,7 @@ private:
QList< GroupDescription > m_defaultGroups; QList< GroupDescription > m_defaultGroups;
QString m_userShell; QString m_userShell;
QString m_autologinGroup; QString m_autoLoginGroup;
QString m_sudoersGroup; QString m_sudoersGroup;
QString m_fullName; QString m_fullName;
QString m_loginName; QString m_loginName;

View File

@ -184,11 +184,11 @@ SetupGroupsJob::exec()
tr( "These groups are missing in the target system: %1" ).arg( missingGroups.join( ',' ) ) ); tr( "These groups are missing in the target system: %1" ).arg( missingGroups.join( ',' ) ) );
} }
if ( m_config->doAutoLogin() && !m_config->autologinGroup().isEmpty() ) if ( m_config->doAutoLogin() && !m_config->autoLoginGroup().isEmpty() )
{ {
const QString autologinGroup = m_config->autologinGroup(); const QString autoLoginGroup = m_config->autoLoginGroup();
(void)ensureGroupsExistInTarget( (void)ensureGroupsExistInTarget(
QList< GroupDescription >() << GroupDescription( autologinGroup ), availableGroups, missingGroups ); QList< GroupDescription >() << GroupDescription( autoLoginGroup ), availableGroups, missingGroups );
} }
return Calamares::JobResult::ok(); return Calamares::JobResult::ok();

View File

@ -83,13 +83,13 @@ UserTests::testGetSet()
} }
{ {
const QString al( "autolg" ); const QString al( "autolg" );
QCOMPARE( c.autologinGroup(), QString() ); QCOMPARE( c.autoLoginGroup(), QString() );
c.setAutologinGroup( al ); c.setAutoLoginGroup( al );
QCOMPARE( c.autologinGroup(), al ); QCOMPARE( c.autoLoginGroup(), al );
QVERIFY( !c.doAutoLogin() ); QVERIFY( !c.doAutoLogin() );
c.setAutoLogin( true ); c.setAutoLogin( true );
QVERIFY( c.doAutoLogin() ); QVERIFY( c.doAutoLogin() );
QCOMPARE( c.autologinGroup(), al ); QCOMPARE( c.autoLoginGroup(), al );
} }
{ {
const QString su( "sudogrp" ); const QString su( "sudogrp" );

View File

@ -105,6 +105,7 @@ UsersPage::UsersPage( Config* config, QWidget* parent )
connect( ui->textBoxFullName, &QLineEdit::textEdited, config, &Config::setFullName ); connect( ui->textBoxFullName, &QLineEdit::textEdited, config, &Config::setFullName );
connect( config, &Config::fullNameChanged, this, &UsersPage::onFullNameTextEdited ); connect( config, &Config::fullNameChanged, this, &UsersPage::onFullNameTextEdited );
ui->textBoxHostName->setText( config->hostName() );
connect( ui->textBoxHostName, &QLineEdit::textEdited, config, &Config::setHostName ); connect( ui->textBoxHostName, &QLineEdit::textEdited, config, &Config::setHostName );
connect( config, &Config::hostNameChanged, ui->textBoxHostName, &QLineEdit::setText ); connect( config, &Config::hostNameChanged, ui->textBoxHostName, &QLineEdit::setText );
connect( config, &Config::hostNameStatusChanged, this, &UsersPage::reportHostNameStatus ); connect( config, &Config::hostNameStatusChanged, this, &UsersPage::reportHostNameStatus );
@ -144,9 +145,12 @@ UsersPage::UsersPage( Config* config, QWidget* parent )
onReuseUserPasswordChanged( m_config->reuseUserPasswordForRoot() ); onReuseUserPasswordChanged( m_config->reuseUserPasswordForRoot() );
onFullNameTextEdited( m_config->fullName() ); onFullNameTextEdited( m_config->fullName() );
reportLoginNameStatus( m_config->loginNameStatus() ); reportLoginNameStatus( m_config->loginNameStatus() );
reportHostNameStatus( m_config->hostNameStatus() );
ui->textBoxLoginName->setEnabled( m_config->isEditable( "loginName" ) ); ui->textBoxLoginName->setEnabled( m_config->isEditable( "loginName" ) );
ui->textBoxFullName->setEnabled( m_config->isEditable( "fullName" ) ); ui->textBoxFullName->setEnabled( m_config->isEditable( "fullName" ) );
retranslate();
} }
UsersPage::~UsersPage() UsersPage::~UsersPage()

View File

@ -88,10 +88,10 @@ UsersViewStep::isAtEnd() const
} }
QList< Calamares::job_ptr > Calamares::JobList
UsersViewStep::jobs() const UsersViewStep::jobs() const
{ {
return m_jobs; return m_config->createJobs();
} }
@ -108,7 +108,6 @@ UsersViewStep::onActivate()
void void
UsersViewStep::onLeave() UsersViewStep::onLeave()
{ {
m_jobs = m_config->createJobs();
m_config->finalizeGlobalStorage(); m_config->finalizeGlobalStorage();
} }

View File

@ -39,7 +39,7 @@ public:
bool isAtBeginning() const override; bool isAtBeginning() const override;
bool isAtEnd() const override; bool isAtEnd() const override;
QList< Calamares::job_ptr > jobs() const override; Calamares::JobList jobs() const override;
void onActivate() override; void onActivate() override;
void onLeave() override; void onLeave() override;
@ -48,8 +48,6 @@ public:
private: private:
UsersPage* m_widget; UsersPage* m_widget;
Calamares::JobList m_jobs;
Config* m_config; Config* m_config;
}; };

View File

@ -12,16 +12,12 @@
#include "UsersQmlViewStep.h" #include "UsersQmlViewStep.h"
#include "SetHostNameJob.h" #include "GlobalStorage.h"
#include "SetPasswordJob.h" #include "JobQueue.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include "utils/NamedEnum.h" #include "utils/NamedEnum.h"
#include "utils/Variant.h" #include "utils/Variant.h"
#include "GlobalStorage.h"
#include "JobQueue.h"
CALAMARES_PLUGIN_FACTORY_DEFINITION( UsersQmlViewStepFactory, registerPlugin< UsersQmlViewStep >(); ) CALAMARES_PLUGIN_FACTORY_DEFINITION( UsersQmlViewStepFactory, registerPlugin< UsersQmlViewStep >(); )
UsersQmlViewStep::UsersQmlViewStep( QObject* parent ) UsersQmlViewStep::UsersQmlViewStep( QObject* parent )
@ -43,59 +39,41 @@ bool
UsersQmlViewStep::isNextEnabled() const UsersQmlViewStep::isNextEnabled() const
{ {
return m_config->isReady(); return m_config->isReady();
//return true;
} }
bool bool
UsersQmlViewStep::isBackEnabled() const UsersQmlViewStep::isBackEnabled() const
{ {
return true; return true;
} }
bool bool
UsersQmlViewStep::isAtBeginning() const UsersQmlViewStep::isAtBeginning() const
{ {
return true; return true;
} }
bool bool
UsersQmlViewStep::isAtEnd() const UsersQmlViewStep::isAtEnd() const
{ {
return true; return true;
} }
Calamares::JobList
QList< Calamares::job_ptr >
UsersQmlViewStep::jobs() const UsersQmlViewStep::jobs() const
{ {
return m_jobs; return m_config->createJobs();
} }
void
UsersQmlViewStep::onActivate()
{
//m_config->onActivate();
//QmlViewStep::onActivate();
}
void void
UsersQmlViewStep::onLeave() UsersQmlViewStep::onLeave()
{ {
m_jobs = m_config->createJobs();
m_config->finalizeGlobalStorage(); m_config->finalizeGlobalStorage();
} }
void void
UsersQmlViewStep::setConfigurationMap( const QVariantMap& configurationMap ) UsersQmlViewStep::setConfigurationMap( const QVariantMap& configurationMap )
{ {
m_config->setConfigurationMap( configurationMap ); m_config->setConfigurationMap( configurationMap );
Calamares::QmlViewStep::setConfigurationMap( configurationMap ); // call parent implementation last Calamares::QmlViewStep::setConfigurationMap( configurationMap ); // call parent implementation last
setContextProperty( "Users", m_config );
} }

View File

@ -12,14 +12,14 @@
#ifndef USERSQMLVIEWSTEP_H #ifndef USERSQMLVIEWSTEP_H
#define USERSQMLVIEWSTEP_H #define USERSQMLVIEWSTEP_H
#include <QObject> // Config from users module
#include <utils/PluginFactory.h>
#include <viewpages/QmlViewStep.h>
#include <DllMacro.h>
#include "Config.h" #include "Config.h"
#include "DllMacro.h"
#include "utils/PluginFactory.h"
#include "viewpages/QmlViewStep.h"
#include <QObject>
#include <QVariant> #include <QVariant>
class PLUGINDLLEXPORT UsersQmlViewStep : public Calamares::QmlViewStep class PLUGINDLLEXPORT UsersQmlViewStep : public Calamares::QmlViewStep
@ -37,9 +37,8 @@ public:
bool isAtBeginning() const override; bool isAtBeginning() const override;
bool isAtEnd() const override; bool isAtEnd() const override;
QList< Calamares::job_ptr > jobs() const override; Calamares::JobList jobs() const override;
void onActivate() override;
void onLeave() override; void onLeave() override;
void setConfigurationMap( const QVariantMap& configurationMap ) override; void setConfigurationMap( const QVariantMap& configurationMap ) override;
@ -48,7 +47,6 @@ public:
private: private:
Config* m_config; Config* m_config;
Calamares::JobList m_jobs;
}; };
CALAMARES_PLUGIN_FACTORY_DECLARATION( UsersQmlViewStepFactory ) CALAMARES_PLUGIN_FACTORY_DECLARATION( UsersQmlViewStepFactory )

View File

@ -56,10 +56,12 @@ Kirigami.ScrollablePage {
id: _userNameField id: _userNameField
width: parent.width width: parent.width
enabled: config.isEditable("fullName")
placeholderText: qsTr("Your Full Name") placeholderText: qsTr("Your Full Name")
onTextChanged: config.fullNameChanged(text) text: config.fullName
background: Rectangle { onTextChanged: config.setFullName(text);
background: Rectangle {
color: "#FBFBFB" // Kirigami.Theme.backgroundColor color: "#FBFBFB" // Kirigami.Theme.backgroundColor
radius: 2 radius: 2
opacity: 0.9 opacity: 0.9
@ -84,9 +86,10 @@ Kirigami.ScrollablePage {
id: _userLoginField id: _userLoginField
width: parent.width width: parent.width
enabled: config.isEditable("loginName")
placeholderText: qsTr("Login Name") placeholderText: qsTr("Login Name")
//text: config.userName text: config.loginName
onTextEdited: config.loginNameStatusChanged(text) onTextChanged: config.setLoginName(text)
background: Rectangle { background: Rectangle {
@ -124,7 +127,8 @@ Kirigami.ScrollablePage {
width: parent.width width: parent.width
placeholderText: qsTr("Computer Name") placeholderText: qsTr("Computer Name")
text: config.hostName text: config.hostName
onTextEdited: config.hostNameStatusChanged(text) onTextChanged: config.setHostName(text)
background: Rectangle { background: Rectangle {
color: "#FBFBFB" // Kirigami.Theme.backgroundColor color: "#FBFBFB" // Kirigami.Theme.backgroundColor
@ -164,10 +168,12 @@ Kirigami.ScrollablePage {
id: _passwordField id: _passwordField
width: parent.width / 2 - 10 width: parent.width / 2 - 10
placeholderText: qsTr("Password") placeholderText: qsTr("Password")
text: config.userPassword
onTextChanged: config.setUserPassword(text)
echoMode: TextInput.Password echoMode: TextInput.Password
passwordMaskDelay: 300 passwordMaskDelay: 300
inputMethodHints: Qt.ImhNoAutoUppercase inputMethodHints: Qt.ImhNoAutoUppercase
onTextChanged: config.userPasswordStatusChanged(text, _verificationPasswordField.text)
background: Rectangle { background: Rectangle {
@ -183,10 +189,12 @@ Kirigami.ScrollablePage {
id: _verificationPasswordField id: _verificationPasswordField
width: parent.width / 2 - 10 width: parent.width / 2 - 10
placeholderText: qsTr("Repeat Password") placeholderText: qsTr("Repeat Password")
text: config.userPasswordSecondary
onTextChanged: config.setUserPasswordSecondary(text)
echoMode: TextInput.Password echoMode: TextInput.Password
passwordMaskDelay: 300 passwordMaskDelay: 300
inputMethodHints: Qt.ImhNoAutoUppercase inputMethodHints: Qt.ImhNoAutoUppercase
onTextChanged: config.userPasswordSecondaryChanged(_passwordField.text, text)
background: Rectangle { background: Rectangle {
@ -211,17 +219,14 @@ Kirigami.ScrollablePage {
CheckBox { CheckBox {
visible: config.allowWeakPasswords visible: config.permitWeakPasswords
//visible: false
text: qsTr("Validate passwords quality") text: qsTr("Validate passwords quality")
checked: config.allowWeakPasswordsDefault checked: config.requireStrongPasswords
onToggled: config.allowWeakPasswordsDefault = !config.allowWeakPasswordsDefault onCheckedChanged: config.setRequireStrongPasswords(checked)
} }
Label { Label {
visible: config.permitWeakPasswords
visible: config.allowWeakPasswords
//visible: false
width: parent.width width: parent.width
text: qsTr("When this box is checked, password-strength checking is done and you will not be able to use a weak password.") text: qsTr("When this box is checked, password-strength checking is done and you will not be able to use a weak password.")
font.weight: Font.Thin font.weight: Font.Thin
@ -230,24 +235,20 @@ Kirigami.ScrollablePage {
} }
CheckBox { CheckBox {
text: qsTr("Log in automatically without asking for the password") text: qsTr("Log in automatically without asking for the password")
checked: config.doAutologin checked: config.doAutoLogin
onToggled: config.doAutologin = !config.doAutologin onCheckedChanged: config.setAutoLogin(checked)
} }
CheckBox { CheckBox {
id: root id: root
visible: config.doReusePassword visible: config.writeRootPassword
text: qsTr("Reuse user password as root password") text: qsTr("Reuse user password as root password")
checked: config.reuseUserPasswordForRoot checked: config.reuseUserPasswordForRoot
//checked: false onCheckedChanged: config.setReuseUserPasswordForRoot(checked)
onToggled: config.reuseUserPasswordForRoot = !config.reuseUserPasswordForRoot
} }
Label { Label {
visible: root.checked visible: root.checked
width: parent.width width: parent.width
text: qsTr("Use the same password for the administrator account.") text: qsTr("Use the same password for the administrator account.")
@ -277,10 +278,12 @@ Kirigami.ScrollablePage {
id: _rootPasswordField id: _rootPasswordField
width: parent.width / 2 -10 width: parent.width / 2 -10
placeholderText: qsTr("Root Password") placeholderText: qsTr("Root Password")
text: config.rootPassword
onTextChanged: config.setRootPassword(text)
echoMode: TextInput.Password echoMode: TextInput.Password
passwordMaskDelay: 300 passwordMaskDelay: 300
inputMethodHints: Qt.ImhNoAutoUppercase inputMethodHints: Qt.ImhNoAutoUppercase
onTextChanged: config.rootPasswordChanged(text, _verificationRootPasswordField.text)
background: Rectangle { background: Rectangle {
@ -296,10 +299,12 @@ Kirigami.ScrollablePage {
id: _verificationRootPasswordField id: _verificationRootPasswordField
width: parent.width / 2 -10 width: parent.width / 2 -10
placeholderText: qsTr("Repeat Root Password") placeholderText: qsTr("Repeat Root Password")
text: config.rootPasswordSecondary
onTextChanged: config.setRootPasswordSecondary(text)
echoMode: TextInput.Password echoMode: TextInput.Password
passwordMaskDelay: 300 passwordMaskDelay: 300
inputMethodHints: Qt.ImhNoAutoUppercase inputMethodHints: Qt.ImhNoAutoUppercase
onTextChanged: config.rootPasswordSecondaryChanged(_rootPasswordField.text, text)
background: Rectangle { background: Rectangle {