Merge branch 'calamares' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
7a15c3af57
14
CHANGES
14
CHANGES
@ -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) #
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries <em>%4</em>.</source>
|
<source>Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation><em>%4</em> 항목이 있는 <strong>%3</strong>(%2)에 새 <strong>%1MiB</strong> 파티션을 만듭니다.</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 <strong>%1MiB</strong> partition on <strong>%3</strong> (%2).</source>
|
<source>Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2).</source>
|
||||||
<translation type="unfinished"/>
|
<translation><strong>%3</strong>(%2)에 새 <strong>%1MiB</strong> 파티션을 만듭니다.</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 <strong>new</strong> %2 system partition with features <em>%3</em></source>
|
<source>Install %1 on <strong>new</strong> %2 system partition with features <em>%3</em></source>
|
||||||
<translation type="unfinished"/>
|
<translation><em>%3</em> 기능이 있는 <strong>새</strong> %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 <strong>new</strong> %2 partition with mount point <strong>%1</strong> and features <em>%3</em>.</source>
|
<source>Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong> and features <em>%3</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>마운트 지점 <strong>%1</strong> 및 기능 <em>%3</em>(으)로 <strong>새</strong> %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 <strong>new</strong> %2 partition with mount point <strong>%1</strong>%3.</source>
|
<source>Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>%3.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>마운트 지점 <strong>%1</strong>%3(으)로 <strong>새</strong> %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 <strong>%1</strong> with features <em>%4</em>.</source>
|
<source>Install %2 on %3 system partition <strong>%1</strong> with features <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation><em>%4</em> 기능이 있는 %3 시스템 파티션 <strong>%1</strong>에 %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 <strong>%1</strong> with mount point <strong>%2</strong> and features <em>%4</em>.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong> and features <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>마운트 지점 <strong>%2</strong> 및 기능 <em>%4</em>(으)로 %3 파티션 <strong>%1</strong>을(를) 설정합니다.</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 <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>마운트 지점 <strong>%2</strong>%4으로 %3 파티션 <strong>%1</strong>을(를) 설정합니다.</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.<br/>
|
<source>%1 has been installed on your computer.<br/>
|
||||||
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이(가) 컴퓨터에 설치되었습니다.<br/>
|
||||||
|
이제 새 시스템으로 다시 시작하거나 라이브 환경을 계속 사용할 수 있습니다.</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><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
<source><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
||||||
This log is copied to /var/log/installation.log of the target system.</p></source>
|
This log is copied to /var/log/installation.log of the target system.</p></source>
|
||||||
<translation type="unfinished"/>
|
<translation><p>설치의 전체 로그는 라이브 사용자의 홈 디렉토리에 installation.log로 제공됩니다.<br/>
|
||||||
|
이 로그는 대상 시스템의 /var/log/installation.log에 복사됩니다.</p></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -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 <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries <em>%4</em>.</source>
|
<source>Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Створити розділ <strong>%1МіБ</strong> на <strong>%3</strong> (%2) із записами <em>%4</em>.</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 <strong>%1MiB</strong> partition on <strong>%3</strong> (%2).</source>
|
<source>Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2).</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Створити розділ <strong>%1МіБ</strong> на <strong>%3</strong> (%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 <strong>new</strong> %2 system partition with features <em>%3</em></source>
|
<source>Install %1 on <strong>new</strong> %2 system partition with features <em>%3</em></source>
|
||||||
<translation type="unfinished"/>
|
<translation>Встановити %1 на <strong>новий</strong> системний розділ %2 із можливостями <em>%3</em></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 <strong>new</strong> %2 partition with mount point <strong>%1</strong> and features <em>%3</em>.</source>
|
<source>Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong> and features <em>%3</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Налаштувати <strong>новий</strong> розділ %2 із точкою монтування <strong>%1</strong> і можливостями <em>%3</em>.</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 <strong>new</strong> %2 partition with mount point <strong>%1</strong>%3.</source>
|
<source>Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>%3.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Налаштувати <strong>новий</strong> розділ %2 із точкою монтування <strong>%1</strong>%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 <strong>%1</strong> with features <em>%4</em>.</source>
|
<source>Install %2 on %3 system partition <strong>%1</strong> with features <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Встановити %2 на системний розділ %3 <strong>%1</strong> із можливостями <em>%4</em>.</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 <strong>%1</strong> with mount point <strong>%2</strong> and features <em>%4</em>.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong> and features <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Налаштувати розділ %3 <strong>%1</strong> із точкою монтування <strong>%2</strong> і можливостями <em>%4</em>.</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 <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>Налаштувати розділ %3 <strong>%1</strong> із точкою монтування <strong>%2</strong>%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.<br/>
|
<source>%1 has been installed on your computer.<br/>
|
||||||
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.<br/>
|
||||||
|
Тепер ви можете перезапустити вашу нову систему або продовжити користуватися середовищем портативної системи.</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><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
<source><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
||||||
This log is copied to /var/log/installation.log of the target system.</p></source>
|
This log is copied to /var/log/installation.log of the target system.</p></source>
|
||||||
<translation type="unfinished"/>
|
<translation><p>Повний журнал встановлення записано до файла installation.log у домашньому каталозі користувача портативної системи.<br/>
|
||||||
|
Цей журнал скопійовано до /var/log/installation.log системи призначення.</p></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -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 <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries <em>%4</em>.</source>
|
<source>Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2) with entries <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>在 <strong>%3</strong> (%2) 上使用項目 <em>%4</em> 建立新的 <strong>%1MiB</strong> 分割區。</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 <strong>%1MiB</strong> partition on <strong>%3</strong> (%2).</source>
|
<source>Create new <strong>%1MiB</strong> partition on <strong>%3</strong> (%2).</source>
|
||||||
<translation type="unfinished"/>
|
<translation>在 <strong>%3</strong> (%2) 上建立新的 <strong>%1MiB</strong> 分割區。</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 <strong>new</strong> %2 system partition with features <em>%3</em></source>
|
<source>Install %1 on <strong>new</strong> %2 system partition with features <em>%3</em></source>
|
||||||
<translation type="unfinished"/>
|
<translation>在有 <em>%3</em> 功能的<strong>新</strong> %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 <strong>new</strong> %2 partition with mount point <strong>%1</strong> and features <em>%3</em>.</source>
|
<source>Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong> and features <em>%3</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>設定有掛載點 <strong>%1</strong> 與 <em>%3</em> 的<strong>新</strong> %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 <strong>new</strong> %2 partition with mount point <strong>%1</strong>%3.</source>
|
<source>Set up <strong>new</strong> %2 partition with mount point <strong>%1</strong>%3.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>設定有掛載點 <strong>%1</strong> %3 的<strong>新</strong> %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 <strong>%1</strong> with features <em>%4</em>.</source>
|
<source>Install %2 on %3 system partition <strong>%1</strong> with features <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>在有功能 <em>%4</em> 的 %3 系統分割區 <strong>%1</strong> 上安裝 %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 <strong>%1</strong> with mount point <strong>%2</strong> and features <em>%4</em>.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong> and features <em>%4</em>.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>為分割區 %3 <strong>%1</strong> 設定掛載點 <strong>%2</strong> 與功能 <em>%4</em>。</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 <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
<source>Set up %3 partition <strong>%1</strong> with mount point <strong>%2</strong>%4.</source>
|
||||||
<translation type="unfinished"/>
|
<translation>為分割區 %3 <strong>%1</strong> 設定掛載點 <strong>%2</strong> %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.<br/>
|
<source>%1 has been installed on your computer.<br/>
|
||||||
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 已安裝到您的電腦上。<br/>
|
||||||
|
現在,您可以重新啟動到您的新系統,或繼續使用 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><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
<source><p>A full log of the install is available as installation.log in the home directory of the Live user.<br/>
|
||||||
This log is copied to /var/log/installation.log of the target system.</p></source>
|
This log is copied to /var/log/installation.log of the target system.</p></source>
|
||||||
<translation type="unfinished"/>
|
<translation><p>完整安裝紀錄檔可在 Live 使用者的家目錄中以 installation.log 的名稱取得。<br/>
|
||||||
|
此紀錄檔已複製到目標系統的 /var/log/installation.log。</p></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -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 );
|
||||||
|
@ -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;
|
||||||
|
@ -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();
|
||||||
|
@ -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" );
|
||||||
|
@ -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()
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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 );
|
|
||||||
}
|
}
|
||||||
|
@ -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 )
|
||||||
|
@ -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 {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user