Merge branch 'master' of https://github.com/calamares/calamares into development
This commit is contained in:
commit
5f78d49777
@ -49,7 +49,7 @@ option( WITH_KF5Crash "Enable crash reporting with KCrash." ON )
|
|||||||
set( CALAMARES_ORGANIZATION_NAME "Calamares" )
|
set( CALAMARES_ORGANIZATION_NAME "Calamares" )
|
||||||
set( CALAMARES_ORGANIZATION_DOMAIN "github.com/calamares" )
|
set( CALAMARES_ORGANIZATION_DOMAIN "github.com/calamares" )
|
||||||
set( CALAMARES_APPLICATION_NAME "Calamares" )
|
set( CALAMARES_APPLICATION_NAME "Calamares" )
|
||||||
set( CALAMARES_DESCRIPTION_SUMMARY
|
set( CALAMARES_DESCRIPTION_SUMMARY
|
||||||
"The distribution-independent installer framework" )
|
"The distribution-independent installer framework" )
|
||||||
|
|
||||||
set( CALAMARES_VERSION_MAJOR 3 )
|
set( CALAMARES_VERSION_MAJOR 3 )
|
||||||
@ -86,17 +86,17 @@ set( _tx_complete da pt_PT ro tr_TR zh_TW zh_CN pt_BR fr hr ca lt id cs_CZ )
|
|||||||
set( _tx_good sq es pl ja sk it_IT hu ru he de nl bg uk )
|
set( _tx_good sq es pl ja sk it_IT hu ru he de nl bg uk )
|
||||||
set( _tx_ok ast is ar sv el es_MX gl en_GB th fi_FI hi eu sr nb
|
set( _tx_ok ast is ar sv el es_MX gl en_GB th fi_FI hi eu sr nb
|
||||||
sl sr@latin mr es_PR kk kn et be )
|
sl sr@latin mr es_PR kk kn et be )
|
||||||
set( _tx_bad uz lo ur gu fr_CH fa eo )
|
set( _tx_bad uz lo ur gu fr_CH fa eo ko )
|
||||||
|
|
||||||
|
|
||||||
### Required versions
|
### Required versions
|
||||||
#
|
#
|
||||||
# See DEPENDENCIES section below.
|
# See DEPENDENCIES section below.
|
||||||
set( QT_VERSION 5.6.0 )
|
set( QT_VERSION 5.7.0 )
|
||||||
set( YAMLCPP_VERSION 0.5.1 )
|
set( YAMLCPP_VERSION 0.5.1 )
|
||||||
set( ECM_VERSION 5.18 )
|
set( ECM_VERSION 5.18 )
|
||||||
set( PYTHONLIBS_VERSION 3.3 )
|
set( PYTHONLIBS_VERSION 3.3 )
|
||||||
set( BOOSTPYTHON_VERSION 1.54.0 )
|
set( BOOSTPYTHON_VERSION 1.55.0 )
|
||||||
|
|
||||||
|
|
||||||
### CMAKE SETUP
|
### CMAKE SETUP
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
# RESOURCES resource-file
|
# RESOURCES resource-file
|
||||||
# [NO_INSTALL]
|
# [NO_INSTALL]
|
||||||
# [SHARED_LIB]
|
# [SHARED_LIB]
|
||||||
|
# [EMERGENCY]
|
||||||
# )
|
# )
|
||||||
|
|
||||||
include( CMakeParseArguments )
|
include( CMakeParseArguments )
|
||||||
@ -47,7 +48,7 @@ include( CMakeColors )
|
|||||||
function( calamares_add_plugin )
|
function( calamares_add_plugin )
|
||||||
# parse arguments ( name needs to be saved before passing ARGN into the macro )
|
# parse arguments ( name needs to be saved before passing ARGN into the macro )
|
||||||
set( NAME ${ARGV0} )
|
set( NAME ${ARGV0} )
|
||||||
set( options NO_INSTALL SHARED_LIB )
|
set( options NO_INSTALL SHARED_LIB EMERGENCY )
|
||||||
set( oneValueArgs NAME TYPE EXPORT_MACRO RESOURCES )
|
set( oneValueArgs NAME TYPE EXPORT_MACRO RESOURCES )
|
||||||
set( multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS )
|
set( multiValueArgs SOURCES UI LINK_LIBRARIES LINK_PRIVATE_LIBRARIES COMPILE_DEFINITIONS )
|
||||||
cmake_parse_arguments( PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
cmake_parse_arguments( PLUGIN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
@ -71,7 +72,7 @@ function( calamares_add_plugin )
|
|||||||
# message( " ${Green}NO_INSTALL:${ColorReset} ${PLUGIN_NO_INSTALL}" )
|
# message( " ${Green}NO_INSTALL:${ColorReset} ${PLUGIN_NO_INSTALL}" )
|
||||||
message( " ${Green}PLUGIN_DESTINATION:${ColorReset} ${PLUGIN_DESTINATION}" )
|
message( " ${Green}PLUGIN_DESTINATION:${ColorReset} ${PLUGIN_DESTINATION}" )
|
||||||
if( PLUGIN_CONFIG_FILES )
|
if( PLUGIN_CONFIG_FILES )
|
||||||
if ( INSTALL_CONFIG )
|
if ( INSTALL_CONFIG AND NOT PLUGIN_NO_INSTALL )
|
||||||
message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${PLUGIN_CONFIG_FILES} => ${PLUGIN_DATA_DESTINATION}" )
|
message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${PLUGIN_CONFIG_FILES} => ${PLUGIN_DATA_DESTINATION}" )
|
||||||
else()
|
else()
|
||||||
message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${PLUGIN_CONFIG_FILES} => [Skipping installation]" )
|
message( " ${Green}CONFIGURATION_FILES:${ColorReset} ${PLUGIN_CONFIG_FILES} => [Skipping installation]" )
|
||||||
@ -92,7 +93,7 @@ function( calamares_add_plugin )
|
|||||||
set( target_type "SHARED" )
|
set( target_type "SHARED" )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list( APPEND calamares_add_library_args
|
set( calamares_add_library_args
|
||||||
"${target}"
|
"${target}"
|
||||||
"EXPORT_MACRO" "${PLUGIN_EXPORT_MACRO}"
|
"EXPORT_MACRO" "${PLUGIN_EXPORT_MACRO}"
|
||||||
"TARGET_TYPE" "${target_type}"
|
"TARGET_TYPE" "${target_type}"
|
||||||
@ -115,9 +116,14 @@ function( calamares_add_plugin )
|
|||||||
list( APPEND calamares_add_library_args "COMPILE_DEFINITIONS" ${PLUGIN_COMPILE_DEFINITIONS} )
|
list( APPEND calamares_add_library_args "COMPILE_DEFINITIONS" ${PLUGIN_COMPILE_DEFINITIONS} )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list( APPEND calamares_add_library_args "NO_VERSION" )
|
if ( PLUGIN_NO_INSTALL )
|
||||||
|
list( APPEND calamares_add_library_args "NO_INSTALL" )
|
||||||
|
endif()
|
||||||
|
|
||||||
list( APPEND calamares_add_library_args "INSTALL_BINDIR" "${PLUGIN_DESTINATION}" )
|
list( APPEND calamares_add_library_args
|
||||||
|
"NO_VERSION"
|
||||||
|
"INSTALL_BINDIR" "${PLUGIN_DESTINATION}"
|
||||||
|
)
|
||||||
|
|
||||||
if( PLUGIN_RESOURCES )
|
if( PLUGIN_RESOURCES )
|
||||||
list( APPEND calamares_add_library_args "RESOURCES" "${PLUGIN_RESOURCES}" )
|
list( APPEND calamares_add_library_args "RESOURCES" "${PLUGIN_RESOURCES}" )
|
||||||
@ -132,16 +138,21 @@ function( calamares_add_plugin )
|
|||||||
set( _type ${PLUGIN_TYPE} )
|
set( _type ${PLUGIN_TYPE} )
|
||||||
file( WRITE ${_file} "# AUTO-GENERATED metadata file\n# Syntax is YAML 1.2\n---\n" )
|
file( WRITE ${_file} "# AUTO-GENERATED metadata file\n# Syntax is YAML 1.2\n---\n" )
|
||||||
file( APPEND ${_file} "type: \"${_type}\"\nname: \"${PLUGIN_NAME}\"\ninterface: \"qtplugin\"\nload: \"lib${target}.so\"\n" )
|
file( APPEND ${_file} "type: \"${_type}\"\nname: \"${PLUGIN_NAME}\"\ninterface: \"qtplugin\"\nload: \"lib${target}.so\"\n" )
|
||||||
|
if ( PLUGIN_EMERGENCY )
|
||||||
|
file( APPEND ${_file} "emergency: true\n" )
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_DESC_FILE}
|
if ( NOT PLUGIN_NO_INSTALL )
|
||||||
DESTINATION ${PLUGIN_DESTINATION} )
|
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_DESC_FILE}
|
||||||
|
DESTINATION ${PLUGIN_DESTINATION} )
|
||||||
|
|
||||||
if ( INSTALL_CONFIG )
|
if ( INSTALL_CONFIG )
|
||||||
foreach( PLUGIN_CONFIG_FILE ${PLUGIN_CONFIG_FILES} )
|
foreach( PLUGIN_CONFIG_FILE ${PLUGIN_CONFIG_FILES} )
|
||||||
configure_file( ${PLUGIN_CONFIG_FILE} ${PLUGIN_CONFIG_FILE} COPYONLY )
|
configure_file( ${PLUGIN_CONFIG_FILE} ${PLUGIN_CONFIG_FILE} COPYONLY )
|
||||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_CONFIG_FILE}
|
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/${PLUGIN_CONFIG_FILE}
|
||||||
DESTINATION ${PLUGIN_DATA_DESTINATION} )
|
DESTINATION ${PLUGIN_DATA_DESTINATION} )
|
||||||
endforeach()
|
endforeach()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -22,6 +22,40 @@
|
|||||||
|
|
||||||
include( CMakeParseArguments )
|
include( CMakeParseArguments )
|
||||||
|
|
||||||
|
if( NOT _rcc_version_support_checked )
|
||||||
|
set( _rcc_version_support_checked TRUE )
|
||||||
|
|
||||||
|
# Extract the executable name
|
||||||
|
get_property( _rcc_executable
|
||||||
|
TARGET ${Qt5Core_RCC_EXECUTABLE}
|
||||||
|
PROPERTY IMPORTED_LOCATION
|
||||||
|
)
|
||||||
|
if( NOT _rcc_executable )
|
||||||
|
# Weird, probably now uses Qt5::rcc which is wrong too
|
||||||
|
set( _rcc_executable ${Qt5Core_RCC_EXECUTABLE} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Try an empty RCC file with explicit format-version
|
||||||
|
execute_process(
|
||||||
|
COMMAND echo "<RCC version='1.0'></RCC>"
|
||||||
|
COMMAND ${Qt5Core_RCC_EXECUTABLE} --format-version 1 --list -
|
||||||
|
RESULT_VARIABLE _rcc_version_rv
|
||||||
|
ERROR_VARIABLE _rcc_version_dump
|
||||||
|
)
|
||||||
|
if ( _rcc_version_rv EQUAL 0 )
|
||||||
|
# Supported: force to the reproducible version
|
||||||
|
set( _rcc_version_support --format-version 1 )
|
||||||
|
else()
|
||||||
|
# Older Qt versions (5.7, 5.8) don't support setting the
|
||||||
|
# rcc format-version, so won't be reproducible if they
|
||||||
|
# default to version 2.
|
||||||
|
set( _rcc_version_support "" )
|
||||||
|
endif()
|
||||||
|
unset( _rcc_version_rv )
|
||||||
|
unset( _rcc_version_dump )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Internal macro for adding the C++ / Qt translations to the
|
# Internal macro for adding the C++ / Qt translations to the
|
||||||
# build and install tree. Should be called only once, from
|
# build and install tree. Should be called only once, from
|
||||||
# src/calamares/CMakeLists.txt.
|
# src/calamares/CMakeLists.txt.
|
||||||
@ -61,7 +95,7 @@ macro(add_calamares_translations language)
|
|||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${trans_outfile}
|
OUTPUT ${trans_outfile}
|
||||||
COMMAND "${Qt5Core_RCC_EXECUTABLE}"
|
COMMAND "${Qt5Core_RCC_EXECUTABLE}"
|
||||||
ARGS ${rcc_options} --format-version 1 -name ${trans_file} -o ${trans_outfile} ${trans_infile}
|
ARGS ${rcc_options} ${_rcc_version_support} -name ${trans_file} -o ${trans_outfile} ${trans_infile}
|
||||||
MAIN_DEPENDENCY ${trans_infile}
|
MAIN_DEPENDENCY ${trans_infile}
|
||||||
DEPENDS ${QM_FILES}
|
DEPENDS ${QM_FILES}
|
||||||
)
|
)
|
||||||
|
13
README.md
13
README.md
@ -15,11 +15,12 @@
|
|||||||
Main:
|
Main:
|
||||||
* Compiler with C++11 support: GCC >= 4.9.0 or Clang >= 3.5.1
|
* Compiler with C++11 support: GCC >= 4.9.0 or Clang >= 3.5.1
|
||||||
* CMake >= 3.2
|
* CMake >= 3.2
|
||||||
* Qt >= 5.6
|
* Qt >= 5.7
|
||||||
* yaml-cpp >= 0.5.1
|
* yaml-cpp >= 0.5.1
|
||||||
* Python >= 3.3
|
* Python >= 3.3 (required for some modules)
|
||||||
* Boost.Python >= 1.55.0
|
* Boost.Python >= 1.55.0 (recommended, or PythonQt; one is required for some modules)
|
||||||
* extra-cmake-modules (recommended; required for some modules)
|
* PythonQt (recommended, or Boost.Python; one is required for some modules)
|
||||||
|
* extra-cmake-modules >= 5.18 (recommended; required for some modules)
|
||||||
|
|
||||||
Modules:
|
Modules:
|
||||||
* welcome:
|
* welcome:
|
||||||
@ -38,6 +39,6 @@ Modules:
|
|||||||
### Building
|
### Building
|
||||||
|
|
||||||
See [wiki](https://github.com/calamares/calamares/wiki) for up to date
|
See [wiki](https://github.com/calamares/calamares/wiki) for up to date
|
||||||
[building](https://github.com/calamares/calamares/wiki/Developer's-Guide)
|
[building](https://github.com/calamares/calamares/wiki/Develop-Guide)
|
||||||
and [deployment](https://github.com/calamares/calamares/wiki/Deployer's-Guide)
|
and [deployment](https://github.com/calamares/calamares/wiki/Deploy-Guide)
|
||||||
instructions.
|
instructions.
|
||||||
|
@ -47,9 +47,9 @@ GenericName[es]=Instalador del Sistema
|
|||||||
Comment[es]=Calamares — Instalador del Sistema
|
Comment[es]=Calamares — Instalador del Sistema
|
||||||
Name[es]=Instalar Sistema
|
Name[es]=Instalar Sistema
|
||||||
Icon[et]=calamares
|
Icon[et]=calamares
|
||||||
GenericName[et]=Süsteemi installija
|
GenericName[et]=Süsteemipaigaldaja
|
||||||
Comment[et]=Calamares — Süsteemi installija
|
Comment[et]=Calamares — süsteemipaigaldaja
|
||||||
Name[et]=Installi süsteem
|
Name[et]=Paigalda süsteem
|
||||||
Name[eu]=Sistema instalatu
|
Name[eu]=Sistema instalatu
|
||||||
Name[es_PR]=Instalar el sistema
|
Name[es_PR]=Instalar el sistema
|
||||||
Icon[fr]=calamares
|
Icon[fr]=calamares
|
||||||
@ -156,6 +156,9 @@ Icon[eo]=calamares
|
|||||||
GenericName[eo]=Sistema Instalilo
|
GenericName[eo]=Sistema Instalilo
|
||||||
Comment[eo]=Calamares — Sistema Instalilo
|
Comment[eo]=Calamares — Sistema Instalilo
|
||||||
Name[eo]=Instali Sistemo
|
Name[eo]=Instali Sistemo
|
||||||
|
Icon[es_MX]=calamares
|
||||||
|
GenericName[es_MX]=Instalador del sistema
|
||||||
|
Comment[es_MX]=Calamares - Instalador del sistema
|
||||||
Name[es_MX]=Instalar el Sistema
|
Name[es_MX]=Instalar el Sistema
|
||||||
Icon[pt_PT]=calamares
|
Icon[pt_PT]=calamares
|
||||||
GenericName[pt_PT]=Instalador de Sistema
|
GenericName[pt_PT]=Instalador de Sistema
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -9,12 +9,12 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="79"/>
|
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="79"/>
|
||||||
<source>This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own.</source>
|
<source>This system was started with an <strong>EFI</strong> boot environment.<br><br>To configure startup from an EFI environment, this installer must deploy a boot loader application, like <strong>GRUB</strong> or <strong>systemd-boot</strong> on an <strong>EFI System Partition</strong>. This is automatic, unless you choose manual partitioning, in which case you must choose it or create it on your own.</source>
|
||||||
<translation>See süsteem käivitati <strong>EFI</strong> käivituskeskkonnas.<br><br>Et seadistada käivitust EFI keskkonnast, peab see installija paigaldama käivituslaaduri rakenduse, näiteks <strong>GRUB</strong> või <strong>systemd-boot</strong> sinu <strong>EFI süsteemipartitsioonile</strong>. See on automaatne, välja arvatud juhul, kui valid käsitsi partitsioneerimise, sel juhul pead sa selle valima või ise looma.</translation>
|
<translation>See süsteem käivitati <strong>EFI</strong> käivituskeskkonnas.<br><br>Et seadistada käivitust EFI keskkonnast, peab see paigaldaja paigaldama käivituslaaduri rakenduse, näiteks <strong>GRUB</strong> või <strong>systemd-boot</strong> sinu <strong>EFI süsteemipartitsioonile</strong>. See on automaatne, välja arvatud juhul, kui valid käsitsi partitsioneerimise, sel juhul pead sa selle valima või ise looma.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="91"/>
|
<location filename="../src/modules/partition/gui/BootInfoWidget.cpp" line="91"/>
|
||||||
<source>This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own.</source>
|
<source>This system was started with a <strong>BIOS</strong> boot environment.<br><br>To configure startup from a BIOS environment, this installer must install a boot loader, like <strong>GRUB</strong>, either at the beginning of a partition or on the <strong>Master Boot Record</strong> near the beginning of the partition table (preferred). This is automatic, unless you choose manual partitioning, in which case you must set it up on your own.</source>
|
||||||
<translation>See süsteem käivitati <strong>BIOS</strong> käivituskeskkonnas.<br><br>Et seadistada käivitust BIOS keskkonnast, peab see installija paigaldama käivituslaaduri, näiteks <strong>GRUB</strong>, kas mõne partitsiooni algusse või <strong>Master Boot Record</strong>'i paritsioonitabeli alguse lähedale (eelistatud). See on automaatne, välja arvatud juhul, kui valid käsitsi partitsioneerimise, sel juhul pead sa selle ise seadistama.</translation>
|
<translation>See süsteem käivitati <strong>BIOS</strong> käivituskeskkonnas.<br><br>Et seadistada käivitust BIOS keskkonnast, peab see paigaldaja paigaldama käivituslaaduri, näiteks <strong>GRUB</strong>, kas mõne partitsiooni algusse või <strong>Master Boot Record</strong>'i paritsioonitabeli alguse lähedale (eelistatud). See on automaatne, välja arvatud juhul, kui valid käsitsi partitsioneerimise, sel juhul pead sa selle ise seadistama.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -37,7 +37,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="111"/>
|
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="111"/>
|
||||||
<source>Do not install a boot loader</source>
|
<source>Do not install a boot loader</source>
|
||||||
<translation>Ära installi käivituslaadurit</translation>
|
<translation>Ära paigalda käivituslaadurit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="125"/>
|
<location filename="../src/modules/partition/core/BootLoaderModel.cpp" line="125"/>
|
||||||
@ -99,7 +99,7 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="78"/>
|
<location filename="../src/libcalamaresui/ExecutionViewStep.cpp" line="78"/>
|
||||||
<source>Install</source>
|
<source>Install</source>
|
||||||
<translation>Installi</translation>
|
<translation>Paigalda</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -179,24 +179,24 @@
|
|||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="76"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="76"/>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="267"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="267"/>
|
||||||
<source>Cancel installation without changing the system.</source>
|
<source>Cancel installation without changing the system.</source>
|
||||||
<translation>Tühista installimine ilma süsteemi muutmata.</translation>
|
<translation>Tühista paigaldamine ilma süsteemi muutmata.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="255"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="255"/>
|
||||||
<source>&Install</source>
|
<source>&Install</source>
|
||||||
<translation>&Installi</translation>
|
<translation>&Paigalda</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="303"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="303"/>
|
||||||
<source>Cancel installation?</source>
|
<source>Cancel installation?</source>
|
||||||
<translation>Tühista installimine?</translation>
|
<translation>Tühista paigaldamine?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="304"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="304"/>
|
||||||
<source>Do you really want to cancel the current install process?
|
<source>Do you really want to cancel the current install process?
|
||||||
The installer will quit and all changes will be lost.</source>
|
The installer will quit and all changes will be lost.</source>
|
||||||
<translation>Kas sa tõesti soovid tühistada praeguse installiprotsessi?
|
<translation>Kas sa tõesti soovid tühistada praeguse paigaldusprotsessi?
|
||||||
Installija sulgub ja kõik muutused kaovad.</translation>
|
Paigaldaja sulgub ning kõik muutused kaovad.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="309"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="309"/>
|
||||||
@ -221,12 +221,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="216"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="216"/>
|
||||||
<source>The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong></source>
|
<source>The %1 installer is about to make changes to your disk in order to install %2.<br/><strong>You will not be able to undo these changes.</strong></source>
|
||||||
<translation>%1 installija on tegemas muudatusi sinu kettale, et installida %2.<br/><strong>Sa ei saa neid muudatusi tagasi võtta.</strong></translation>
|
<translation>%1 paigaldaja on tegemas muudatusi sinu kettale, et paigaldada %2.<br/><strong>Sa ei saa neid muudatusi tagasi võtta.</strong></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="221"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="221"/>
|
||||||
<source>&Install now</source>
|
<source>&Install now</source>
|
||||||
<translation>&Installi kohe</translation>
|
<translation>&Paigalda kohe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="222"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="222"/>
|
||||||
@ -241,7 +241,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="262"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="262"/>
|
||||||
<source>The installation is complete. Close the installer.</source>
|
<source>The installation is complete. Close the installer.</source>
|
||||||
<translation>Installimine on lõpetatud. Sulge installija.</translation>
|
<translation>Paigaldamine on lõpetatud. Sulge paigaldaja.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="159"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="159"/>
|
||||||
@ -251,7 +251,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/libcalamaresui/ViewManager.cpp" line="160"/>
|
<location filename="../src/libcalamaresui/ViewManager.cpp" line="160"/>
|
||||||
<source>Installation Failed</source>
|
<source>Installation Failed</source>
|
||||||
<translation>Installimine ebaõnnestus</translation>
|
<translation>Paigaldamine ebaõnnestus</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -282,7 +282,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/CalamaresWindow.cpp" line="44"/>
|
<location filename="../src/calamares/CalamaresWindow.cpp" line="44"/>
|
||||||
<source>%1 Installer</source>
|
<source>%1 Installer</source>
|
||||||
<translation>%1 installija</translation>
|
<translation>%1 paigaldaja</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/calamares/CalamaresWindow.cpp" line="111"/>
|
<location filename="../src/calamares/CalamaresWindow.cpp" line="111"/>
|
||||||
@ -295,12 +295,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="96"/>
|
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="96"/>
|
||||||
<source>This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a></source>
|
<source>This computer does not satisfy the minimum requirements for installing %1.<br/>Installation cannot continue. <a href="#details">Details...</a></source>
|
||||||
<translation>See arvuti ei rahulda %1 installimiseks vajalikke minimaaltingimusi.<br/>Installimine ei saa jätkuda. <a href="#details">Detailid...</a></translation>
|
<translation>See arvuti ei rahulda %1 paigldamiseks vajalikke minimaaltingimusi.<br/>Paigaldamine ei saa jätkuda. <a href="#details">Detailid...</a></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="113"/>
|
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="113"/>
|
||||||
<source>This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled.</source>
|
<source>This computer does not satisfy some of the recommended requirements for installing %1.<br/>Installation can continue, but some features might be disabled.</source>
|
||||||
<translation>See arvuti ei rahulda mõnda %1 installimiseks soovitatud tingimust.<br/>Installimine võib jätkuda, ent mõned funktsioonid võivad olla keelatud.</translation>
|
<translation>See arvuti ei rahulda mõnda %1 paigaldamiseks soovitatud tingimust.<br/>Paigaldamine võib jätkuda, ent mõned funktsioonid võivad olla keelatud.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="151"/>
|
<location filename="../src/modules/welcome/checker/CheckerWidget.cpp" line="151"/>
|
||||||
@ -371,7 +371,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1040"/>
|
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1040"/>
|
||||||
<source><strong>Select a partition to install on</strong></source>
|
<source><strong>Select a partition to install on</strong></source>
|
||||||
<translation><strong>Vali partitsioon, kuhu installida</strong></translation>
|
<translation><strong>Vali partitsioon, kuhu paigaldada</strong></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1096"/>
|
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1096"/>
|
||||||
@ -412,7 +412,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1260"/>
|
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1260"/>
|
||||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1284"/>
|
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1284"/>
|
||||||
<source><strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1.</source>
|
<source><strong>Install alongside</strong><br/>The installer will shrink a partition to make room for %1.</source>
|
||||||
<translation><strong>Installi kõrvale</strong><br/>Installija vähendab partitsiooni, et teha ruumi operatsioonisüsteemile %1.</translation>
|
<translation><strong>Paigalda kõrvale</strong><br/>Paigaldaja vähendab partitsiooni, et teha ruumi operatsioonisüsteemile %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1213"/>
|
<location filename="../src/modules/partition/gui/ChoicePage.cpp" line="1213"/>
|
||||||
@ -599,7 +599,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="79"/>
|
<location filename="../src/modules/partition/jobs/CreatePartitionJob.cpp" line="79"/>
|
||||||
<source>The installer failed to create partition on disk '%1'.</source>
|
<source>The installer failed to create partition on disk '%1'.</source>
|
||||||
<translation>Installija ei suutnud luua partitsiooni kettale "%1".</translation>
|
<translation>Paigaldaja ei suutnud luua partitsiooni kettale "%1".</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -650,7 +650,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/CreatePartitionTableJob.cpp" line="72"/>
|
<location filename="../src/modules/partition/jobs/CreatePartitionTableJob.cpp" line="72"/>
|
||||||
<source>The installer failed to create a partition table on %1.</source>
|
<source>The installer failed to create a partition table on %1.</source>
|
||||||
<translation>Installija ei suutnud luua partitsioonitabelit kettale %1.</translation>
|
<translation>Paigaldaja ei suutnud luua partitsioonitabelit kettale %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -711,7 +711,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="68"/>
|
<location filename="../src/modules/partition/jobs/DeletePartitionJob.cpp" line="68"/>
|
||||||
<source>The installer failed to delete partition %1.</source>
|
<source>The installer failed to delete partition %1.</source>
|
||||||
<translation>Installija ei suutnud kustutada partitsiooni %1.</translation>
|
<translation>Paigaldaja ei suutnud kustutada partitsiooni %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -719,7 +719,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="150"/>
|
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="150"/>
|
||||||
<source>The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred.</source>
|
<source>The type of <strong>partition table</strong> on the selected storage device.<br><br>The only way to change the partition table type is to erase and recreate the partition table from scratch, which destroys all data on the storage device.<br>This installer will keep the current partition table unless you explicitly choose otherwise.<br>If unsure, on modern systems GPT is preferred.</source>
|
||||||
<translation><strong>Partitsioonitabeli</strong> tüüp valitud mäluseadmel.<br><br>Ainuke viis partitsioonitabelit muuta on see kustutada ja nullist taasluua, mis hävitab kõik andmed mäluseadmel.<br>See installija säilitab praeguse partitsioonitabeli, v.a juhul kui sa ise valid vastupidist.<br>Kui pole kindel, eelista modernsetel süsteemidel GPT-d.</translation>
|
<translation><strong>Partitsioonitabeli</strong> tüüp valitud mäluseadmel.<br><br>Ainuke viis partitsioonitabelit muuta on see kustutada ja nullist taasluua, mis hävitab kõik andmed mäluseadmel.<br>See paigaldaja säilitab praeguse partitsioonitabeli, v.a juhul kui sa ise valid vastupidist.<br>Kui pole kindel, eelista modernsetel süsteemidel GPT-d.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="107"/>
|
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="107"/>
|
||||||
@ -734,7 +734,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="121"/>
|
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="121"/>
|
||||||
<source>This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
|
<source>This installer <strong>cannot detect a partition table</strong> on the selected storage device.<br><br>The device either has no partition table, or the partition table is corrupted or of an unknown type.<br>This installer can create a new partition table for you, either automatically, or through the manual partitioning page.</source>
|
||||||
<translation>See installija <strong>ei suuda tuvastada partitsioonitabelit</strong>valitud mäluseadmel.<br><br>Seadmel kas pole partitsioonitabelit, see on korrumpeerunud või on tundmatut tüüpi.<br>See installija võib sulle luua uue partitsioonitabeli, kas automaatselt või läbi käsitsi partitsioneerimise lehe. </translation>
|
<translation>See paigaldaja <strong>ei suuda tuvastada partitsioonitabelit</strong>valitud mäluseadmel.<br><br>Seadmel kas pole partitsioonitabelit, see on korrumpeerunud või on tundmatut tüüpi.<br>See paigaldaja võib sulle luua uue partitsioonitabeli, kas automaatselt või läbi käsitsi partitsioneerimise lehe. </translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="131"/>
|
<location filename="../src/modules/partition/gui/DeviceInfoWidget.cpp" line="131"/>
|
||||||
@ -877,7 +877,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="147"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="147"/>
|
||||||
<source>Install %1 on <strong>new</strong> %2 system partition.</source>
|
<source>Install %1 on <strong>new</strong> %2 system partition.</source>
|
||||||
<translation>Installi %1 <strong>uude</strong> %2 süsteemipartitsiooni.</translation>
|
<translation>Paigalda %1 <strong>uude</strong> %2 süsteemipartitsiooni.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="151"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="151"/>
|
||||||
@ -887,7 +887,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="159"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="159"/>
|
||||||
<source>Install %2 on %3 system partition <strong>%1</strong>.</source>
|
<source>Install %2 on %3 system partition <strong>%1</strong>.</source>
|
||||||
<translation>Installi %2 %3 süsteemipartitsioonile <strong>%1</strong>.</translation>
|
<translation>Paigalda %2 %3 süsteemipartitsioonile <strong>%1</strong>.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="164"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="164"/>
|
||||||
@ -897,7 +897,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="176"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="176"/>
|
||||||
<source>Install boot loader on <strong>%1</strong>.</source>
|
<source>Install boot loader on <strong>%1</strong>.</source>
|
||||||
<translation>Installi käivituslaadur kohta <strong>%1</strong>.</translation>
|
<translation>Paigalda käivituslaadur kohta <strong>%1</strong>.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="186"/>
|
<location filename="../src/modules/partition/jobs/FillGlobalStorageJob.cpp" line="186"/>
|
||||||
@ -915,7 +915,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
|
<location filename="../src/modules/finished/FinishedPage.ui" line="95"/>
|
||||||
<source><html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html></source>
|
<source><html><head/><body><p>When this box is checked, your system will restart immediately when you click on <span style=" font-style:italic;">Done</span> or close the installer.</p></body></html></source>
|
||||||
<translation><html><head/><body><p>Kui see märkeruut on täidetud, taaskäivitab su süsteem automaatselt, kui vajutad <span style=" font-style:italic;">Valmis</span> või sulged installija.</p></body></html></translation>
|
<translation><html><head/><body><p>Kui see märkeruut on täidetud, taaskäivitab su süsteem automaatselt, kui vajutad <span style=" font-style:italic;">Valmis</span> või sulged paigaldaja.</p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
|
<location filename="../src/modules/finished/FinishedPage.ui" line="98"/>
|
||||||
@ -925,12 +925,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="51"/>
|
<location filename="../src/modules/finished/FinishedPage.cpp" line="51"/>
|
||||||
<source><h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment.</source>
|
<source><h1>All done.</h1><br/>%1 has been installed on your computer.<br/>You may now restart into your new system, or continue using the %2 Live environment.</source>
|
||||||
<translation><h1>Kõik on valmis.</h1><br/>%1 on installitud sinu arvutisse.<br/>Sa võid nüüd taaskäivitada oma uude süsteemi või jätkata %2 live-keskkonna kasutamist.</translation>
|
<translation><h1>Kõik on valmis.</h1><br/>%1 on paigaldatud sinu arvutisse.<br/>Sa võid nüüd taaskäivitada oma uude süsteemi või jätkata %2 live-keskkonna kasutamist.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedPage.cpp" line="109"/>
|
<location filename="../src/modules/finished/FinishedPage.cpp" line="109"/>
|
||||||
<source><h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2.</source>
|
<source><h1>Installation Failed</h1><br/>%1 has not been installed on your computer.<br/>The error message was: %2.</source>
|
||||||
<translation><h1>Installimine ebaõnnestus</h1><br/>%1 ei installitud sinu arvutisse.<br/>Veateade oli: %2.</translation>
|
<translation><h1>Paigaldamine ebaõnnestus</h1><br/>%1 ei paigaldatud sinu arvutisse.<br/>Veateade oli: %2.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -943,12 +943,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="124"/>
|
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="124"/>
|
||||||
<source>Installation Complete</source>
|
<source>Installation Complete</source>
|
||||||
<translation>Installimine lõpetatud</translation>
|
<translation>Paigaldus valmis</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="125"/>
|
<location filename="../src/modules/finished/FinishedViewStep.cpp" line="125"/>
|
||||||
<source>The installation of %1 is complete.</source>
|
<source>The installation of %1 is complete.</source>
|
||||||
<translation>%1 installimine on lõpetatud.</translation>
|
<translation>%1 paigaldus on valmis.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -971,7 +971,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="77"/>
|
<location filename="../src/modules/partition/jobs/FormatPartitionJob.cpp" line="77"/>
|
||||||
<source>The installer failed to format partition %1 on disk '%2'.</source>
|
<source>The installer failed to format partition %1 on disk '%2'.</source>
|
||||||
<translation>Installija ei suutnud vormindada partitsiooni %1 kettal "%2".</translation>
|
<translation>Paigaldaja ei suutnud vormindada partitsiooni %1 kettal "%2".</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -979,12 +979,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="53"/>
|
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="53"/>
|
||||||
<source>Konsole not installed</source>
|
<source>Konsole not installed</source>
|
||||||
<translation>Konsole pole installitud</translation>
|
<translation>Konsole pole paigaldatud</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="54"/>
|
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="54"/>
|
||||||
<source>Please install KDE Konsole and try again!</source>
|
<source>Please install KDE Konsole and try again!</source>
|
||||||
<translation>Palun installi KDE Konsole ja proovi uuesti!</translation>
|
<translation>Palun paigalda KDE Konsole ja proovi uuesti!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="116"/>
|
<location filename="../src/modules/interactiveterminal/InteractiveTerminalPage.cpp" line="116"/>
|
||||||
@ -1059,7 +1059,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/license/LicensePage.cpp" line="115"/>
|
<location filename="../src/modules/license/LicensePage.cpp" line="115"/>
|
||||||
<source><h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms.</source>
|
<source><h1>License Agreement</h1>This setup procedure will install proprietary software that is subject to licensing terms.</source>
|
||||||
<translation><h1>Litsensileping</h1>See seadistusprotseduur installib omandiõigusega tarkvara, mis vastab litsensitingimustele.</translation>
|
<translation><h1>Litsensileping</h1>See seadistusprotseduur paigaldab omandiõigusega tarkvara, mis vastab litsensitingimustele.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/license/LicensePage.cpp" line="118"/>
|
<location filename="../src/modules/license/LicensePage.cpp" line="118"/>
|
||||||
@ -1069,12 +1069,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/license/LicensePage.cpp" line="124"/>
|
<location filename="../src/modules/license/LicensePage.cpp" line="124"/>
|
||||||
<source><h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience.</source>
|
<source><h1>License Agreement</h1>This setup procedure can install proprietary software that is subject to licensing terms in order to provide additional features and enhance the user experience.</source>
|
||||||
<translation><h1>Litsensileping</h1>See seadistusprotseduur võib installida omandiõigusega tarkvara, mis vastab litsensitingimustele, et pakkuda lisafunktsioone ja täiendada kasutajakogemust.</translation>
|
<translation><h1>Litsensileping</h1>See seadistusprotseduur võib paigaldada omandiõigusega tarkvara, mis vastab litsensitingimustele, et pakkuda lisafunktsioone ja täiendada kasutajakogemust.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/license/LicensePage.cpp" line="129"/>
|
<location filename="../src/modules/license/LicensePage.cpp" line="129"/>
|
||||||
<source>Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead.</source>
|
<source>Please review the End User License Agreements (EULAs) above.<br/>If you do not agree with the terms, proprietary software will not be installed, and open source alternatives will be used instead.</source>
|
||||||
<translation>Palun loe läbi allolevad lõppkasutaja litsensilepingud (EULAd).<br/>Kui sa tingimustega ei nõustu, ei installita omandiõigusega tarkvara ning selle asemel kasutatakse avatud lähtekoodiga alternatiive.</translation>
|
<translation>Palun loe läbi allolevad lõppkasutaja litsensilepingud (EULAd).<br/>Kui sa tingimustega ei nõustu, ei paigaldata omandiõigusega tarkvara ning selle asemel kasutatakse avatud lähtekoodiga alternatiive.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/license/LicensePage.cpp" line="159"/>
|
<location filename="../src/modules/license/LicensePage.cpp" line="159"/>
|
||||||
@ -1190,12 +1190,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="86"/>
|
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="86"/>
|
||||||
<source>Network Installation. (Disabled: Unable to fetch package lists, check your network connection)</source>
|
<source>Network Installation. (Disabled: Unable to fetch package lists, check your network connection)</source>
|
||||||
<translation>Võrguinstall. (Keelatud: paketinimistute saamine ebaõnnestus, kontrolli oma võrguühendust)</translation>
|
<translation>Võrgupaigaldus. (Keelatud: paketinimistute saamine ebaõnnestus, kontrolli oma võrguühendust)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="96"/>
|
<location filename="../src/modules/netinstall/NetInstallPage.cpp" line="96"/>
|
||||||
<source>Network Installation. (Disabled: Received invalid groups data)</source>
|
<source>Network Installation. (Disabled: Received invalid groups data)</source>
|
||||||
<translation>Võrguinstall. (Keelatud: vastu võetud sobimatud grupiandmed)</translation>
|
<translation>Võrgupaigaldus. (Keelatud: vastu võetud sobimatud grupiandmed)</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1494,7 +1494,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/users/page_usersetup.ui" line="200"/>
|
<location filename="../src/modules/users/page_usersetup.ui" line="200"/>
|
||||||
<source><small>If more than one person will use this computer, you can set up multiple accounts after installation.</small></source>
|
<source><small>If more than one person will use this computer, you can set up multiple accounts after installation.</small></source>
|
||||||
<translation><small>Kui rohkem kui üks inimene kasutab seda arvutit, saad sa määrata mitu kontot peale installi.</small></translation>
|
<translation><small>Kui rohkem kui üks inimene kasutab seda arvutit, saad sa pärast paigaldust määrata mitu kontot.</small></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/users/page_usersetup.ui" line="335"/>
|
<location filename="../src/modules/users/page_usersetup.ui" line="335"/>
|
||||||
@ -1655,7 +1655,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="148"/>
|
<location filename="../src/modules/partition/gui/PartitionPage.ui" line="148"/>
|
||||||
<source>Install boot &loader on:</source>
|
<source>Install boot &loader on:</source>
|
||||||
<translation>Installi käivituslaadur kohta:</translation>
|
<translation>Paigalda käivituslaadur kohta:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="169"/>
|
<location filename="../src/modules/partition/gui/PartitionPage.cpp" line="169"/>
|
||||||
@ -1688,12 +1688,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="158"/>
|
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="158"/>
|
||||||
<source>Install %1 <strong>alongside</strong> another operating system.</source>
|
<source>Install %1 <strong>alongside</strong> another operating system.</source>
|
||||||
<translation>Installi %1 praeguse operatsioonisüsteemi <strong>kõrvale</strong></translation>
|
<translation>Paigalda %1 praeguse operatsioonisüsteemi <strong>kõrvale</strong></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="162"/>
|
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="162"/>
|
||||||
<source><strong>Erase</strong> disk and install %1.</source>
|
<source><strong>Erase</strong> disk and install %1.</source>
|
||||||
<translation><strong>Tühjenda</strong> ketas ja installi %1.</translation>
|
<translation><strong>Tühjenda</strong> ketas ja paigalda %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="166"/>
|
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="166"/>
|
||||||
@ -1708,12 +1708,12 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="184"/>
|
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="184"/>
|
||||||
<source>Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3).</source>
|
<source>Install %1 <strong>alongside</strong> another operating system on disk <strong>%2</strong> (%3).</source>
|
||||||
<translation>Installi %1 teise operatsioonisüsteemi <strong>kõrvale</strong> kettal <strong>%2</strong> (%3).</translation>
|
<translation>Paigalda %1 teise operatsioonisüsteemi <strong>kõrvale</strong> kettal <strong>%2</strong> (%3).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="190"/>
|
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="190"/>
|
||||||
<source><strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1.</source>
|
<source><strong>Erase</strong> disk <strong>%2</strong> (%3) and install %1.</source>
|
||||||
<translation><strong>Tühjenda</strong> ketas <strong>%2</strong> (%3) ja installi %1.</translation>
|
<translation><strong>Tühjenda</strong> ketas <strong>%2</strong> (%3) ja paigalda %1.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="196"/>
|
<location filename="../src/modules/partition/gui/PartitionViewStep.cpp" line="196"/>
|
||||||
@ -1800,7 +1800,7 @@ Installija sulgub ja kõik muutused kaovad.</translation>
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
|
<location filename="../src/modules/plasmalnf/PlasmaLnfPage.cpp" line="67"/>
|
||||||
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
|
<source>Please choose a look-and-feel for the KDE Plasma Desktop. You can also skip this step and configure the look-and-feel once the system is installed. Clicking on a look-and-feel selection will give you a live preview of that look-and-feel.</source>
|
||||||
<translation>Palun vali KDE Plasma Desktop'ile välimus-ja-tunnetus. Sa võid selle sammu ka vahele jätta ja seadistada välimust-ja-tunnetust siis, kui süsteem on installitud. Välimuse-ja-tunnetuse valikule klõpsates näed selle reaalajas eelvaadet.</translation>
|
<translation>Palun vali KDE Plasma töölauale välimus-ja-tunnetus. Sa võid selle sammu ka vahele jätta ja seadistada välimust-ja-tunnetust siis, kui süsteem on paigaldatud. Välimuse-ja-tunnetuse valikule klõpsates näed selle reaalajas eelvaadet.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -1947,7 +1947,7 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="134"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="134"/>
|
||||||
<source>Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition.</source>
|
<source>Select where to install %1.<br/><font color="red">Warning: </font>this will delete all files on the selected partition.</source>
|
||||||
<translation>Vali, kuhu soovid %1 installida.<br/><font color="red">Hoiatus: </font>see kustutab valitud partitsioonilt kõik failid.</translation>
|
<translation>Vali, kuhu soovid %1 paigaldada.<br/><font color="red">Hoiatus: </font>see kustutab valitud partitsioonilt kõik failid.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="160"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="160"/>
|
||||||
@ -1957,17 +1957,17 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="168"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="168"/>
|
||||||
<source>%1 cannot be installed on empty space. Please select an existing partition.</source>
|
<source>%1 cannot be installed on empty space. Please select an existing partition.</source>
|
||||||
<translation>%1 ei saa installida tühjale kohale. Palun vali olemasolev partitsioon.</translation>
|
<translation>%1 ei saa paigldada tühjale kohale. Palun vali olemasolev partitsioon.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="178"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="178"/>
|
||||||
<source>%1 cannot be installed on an extended partition. Please select an existing primary or logical partition.</source>
|
<source>%1 cannot be installed on an extended partition. Please select an existing primary or logical partition.</source>
|
||||||
<translation>%1 ei saa installida laiendatud partitsioonile. Palun vali olemasolev põhiline või loogiline partitsioon.</translation>
|
<translation>%1 ei saa paigaldada laiendatud partitsioonile. Palun vali olemasolev põhiline või loogiline partitsioon.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="188"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="188"/>
|
||||||
<source>%1 cannot be installed on this partition.</source>
|
<source>%1 cannot be installed on this partition.</source>
|
||||||
<translation>%1 ei saa installida sellele partitsioonidel.</translation>
|
<translation>%1 ei saa sellele partitsioonile paigaldada.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="194"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="194"/>
|
||||||
@ -1999,7 +1999,7 @@ Väljund:
|
|||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="278"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="278"/>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="302"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="302"/>
|
||||||
<source><strong>%3</strong><br/><br/>%1 will be installed on %2.<br/><font color="red">Warning: </font>all data on partition %2 will be lost.</source>
|
<source><strong>%3</strong><br/><br/>%1 will be installed on %2.<br/><font color="red">Warning: </font>all data on partition %2 will be lost.</source>
|
||||||
<translation><strong>%3</strong><br/><br/>%1 installitakse partitsioonile %2.<br/><font color="red">Hoiatus: </font>kõik andmed partitsioonil %2 kaovad.</translation>
|
<translation><strong>%3</strong><br/><br/>%1 paigaldatakse partitsioonile %2.<br/><font color="red">Hoiatus: </font>kõik andmed partitsioonil %2 kaovad.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="270"/>
|
<location filename="../src/modules/partition/gui/ReplaceWidget.cpp" line="270"/>
|
||||||
@ -2062,12 +2062,12 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="155"/>
|
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="155"/>
|
||||||
<source>The installer is not running with administrator rights.</source>
|
<source>The installer is not running with administrator rights.</source>
|
||||||
<translation>Installija ei tööta administraatoriõigustega.</translation>
|
<translation>Paigaldaja pole käivitatud administraatoriõigustega.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="163"/>
|
<location filename="../src/modules/welcome/checker/RequirementsChecker.cpp" line="163"/>
|
||||||
<source>The screen is too small to display the installer.</source>
|
<source>The screen is too small to display the installer.</source>
|
||||||
<translation>Ekraan on liiga väike installija kuvamiseks.</translation>
|
<translation>Ekraan on paigaldaja kuvamiseks liiga väike.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -2090,7 +2090,7 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/ResizePartitionJob.cpp" line="85"/>
|
<location filename="../src/modules/partition/jobs/ResizePartitionJob.cpp" line="85"/>
|
||||||
<source>The installer failed to resize partition %1 on disk '%2'.</source>
|
<source>The installer failed to resize partition %1 on disk '%2'.</source>
|
||||||
<translation>Installijal ebaõnnestus partitsiooni %1 suuruse muutmine kettal "%2".</translation>
|
<translation>Paigaldajal ebaõnnestus partitsiooni %1 suuruse muutmine kettal "%2".</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -2246,7 +2246,7 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="140"/>
|
<location filename="../src/modules/partition/jobs/SetPartitionFlagsJob.cpp" line="140"/>
|
||||||
<source>The installer failed to set flags on partition %1.</source>
|
<source>The installer failed to set flags on partition %1.</source>
|
||||||
<translation>Installija ei suutnud silte määrata partitsioonile %1.</translation>
|
<translation>Paigaldaja ei suutnud partitsioonile %1 silte määrata.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -2352,7 +2352,7 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/summary/SummaryPage.cpp" line="49"/>
|
<location filename="../src/modules/summary/SummaryPage.cpp" line="49"/>
|
||||||
<source>This is an overview of what will happen once you start the install procedure.</source>
|
<source>This is an overview of what will happen once you start the install procedure.</source>
|
||||||
<translation>See on ülevaade sellest mis juhtub, kui alustad installiprotseduuri.</translation>
|
<translation>See on ülevaade sellest mis juhtub, kui alustad paigaldusprotseduuri.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -2368,17 +2368,17 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="43"/>
|
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="43"/>
|
||||||
<source>Installation feedback</source>
|
<source>Installation feedback</source>
|
||||||
<translation>Installimise tagasiside</translation>
|
<translation>Paigalduse tagasiside</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="53"/>
|
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="53"/>
|
||||||
<source>Sending installation feedback.</source>
|
<source>Sending installation feedback.</source>
|
||||||
<translation>Saadan installimise tagasisidet.</translation>
|
<translation>Saadan paigalduse tagasisidet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="88"/>
|
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="88"/>
|
||||||
<source>Internal error in install-tracking.</source>
|
<source>Internal error in install-tracking.</source>
|
||||||
<translation>Installi jälitamisel esines sisemine viga.</translation>
|
<translation>Paigaldate jälitamisel esines sisemine viga.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="89"/>
|
<location filename="../src/modules/tracking/TrackingJobs.cpp" line="89"/>
|
||||||
@ -2430,7 +2430,7 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
|
<location filename="../src/modules/tracking/page_trackingstep.ui" line="72"/>
|
||||||
<source><html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html></source>
|
<source><html><head/><body><p>By selecting this, you will send <span style=" font-weight:600;">no information at all</span> about your installation.</p></body></html></source>
|
||||||
<translation><html><head/><body><p>Seda valides <span style=" font-weight:600;">ei saada sa üldse</span> teavet oma installi kohta.</p></body></html></translation>
|
<translation><html><head/><body><p>Seda valides <span style=" font-weight:600;">ei saada sa üldse</span> teavet oma paigalduse kohta.</p></body></html></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/page_trackingstep.ui" line="123"/>
|
<location filename="../src/modules/tracking/page_trackingstep.ui" line="123"/>
|
||||||
@ -2454,22 +2454,22 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="44"/>
|
<location filename="../src/modules/tracking/TrackingPage.cpp" line="44"/>
|
||||||
<source>Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area.</source>
|
<source>Install tracking helps %1 to see how many users they have, what hardware they install %1 to and (with the last two options below), get continuous information about preferred applications. To see what will be sent, please click the help icon next to each area.</source>
|
||||||
<translation>Installijälitamine aitab %1-l näha, mitu kasutajat neil on, mis riistvarale nad %1 installivad ja (märkides kaks alumist valikut) saada pidevat teavet eelistatud rakenduste kohta. Et näha, mis infot saadetakse, palun klõpsa abiikooni iga ala kõrval.</translation>
|
<translation>Paigalduse jälitamine aitab %1-l näha, mitu kasutajat neil on, mis riistvarale nad %1 paigaldavad ja (märkides kaks alumist valikut) saada pidevat teavet eelistatud rakenduste kohta. Et näha, mis infot saadetakse, palun klõpsa abiikooni iga ala kõrval.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="45"/>
|
<location filename="../src/modules/tracking/TrackingPage.cpp" line="45"/>
|
||||||
<source>By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes.</source>
|
<source>By selecting this you will send information about your installation and hardware. This information will <b>only be sent once</b> after the installation finishes.</source>
|
||||||
<translation>Seda valides saadad sa teavet oma installi ja riistvara kohta. See teave <b>saadetakse ainult korra</b>peale installi lõppu.</translation>
|
<translation>Seda valides saadad sa teavet oma paigalduse ja riistvara kohta. See teave <b>saadetakse ainult korra</b>peale paigalduse lõppu.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="46"/>
|
<location filename="../src/modules/tracking/TrackingPage.cpp" line="46"/>
|
||||||
<source>By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1.</source>
|
<source>By selecting this you will <b>periodically</b> send information about your installation, hardware and applications, to %1.</source>
|
||||||
<translation>Seda valides saadad sa %1-le <b>perioodiliselt</b> infot oma installi, riistvara ja rakenduste kohta.</translation>
|
<translation>Seda valides saadad sa %1-le <b>perioodiliselt</b> infot oma paigalduse, riistvara ja rakenduste kohta.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/tracking/TrackingPage.cpp" line="47"/>
|
<location filename="../src/modules/tracking/TrackingPage.cpp" line="47"/>
|
||||||
<source>By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1.</source>
|
<source>By selecting this you will <b>regularly</b> send information about your installation, hardware, applications and usage patterns, to %1.</source>
|
||||||
<translation>Seda valides saadad sa %1-le <b>regulaarselt</b> infot oma installi, riistvara, rakenduste ja kasutusharjumuste kohta.</translation>
|
<translation>Seda valides saadad sa %1-le <b>regulaarselt</b> infot oma paigalduse, riistvara, rakenduste ja kasutusharjumuste kohta.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@ -2557,17 +2557,17 @@ Väljund:
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
||||||
<source><h1>Welcome to the %1 installer.</h1></source>
|
<source><h1>Welcome to the %1 installer.</h1></source>
|
||||||
<translation><h1>Tere tulemast %1 installijasse.</h1></translation>
|
<translation><h1>Tere tulemast %1 paigaldajasse.</h1></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
<location filename="../src/modules/welcome/WelcomePage.cpp" line="60"/>
|
||||||
<source><h1>Welcome to the Calamares installer for %1.</h1></source>
|
<source><h1>Welcome to the Calamares installer for %1.</h1></source>
|
||||||
<translation><h1>Tere tulemast Calamares'i installijasse %1 jaoks.</h1></translation>
|
<translation><h1>Tere tulemast Calamares'i paigaldajasse %1 jaoks.</h1></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="73"/>
|
<location filename="../src/modules/welcome/WelcomePage.cpp" line="73"/>
|
||||||
<source>About %1 installer</source>
|
<source>About %1 installer</source>
|
||||||
<translation>Teave %1 installija kohta</translation>
|
<translation>Teave %1 paigaldaja kohta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../src/modules/welcome/WelcomePage.cpp" line="75"/>
|
<location filename="../src/modules/welcome/WelcomePage.cpp" line="75"/>
|
||||||
|
2587
lang/calamares_ko.ts
Normal file
2587
lang/calamares_ko.ts
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -10,6 +10,7 @@ msgstr ""
|
|||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2018-05-28 04:57-0400\n"
|
"POT-Creation-Date: 2018-05-28 04:57-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: guillermo pacheco <guillopacheco@gmail.com>, 2018\n"
|
||||||
"Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n"
|
"Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -19,39 +20,39 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/modules/umount/main.py:40
|
#: src/modules/umount/main.py:40
|
||||||
msgid "Unmount file systems."
|
msgid "Unmount file systems."
|
||||||
msgstr ""
|
msgstr "Desmontar sistemas de archivo."
|
||||||
|
|
||||||
#: src/modules/dummypython/main.py:44
|
#: src/modules/dummypython/main.py:44
|
||||||
msgid "Dummy python job."
|
msgid "Dummy python job."
|
||||||
msgstr ""
|
msgstr "Trabajo python ficticio."
|
||||||
|
|
||||||
#: src/modules/dummypython/main.py:97
|
#: src/modules/dummypython/main.py:97
|
||||||
msgid "Dummy python step {}"
|
msgid "Dummy python step {}"
|
||||||
msgstr ""
|
msgstr "Paso python ficticio {}"
|
||||||
|
|
||||||
#: src/modules/machineid/main.py:35
|
#: src/modules/machineid/main.py:35
|
||||||
msgid "Generate machine-id."
|
msgid "Generate machine-id."
|
||||||
msgstr ""
|
msgstr "Generar identificación de la maquina."
|
||||||
|
|
||||||
#: src/modules/packages/main.py:61
|
#: src/modules/packages/main.py:61
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Processing packages (%(count)d / %(total)d)"
|
msgid "Processing packages (%(count)d / %(total)d)"
|
||||||
msgstr ""
|
msgstr "Procesando paquetes (%(count)d/%(total)d)"
|
||||||
|
|
||||||
#: src/modules/packages/main.py:63 src/modules/packages/main.py:73
|
#: src/modules/packages/main.py:63 src/modules/packages/main.py:73
|
||||||
msgid "Install packages."
|
msgid "Install packages."
|
||||||
msgstr ""
|
msgstr "Instalar paquetes."
|
||||||
|
|
||||||
#: src/modules/packages/main.py:66
|
#: src/modules/packages/main.py:66
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Installing one package."
|
msgid "Installing one package."
|
||||||
msgid_plural "Installing %(num)d packages."
|
msgid_plural "Installing %(num)d packages."
|
||||||
msgstr[0] ""
|
msgstr[0] "Instalando un paquete."
|
||||||
msgstr[1] ""
|
msgstr[1] "Instalando%(num)d paquetes."
|
||||||
|
|
||||||
#: src/modules/packages/main.py:69
|
#: src/modules/packages/main.py:69
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Removing one package."
|
msgid "Removing one package."
|
||||||
msgid_plural "Removing %(num)d packages."
|
msgid_plural "Removing %(num)d packages."
|
||||||
msgstr[0] ""
|
msgstr[0] "Removiendo un paquete."
|
||||||
msgstr[1] ""
|
msgstr[1] "Removiendo %(num)dpaquetes."
|
||||||
|
Binary file not shown.
@ -41,18 +41,18 @@ msgstr "Pakkide töötlemine (%(count)d / %(total)d)"
|
|||||||
|
|
||||||
#: src/modules/packages/main.py:63 src/modules/packages/main.py:73
|
#: src/modules/packages/main.py:63 src/modules/packages/main.py:73
|
||||||
msgid "Install packages."
|
msgid "Install packages."
|
||||||
msgstr "Installi pakid."
|
msgstr "Paigalda paketid."
|
||||||
|
|
||||||
#: src/modules/packages/main.py:66
|
#: src/modules/packages/main.py:66
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Installing one package."
|
msgid "Installing one package."
|
||||||
msgid_plural "Installing %(num)d packages."
|
msgid_plural "Installing %(num)d packages."
|
||||||
msgstr[0] "Installin ühe paki."
|
msgstr[0] "Paigaldan ühe paketi."
|
||||||
msgstr[1] "Installin %(num)d pakki."
|
msgstr[1] "Paigaldan %(num)d paketti."
|
||||||
|
|
||||||
#: src/modules/packages/main.py:69
|
#: src/modules/packages/main.py:69
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Removing one package."
|
msgid "Removing one package."
|
||||||
msgid_plural "Removing %(num)d packages."
|
msgid_plural "Removing %(num)d packages."
|
||||||
msgstr[0] "Eemaldan ühe paki."
|
msgstr[0] "Eemaldan ühe paketi."
|
||||||
msgstr[1] "Eemaldan %(num)d pakki."
|
msgstr[1] "Eemaldan %(num)d paketti."
|
||||||
|
BIN
lang/python/ko/LC_MESSAGES/python.mo
Normal file
BIN
lang/python/ko/LC_MESSAGES/python.mo
Normal file
Binary file not shown.
55
lang/python/ko/LC_MESSAGES/python.po
Normal file
55
lang/python/ko/LC_MESSAGES/python.po
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-05-28 04:57-0400\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Language: ko\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
#: src/modules/umount/main.py:40
|
||||||
|
msgid "Unmount file systems."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypython/main.py:44
|
||||||
|
msgid "Dummy python job."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypython/main.py:97
|
||||||
|
msgid "Dummy python step {}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/machineid/main.py:35
|
||||||
|
msgid "Generate machine-id."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:61
|
||||||
|
#, python-format
|
||||||
|
msgid "Processing packages (%(count)d / %(total)d)"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:63 src/modules/packages/main.py:73
|
||||||
|
msgid "Install packages."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:66
|
||||||
|
#, python-format
|
||||||
|
msgid "Installing one package."
|
||||||
|
msgid_plural "Installing %(num)d packages."
|
||||||
|
msgstr[0] ""
|
||||||
|
|
||||||
|
#: src/modules/packages/main.py:69
|
||||||
|
#, python-format
|
||||||
|
msgid "Removing one package."
|
||||||
|
msgid_plural "Removing %(num)d packages."
|
||||||
|
msgstr[0] ""
|
@ -24,9 +24,11 @@ so that it can be run directly from the build directory for testing purposes:
|
|||||||
|
|
||||||
Since the slideshow can be **any** QML, it is limited only by your designers
|
Since the slideshow can be **any** QML, it is limited only by your designers
|
||||||
imagination and your QML experience. For straightforward presentations,
|
imagination and your QML experience. For straightforward presentations,
|
||||||
see the documentation below. There are more examples in the *calamares-branding*
|
see the documentation below. There are more examples in the [calamares-branding][1]
|
||||||
repository.
|
repository.
|
||||||
|
|
||||||
|
[1] https://github.com/calamares/calamares-branding
|
||||||
|
|
||||||
## Translations
|
## Translations
|
||||||
|
|
||||||
QML files in a branding component can be translated. Translations should
|
QML files in a branding component can be translated. Translations should
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -30,7 +31,7 @@ Presentation
|
|||||||
repeat: true
|
repeat: true
|
||||||
onTriggered: presentation.goToNextSlide()
|
onTriggered: presentation.goToNextSlide()
|
||||||
}
|
}
|
||||||
|
|
||||||
Slide {
|
Slide {
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -49,10 +50,10 @@ CalamaresApplication::CalamaresApplication( int& argc, char* argv[] )
|
|||||||
// <org>/<app>/, so we end up with ~/.cache/Calamares/calamares/
|
// <org>/<app>/, so we end up with ~/.cache/Calamares/calamares/
|
||||||
// which is excessively squidly.
|
// which is excessively squidly.
|
||||||
//
|
//
|
||||||
// setOrganizationName( QLatin1String( CALAMARES_ORGANIZATION_NAME ) );
|
// setOrganizationName( QStringLiteral( CALAMARES_ORGANIZATION_NAME ) );
|
||||||
setOrganizationDomain( QLatin1String( CALAMARES_ORGANIZATION_DOMAIN ) );
|
setOrganizationDomain( QStringLiteral( CALAMARES_ORGANIZATION_DOMAIN ) );
|
||||||
setApplicationName( QLatin1String( CALAMARES_APPLICATION_NAME ) );
|
setApplicationName( QStringLiteral( CALAMARES_APPLICATION_NAME ) );
|
||||||
setApplicationVersion( QLatin1String( CALAMARES_VERSION ) );
|
setApplicationVersion( QStringLiteral( CALAMARES_VERSION ) );
|
||||||
|
|
||||||
cDebug() << "Calamares version:" << CALAMARES_VERSION;
|
cDebug() << "Calamares version:" << CALAMARES_VERSION;
|
||||||
|
|
||||||
@ -335,6 +336,8 @@ CalamaresApplication::initView()
|
|||||||
|
|
||||||
connect( m_moduleManager, &Calamares::ModuleManager::modulesLoaded,
|
connect( m_moduleManager, &Calamares::ModuleManager::modulesLoaded,
|
||||||
this, &CalamaresApplication::initViewSteps );
|
this, &CalamaresApplication::initViewSteps );
|
||||||
|
connect( m_moduleManager, &Calamares::ModuleManager::modulesFailed,
|
||||||
|
this, &CalamaresApplication::initFailed );
|
||||||
|
|
||||||
m_moduleManager->loadModules();
|
m_moduleManager->loadModules();
|
||||||
|
|
||||||
@ -356,6 +359,12 @@ CalamaresApplication::initViewSteps()
|
|||||||
cDebug() << "STARTUP: Window now visible and ProgressTreeView populated";
|
cDebug() << "STARTUP: Window now visible and ProgressTreeView populated";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CalamaresApplication::initFailed(const QStringList& l)
|
||||||
|
{
|
||||||
|
cError() << "STARTUP: failed modules are" << l;
|
||||||
|
m_mainwindow->show();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CalamaresApplication::initJobQueue()
|
CalamaresApplication::initJobQueue()
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -70,6 +71,7 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void initView();
|
void initView();
|
||||||
void initViewSteps();
|
void initViewSteps();
|
||||||
|
void initFailed( const QStringList& l );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void initQmlPath();
|
void initQmlPath();
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -66,8 +66,15 @@ public:
|
|||||||
virtual QString prettyDescription() const;
|
virtual QString prettyDescription() const;
|
||||||
virtual QString prettyStatusMessage() const;
|
virtual QString prettyStatusMessage() const;
|
||||||
virtual JobResult exec() = 0;
|
virtual JobResult exec() = 0;
|
||||||
|
|
||||||
|
bool isEmergency() const { return m_emergency; }
|
||||||
|
void setEmergency( bool e ) { m_emergency = e; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void progress( qreal percent );
|
void progress( qreal percent );
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool m_emergency = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Calamares
|
} // namespace Calamares
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -50,22 +51,36 @@ public:
|
|||||||
|
|
||||||
void run() override
|
void run() override
|
||||||
{
|
{
|
||||||
|
bool anyFailed = false;
|
||||||
|
QString message;
|
||||||
|
QString details;
|
||||||
|
|
||||||
m_jobIndex = 0;
|
m_jobIndex = 0;
|
||||||
for( auto job : m_jobs )
|
for( auto job : m_jobs )
|
||||||
{
|
{
|
||||||
|
if ( anyFailed && !job->isEmergency() )
|
||||||
|
{
|
||||||
|
cDebug() << "Skipping non-emergency job" << job->prettyName();
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
emitProgress();
|
emitProgress();
|
||||||
cDebug() << "Starting job" << job->prettyName();
|
cDebug() << "Starting" << ( anyFailed ? "EMERGENCY JOB" : "job" ) << job->prettyName();
|
||||||
connect( job.data(), &Job::progress, this, &JobThread::emitProgress );
|
connect( job.data(), &Job::progress, this, &JobThread::emitProgress );
|
||||||
JobResult result = job->exec();
|
JobResult result = job->exec();
|
||||||
if ( !result )
|
if ( !anyFailed && !result )
|
||||||
{
|
{
|
||||||
emitFailed( result.message(), result.details() );
|
anyFailed = true;
|
||||||
emitFinished();
|
message = result.message();
|
||||||
return;
|
details = result.details();
|
||||||
}
|
}
|
||||||
++m_jobIndex;
|
if ( !anyFailed )
|
||||||
|
++m_jobIndex;
|
||||||
}
|
}
|
||||||
emitProgress();
|
if ( anyFailed )
|
||||||
|
emitFailed( message, details );
|
||||||
|
else
|
||||||
|
emitProgress();
|
||||||
emitFinished();
|
emitFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -30,6 +30,32 @@
|
|||||||
#include <yaml-cpp/yaml.h>
|
#include <yaml-cpp/yaml.h>
|
||||||
|
|
||||||
|
|
||||||
|
/** Helper function to grab a QString out of the config, and to warn if not present. */
|
||||||
|
static QString
|
||||||
|
requireString( const YAML::Node& config, const char* key )
|
||||||
|
{
|
||||||
|
if ( config[ key ] )
|
||||||
|
return QString::fromStdString( config[ key ].as< std::string >() );
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cWarning() << "Required settings.conf key" << key << "is missing.";
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Helper function to grab a bool out of the config, and to warn if not present. */
|
||||||
|
static bool
|
||||||
|
requireBool( const YAML::Node& config, const char* key, bool d )
|
||||||
|
{
|
||||||
|
if ( config[ key ] )
|
||||||
|
return config[ key ].as< bool >();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cWarning() << "Required settings.conf key" << key << "is missing.";
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
namespace Calamares
|
namespace Calamares
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -41,7 +67,6 @@ Settings::instance()
|
|||||||
return s_instance;
|
return s_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Settings::Settings( const QString& settingsFilePath,
|
Settings::Settings( const QString& settingsFilePath,
|
||||||
bool debugMode,
|
bool debugMode,
|
||||||
QObject* parent )
|
QObject* parent )
|
||||||
@ -148,11 +173,9 @@ Settings::Settings( const QString& settingsFilePath,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_brandingComponentName = QString::fromStdString( config[ "branding" ]
|
m_brandingComponentName = requireString( config, "branding" );
|
||||||
.as< std::string >() );
|
m_promptInstall = requireBool( config, "prompt-install", false );
|
||||||
m_promptInstall = config[ "prompt-install" ].as< bool >();
|
m_doChroot = requireBool( config, "dont-chroot", true );
|
||||||
|
|
||||||
m_doChroot = config[ "dont-chroot" ] ? !config[ "dont-chroot" ].as< bool >() : true;
|
|
||||||
}
|
}
|
||||||
catch ( YAML::Exception& e )
|
catch ( YAML::Exception& e )
|
||||||
{
|
{
|
||||||
@ -175,7 +198,7 @@ Settings::modulesSearchPaths() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QList<QMap<QString, QString> >
|
Settings::InstanceDescriptionList
|
||||||
Settings::customModuleInstances() const
|
Settings::customModuleInstances() const
|
||||||
{
|
{
|
||||||
return m_customModuleInstances;
|
return m_customModuleInstances;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -43,7 +43,9 @@ public:
|
|||||||
|
|
||||||
QStringList modulesSearchPaths() const;
|
QStringList modulesSearchPaths() const;
|
||||||
|
|
||||||
QList< QMap< QString, QString > > customModuleInstances() const;
|
using InstanceDescription = QMap< QString, QString >;
|
||||||
|
using InstanceDescriptionList = QList< InstanceDescription >;
|
||||||
|
InstanceDescriptionList customModuleInstances() const;
|
||||||
|
|
||||||
QList< QPair< ModuleAction, QStringList > > modulesSequence() const;
|
QList< QPair< ModuleAction, QStringList > > modulesSequence() const;
|
||||||
|
|
||||||
@ -60,7 +62,7 @@ private:
|
|||||||
|
|
||||||
QStringList m_modulesSearchPaths;
|
QStringList m_modulesSearchPaths;
|
||||||
|
|
||||||
QList< QMap< QString, QString > > m_customModuleInstances;
|
InstanceDescriptionList m_customModuleInstances;
|
||||||
QList< QPair< ModuleAction, QStringList > > m_modulesSequence;
|
QList< QPair< ModuleAction, QStringList > > m_modulesSequence;
|
||||||
|
|
||||||
QString m_brandingComponentName;
|
QString m_brandingComponentName;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2013-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2013-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Originally from Tomahawk, portions:
|
* Originally from Tomahawk, portions:
|
||||||
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||||
@ -33,11 +34,9 @@
|
|||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
|
|
||||||
|
|
||||||
// stdc++
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
using namespace std;
|
using std::cerr;
|
||||||
|
|
||||||
namespace CalamaresUtils
|
namespace CalamaresUtils
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2013-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2013-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Originally from Tomahawk, portions:
|
* Originally from Tomahawk, portions:
|
||||||
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Based on KPluginFactory from KCoreAddons, KDE project
|
* Based on KPluginFactory from KCoreAddons, KDE project
|
||||||
* Copyright 2007, Matthias Kretz <kretz@kde.org>
|
* Copyright 2007, Matthias Kretz <kretz@kde.org>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Based on KPluginFactory from KCoreAddons, KDE project
|
* Based on KPluginFactory from KCoreAddons, KDE project
|
||||||
* Copyright 2007, Matthias Kretz <kretz@kde.org>
|
* Copyright 2007, Matthias Kretz <kretz@kde.org>
|
||||||
@ -111,7 +111,7 @@ namespace Calamares
|
|||||||
* T(QObject *parent, const QVariantList &args)
|
* T(QObject *parent, const QVariantList &args)
|
||||||
* \endcode
|
* \endcode
|
||||||
*
|
*
|
||||||
* You should typically use CALAMARES_PLUGIN_FACTORY_DEFINITION() in your plugin code to
|
* You should typically use CALAMARES_PLUGIN_FACTORY_DEFINITION() in your plugin code to
|
||||||
* create the factory. The pattern is
|
* create the factory. The pattern is
|
||||||
*
|
*
|
||||||
* \code
|
* \code
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -15,6 +15,7 @@ set( calamaresui_SOURCES
|
|||||||
utils/qjsonitem.cpp
|
utils/qjsonitem.cpp
|
||||||
|
|
||||||
viewpages/AbstractPage.cpp
|
viewpages/AbstractPage.cpp
|
||||||
|
viewpages/BlankViewStep.cpp
|
||||||
viewpages/ViewStep.cpp
|
viewpages/ViewStep.cpp
|
||||||
|
|
||||||
widgets/ClickableLabel.cpp
|
widgets/ClickableLabel.cpp
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include <ExecutionViewStep.h>
|
#include <ExecutionViewStep.h>
|
||||||
|
|
||||||
#include "Branding.h"
|
#include "Branding.h"
|
||||||
|
#include "Job.h"
|
||||||
#include "JobQueue.h"
|
#include "JobQueue.h"
|
||||||
#include "modulesystem/Module.h"
|
#include "modulesystem/Module.h"
|
||||||
#include "modulesystem/ModuleManager.h"
|
#include "modulesystem/ModuleManager.h"
|
||||||
@ -142,7 +143,15 @@ ExecutionViewStep::onActivate()
|
|||||||
Calamares::Module* module = Calamares::ModuleManager::instance()
|
Calamares::Module* module = Calamares::ModuleManager::instance()
|
||||||
->moduleInstance( instanceKey );
|
->moduleInstance( instanceKey );
|
||||||
if ( module )
|
if ( module )
|
||||||
queue->enqueue( module->jobs() );
|
{
|
||||||
|
auto jl = module->jobs();
|
||||||
|
if ( module->isEmergency() )
|
||||||
|
{
|
||||||
|
for( auto& j : jl )
|
||||||
|
j->setEmergency( true );
|
||||||
|
}
|
||||||
|
queue->enqueue( jl );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
queue->start();
|
queue->start();
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include "ViewManager.h"
|
#include "ViewManager.h"
|
||||||
|
|
||||||
#include "utils/Logger.h"
|
#include "utils/Logger.h"
|
||||||
|
#include "viewpages/BlankViewStep.h"
|
||||||
#include "viewpages/ViewStep.h"
|
#include "viewpages/ViewStep.h"
|
||||||
#include "ExecutionViewStep.h"
|
#include "ExecutionViewStep.h"
|
||||||
#include "JobQueue.h"
|
#include "JobQueue.h"
|
||||||
@ -172,6 +173,27 @@ ViewManager::onInstallationFailed( const QString& message, const QString& detail
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
ViewManager::onInitFailed( const QStringList& modules)
|
||||||
|
{
|
||||||
|
QString title( tr( "Calamares Initialization Failed" ) );
|
||||||
|
QString description( tr( "%1 can not be installed. Calamares was unable to load all of the configured modules. This is a problem with the way Calamares is being used by the distribution." ) );
|
||||||
|
QString detailString;
|
||||||
|
|
||||||
|
if ( modules.count() > 0 )
|
||||||
|
{
|
||||||
|
description.append( tr( "<br/>The following modules could not be loaded:" ) );
|
||||||
|
QStringList details;
|
||||||
|
details << QLatin1Literal("<ul>");
|
||||||
|
for( const auto& m : modules )
|
||||||
|
details << QLatin1Literal("<li>") << m << QLatin1Literal("</li>");
|
||||||
|
details << QLatin1Literal("</ul>");
|
||||||
|
detailString = details.join( QString() );
|
||||||
|
}
|
||||||
|
|
||||||
|
insertViewStep( 0, new BlankViewStep( title, description.arg( *Calamares::Branding::ShortProductName ), detailString ) );
|
||||||
|
}
|
||||||
|
|
||||||
ViewStepList
|
ViewStepList
|
||||||
ViewManager::viewSteps() const
|
ViewManager::viewSteps() const
|
||||||
{
|
{
|
||||||
|
@ -117,6 +117,12 @@ public slots:
|
|||||||
*/
|
*/
|
||||||
void onInstallationFailed( const QString& message, const QString& details );
|
void onInstallationFailed( const QString& message, const QString& details );
|
||||||
|
|
||||||
|
/** @brief Replaces the stack with a view step stating that initialization failed.
|
||||||
|
*
|
||||||
|
* @param modules a list of failed modules.
|
||||||
|
*/
|
||||||
|
void onInitFailed( const QStringList& modules );
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void currentStepChanged();
|
void currentStepChanged();
|
||||||
void enlarge( QSize enlarge ) const; // See ViewStep::enlarge()
|
void enlarge( QSize enlarge ) const; // See ViewStep::enlarge()
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -52,6 +52,8 @@ name: "foo" #the module name. must be unique and same as the parent di
|
|||||||
interface: "qtplugin" #can be: qtplugin, python, process, ...
|
interface: "qtplugin" #can be: qtplugin, python, process, ...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static const char EMERGENCY[] = "emergency";
|
||||||
|
|
||||||
namespace Calamares
|
namespace Calamares
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -64,7 +66,7 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor,
|
|||||||
const QString& configFileName,
|
const QString& configFileName,
|
||||||
const QString& moduleDirectory )
|
const QString& moduleDirectory )
|
||||||
{
|
{
|
||||||
Module* m = nullptr;
|
std::unique_ptr<Module> m;
|
||||||
|
|
||||||
QString typeString = moduleDescriptor.value( "type" ).toString();
|
QString typeString = moduleDescriptor.value( "type" ).toString();
|
||||||
QString intfString = moduleDescriptor.value( "interface" ).toString();
|
QString intfString = moduleDescriptor.value( "interface" ).toString();
|
||||||
@ -79,12 +81,12 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor,
|
|||||||
{
|
{
|
||||||
if ( intfString == "qtplugin" )
|
if ( intfString == "qtplugin" )
|
||||||
{
|
{
|
||||||
m = new ViewModule();
|
m.reset( new ViewModule() );
|
||||||
}
|
}
|
||||||
else if ( intfString == "pythonqt" )
|
else if ( intfString == "pythonqt" )
|
||||||
{
|
{
|
||||||
#ifdef WITH_PYTHONQT
|
#ifdef WITH_PYTHONQT
|
||||||
m = new PythonQtViewModule();
|
m.reset( new PythonQtViewModule() );
|
||||||
#else
|
#else
|
||||||
cError() << "PythonQt view modules are not supported in this version of Calamares.";
|
cError() << "PythonQt view modules are not supported in this version of Calamares.";
|
||||||
#endif
|
#endif
|
||||||
@ -96,16 +98,16 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor,
|
|||||||
{
|
{
|
||||||
if ( intfString == "qtplugin" )
|
if ( intfString == "qtplugin" )
|
||||||
{
|
{
|
||||||
m = new CppJobModule();
|
m.reset( new CppJobModule() );
|
||||||
}
|
}
|
||||||
else if ( intfString == "process" )
|
else if ( intfString == "process" )
|
||||||
{
|
{
|
||||||
m = new ProcessJobModule();
|
m.reset( new ProcessJobModule() );
|
||||||
}
|
}
|
||||||
else if ( intfString == "python" )
|
else if ( intfString == "python" )
|
||||||
{
|
{
|
||||||
#ifdef WITH_PYTHON
|
#ifdef WITH_PYTHON
|
||||||
m = new PythonJobModule();
|
m.reset( new PythonJobModule() );
|
||||||
#else
|
#else
|
||||||
cError() << "Python modules are not supported in this version of Calamares.";
|
cError() << "Python modules are not supported in this version of Calamares.";
|
||||||
#endif
|
#endif
|
||||||
@ -130,7 +132,6 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
cError() << "Bad module directory" << moduleDirectory << "for" << instanceId;
|
cError() << "Bad module directory" << moduleDirectory << "for" << instanceId;
|
||||||
delete m;
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,10 +145,9 @@ Module::fromDescriptor( const QVariantMap& moduleDescriptor,
|
|||||||
catch ( YAML::Exception& e )
|
catch ( YAML::Exception& e )
|
||||||
{
|
{
|
||||||
cError() << "YAML parser error " << e.what();
|
cError() << "YAML parser error " << e.what();
|
||||||
delete m;
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return m;
|
return m.release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -200,6 +200,9 @@ Module::loadConfigurationFile( const QString& configFileName ) //throws YAML::Ex
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_configurationMap = CalamaresUtils::yamlMapToVariant( doc ).toMap();
|
m_configurationMap = CalamaresUtils::yamlMapToVariant( doc ).toMap();
|
||||||
|
m_emergency = m_maybe_emergency
|
||||||
|
&& m_configurationMap.contains( EMERGENCY )
|
||||||
|
&& m_configurationMap[ EMERGENCY ].toBool();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -276,13 +279,6 @@ Module::interfaceString() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
Module::isLoaded() const
|
|
||||||
{
|
|
||||||
return m_loaded;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QVariantMap
|
QVariantMap
|
||||||
Module::configurationMap()
|
Module::configurationMap()
|
||||||
{
|
{
|
||||||
@ -299,6 +295,11 @@ void
|
|||||||
Module::initFrom( const QVariantMap& moduleDescriptor )
|
Module::initFrom( const QVariantMap& moduleDescriptor )
|
||||||
{
|
{
|
||||||
m_name = moduleDescriptor.value( "name" ).toString();
|
m_name = moduleDescriptor.value( "name" ).toString();
|
||||||
|
|
||||||
|
if ( moduleDescriptor.contains( EMERGENCY ) )
|
||||||
|
{
|
||||||
|
m_maybe_emergency = moduleDescriptor[ EMERGENCY ].toBool();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} //ns
|
} //ns
|
||||||
|
@ -147,7 +147,7 @@ public:
|
|||||||
* @brief isLoaded reports on the loaded status of a module.
|
* @brief isLoaded reports on the loaded status of a module.
|
||||||
* @return true if the module's loading phase has finished, otherwise false.
|
* @return true if the module's loading phase has finished, otherwise false.
|
||||||
*/
|
*/
|
||||||
virtual bool isLoaded() const;
|
bool isLoaded() const { return m_loaded; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief loadSelf initialized the module.
|
* @brief loadSelf initialized the module.
|
||||||
@ -155,6 +155,17 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual void loadSelf() = 0;
|
virtual void loadSelf() = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Is this an emergency module?
|
||||||
|
*
|
||||||
|
* An emergency module is run even if an error occurs
|
||||||
|
* which would terminate Calamares earlier in the same
|
||||||
|
* *exec* block. Emergency modules in later exec blocks
|
||||||
|
* are not run (in the common case where there is only
|
||||||
|
* one exec block, this doesn't really matter).
|
||||||
|
*/
|
||||||
|
bool isEmergency() const { return m_emergency; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief jobs returns any jobs exposed by this module.
|
* @brief jobs returns any jobs exposed by this module.
|
||||||
* @return a list of jobs (can be empty).
|
* @return a list of jobs (can be empty).
|
||||||
@ -171,11 +182,15 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
explicit Module();
|
explicit Module();
|
||||||
virtual void initFrom( const QVariantMap& moduleDescriptor );
|
virtual void initFrom( const QVariantMap& moduleDescriptor );
|
||||||
bool m_loaded;
|
|
||||||
QVariantMap m_configurationMap;
|
QVariantMap m_configurationMap;
|
||||||
|
|
||||||
|
bool m_loaded = false;
|
||||||
|
bool m_emergency = false; // Based on module and local config
|
||||||
|
bool m_maybe_emergency = false; // Based on the module.desc
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void loadConfigurationFile( const QString& configFileName ); //throws YAML::Exception
|
void loadConfigurationFile( const QString& configFileName ); //throws YAML::Exception
|
||||||
|
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QStringList m_requiredModules;
|
QStringList m_requiredModules;
|
||||||
QString m_directory;
|
QString m_directory;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -154,12 +155,33 @@ ModuleManager::moduleInstance( const QString& instanceKey )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Search a list of instance descriptions for one matching @p module and @p id
|
||||||
|
*
|
||||||
|
* @return -1 on failure, otherwise index of the instance that matches.
|
||||||
|
*/
|
||||||
|
static int findCustomInstance( const Settings::InstanceDescriptionList& customInstances,
|
||||||
|
const QString& module,
|
||||||
|
const QString& id )
|
||||||
|
{
|
||||||
|
for ( int i = 0; i < customInstances.count(); ++i )
|
||||||
|
{
|
||||||
|
const auto& thisInstance = customInstances[ i ];
|
||||||
|
if ( thisInstance.value( "module" ) == module &&
|
||||||
|
thisInstance.value( "id" ) == id )
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ModuleManager::loadModules()
|
ModuleManager::loadModules()
|
||||||
{
|
{
|
||||||
QTimer::singleShot( 0, this, [ this ]()
|
QTimer::singleShot( 0, this, [ this ]()
|
||||||
{
|
{
|
||||||
QList< QMap< QString, QString > > customInstances =
|
QStringList failedModules;
|
||||||
|
Settings::InstanceDescriptionList customInstances =
|
||||||
Settings::instance()->customModuleInstances();
|
Settings::instance()->customModuleInstances();
|
||||||
|
|
||||||
const auto modulesSequence = Settings::instance()->modulesSequence();
|
const auto modulesSequence = Settings::instance()->modulesSequence();
|
||||||
@ -177,10 +199,9 @@ ModuleManager::loadModules()
|
|||||||
if ( moduleEntrySplit.length() < 1 ||
|
if ( moduleEntrySplit.length() < 1 ||
|
||||||
moduleEntrySplit.length() > 2 )
|
moduleEntrySplit.length() > 2 )
|
||||||
{
|
{
|
||||||
cError() << "Wrong module entry format for module" << moduleEntry << '.';
|
cError() << "Wrong module entry format for module" << moduleEntry;
|
||||||
cError() << "Calamares will now quit.";
|
failedModules.append( moduleEntry );
|
||||||
qApp->exit( 1 );
|
continue;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
moduleName = moduleEntrySplit.first();
|
moduleName = moduleEntrySplit.first();
|
||||||
instanceId = moduleEntrySplit.last();
|
instanceId = moduleEntrySplit.last();
|
||||||
@ -191,37 +212,21 @@ ModuleManager::loadModules()
|
|||||||
{
|
{
|
||||||
cError() << "Module" << moduleName << "not found in module search paths."
|
cError() << "Module" << moduleName << "not found in module search paths."
|
||||||
<< Logger::DebugList( m_paths );
|
<< Logger::DebugList( m_paths );
|
||||||
cError() << "Calamares will now quit.";
|
failedModules.append( moduleName );
|
||||||
qApp->exit( 1 );
|
continue;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
auto findCustomInstance =
|
|
||||||
[ customInstances ]( const QString& module,
|
|
||||||
const QString& id) -> int
|
|
||||||
{
|
|
||||||
for ( int i = 0; i < customInstances.count(); ++i )
|
|
||||||
{
|
|
||||||
auto thisInstance = customInstances[ i ];
|
|
||||||
if ( thisInstance.value( "module" ) == module &&
|
|
||||||
thisInstance.value( "id" ) == id )
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
if ( moduleName != instanceId ) //means this is a custom instance
|
if ( moduleName != instanceId ) //means this is a custom instance
|
||||||
{
|
{
|
||||||
if ( findCustomInstance( moduleName, instanceId ) > -1 )
|
if ( int found = findCustomInstance( customInstances, moduleName, instanceId ) > -1 )
|
||||||
{
|
{
|
||||||
configFileName = customInstances[ findCustomInstance( moduleName, instanceId ) ].value( "config" );
|
configFileName = customInstances[ found ].value( "config" );
|
||||||
}
|
}
|
||||||
else //ought to be a custom instance, but cannot find instance entry
|
else //ought to be a custom instance, but cannot find instance entry
|
||||||
{
|
{
|
||||||
cError() << "Custom instance" << moduleEntry << "not found in custom instances section.";
|
cError() << "Custom instance" << moduleEntry << "not found in custom instances section.";
|
||||||
cError() << "Calamares will now quit.";
|
failedModules.append( moduleEntry );
|
||||||
qApp->exit( 1 );
|
continue;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,10 +246,9 @@ ModuleManager::loadModules()
|
|||||||
m_loadedModulesByInstanceKey.value( instanceKey, nullptr );
|
m_loadedModulesByInstanceKey.value( instanceKey, nullptr );
|
||||||
if ( thisModule && !thisModule->isLoaded() )
|
if ( thisModule && !thisModule->isLoaded() )
|
||||||
{
|
{
|
||||||
cError() << "Module" << instanceKey << "exists but not loaded."
|
cError() << "Module" << instanceKey << "exists but not loaded.";
|
||||||
<< "\nCalamares will now quit.";
|
failedModules.append( instanceKey );
|
||||||
qApp->exit( 1 );
|
continue;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( thisModule && thisModule->isLoaded() )
|
if ( thisModule && thisModule->isLoaded() )
|
||||||
@ -260,8 +264,8 @@ ModuleManager::loadModules()
|
|||||||
m_moduleDirectoriesByModuleName.value( moduleName ) );
|
m_moduleDirectoriesByModuleName.value( moduleName ) );
|
||||||
if ( !thisModule )
|
if ( !thisModule )
|
||||||
{
|
{
|
||||||
cWarning() << "Module" << instanceKey << "cannot be created from descriptor.";
|
cError() << "Module" << instanceKey << "cannot be created from descriptor" << configFileName;
|
||||||
Q_ASSERT( thisModule );
|
failedModules.append( instanceKey );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// If it's a ViewModule, it also appends the ViewStep to the ViewManager.
|
// If it's a ViewModule, it also appends the ViewStep to the ViewManager.
|
||||||
@ -269,8 +273,8 @@ ModuleManager::loadModules()
|
|||||||
m_loadedModulesByInstanceKey.insert( instanceKey, thisModule );
|
m_loadedModulesByInstanceKey.insert( instanceKey, thisModule );
|
||||||
if ( !thisModule->isLoaded() )
|
if ( !thisModule->isLoaded() )
|
||||||
{
|
{
|
||||||
cWarning() << "Module" << moduleName << "loading FAILED";
|
cError() << "Module" << instanceKey << "loading FAILED.";
|
||||||
Q_ASSERT( thisModule->isLoaded() );
|
failedModules.append( instanceKey );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -292,7 +296,13 @@ ModuleManager::loadModules()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
emit modulesLoaded();
|
if ( !failedModules.isEmpty() )
|
||||||
|
{
|
||||||
|
ViewManager::instance()->onInitFailed( failedModules );
|
||||||
|
emit modulesFailed( failedModules );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
emit modulesLoaded();
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -82,7 +83,8 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void initDone();
|
void initDone();
|
||||||
void modulesLoaded();
|
void modulesLoaded(); /// All of the modules were loaded successfully
|
||||||
|
void modulesFailed( QStringList ); /// .. or not
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void doInit();
|
void doInit();
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
|
* Copyright 2018, Raul Rodrigo Segura <raurodse@gmail.com>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -95,6 +97,9 @@ PythonQtViewModule::loadSelf()
|
|||||||
s_utils = new ::Utils( Calamares::JobQueue::instance()->globalStorage() );
|
s_utils = new ::Utils( Calamares::JobQueue::instance()->globalStorage() );
|
||||||
cala.addObject( "utils", s_utils );
|
cala.addObject( "utils", s_utils );
|
||||||
|
|
||||||
|
// Append configuration object, in module PythonQt.calamares
|
||||||
|
cala.addVariable("configuration", m_configurationMap);
|
||||||
|
|
||||||
// Basic stdout/stderr handling
|
// Basic stdout/stderr handling
|
||||||
QObject::connect( PythonQt::self(), &PythonQt::pythonStdOut,
|
QObject::connect( PythonQt::self(), &PythonQt::pythonStdOut,
|
||||||
[]( const QString& message )
|
[]( const QString& message )
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -52,27 +52,32 @@ ViewModule::loadSelf()
|
|||||||
PluginFactory* pf = qobject_cast< PluginFactory* >( m_loader->instance() );
|
PluginFactory* pf = qobject_cast< PluginFactory* >( m_loader->instance() );
|
||||||
if ( !pf )
|
if ( !pf )
|
||||||
{
|
{
|
||||||
cDebug() << Q_FUNC_INFO << "No factory:" << m_loader->errorString();
|
cWarning() << Q_FUNC_INFO << "No factory:" << m_loader->errorString();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_viewStep = pf->create< Calamares::ViewStep >();
|
m_viewStep = pf->create< Calamares::ViewStep >();
|
||||||
if ( !m_viewStep )
|
if ( !m_viewStep )
|
||||||
{
|
{
|
||||||
cDebug() << Q_FUNC_INFO << "create() failed" << m_loader->errorString();
|
cWarning() << Q_FUNC_INFO << "create() failed" << m_loader->errorString();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// cDebug() << "ViewModule loading self for instance" << instanceKey()
|
}
|
||||||
// << "\nViewModule at address" << this
|
|
||||||
// << "\nCalamares::PluginFactory at address" << pf
|
|
||||||
// << "\nViewStep at address" << m_viewStep;
|
|
||||||
|
|
||||||
|
// TODO: allow internal view steps to be created here; they would
|
||||||
|
// have to be linked into the main application somehow.
|
||||||
|
|
||||||
|
// If any method created the view step, use it now.
|
||||||
|
if ( m_viewStep )
|
||||||
|
{
|
||||||
m_viewStep->setModuleInstanceKey( instanceKey() );
|
m_viewStep->setModuleInstanceKey( instanceKey() );
|
||||||
m_viewStep->setConfigurationMap( m_configurationMap );
|
m_viewStep->setConfigurationMap( m_configurationMap );
|
||||||
ViewManager::instance()->addViewStep( m_viewStep );
|
ViewManager::instance()->addViewStep( m_viewStep );
|
||||||
m_loaded = true;
|
m_loaded = true;
|
||||||
cDebug() << "ViewModule" << instanceKey() << "loading complete.";
|
cDebug() << "ViewModule" << instanceKey() << "loading complete.";
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
cWarning() << Q_FUNC_INFO << "No view step was created";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -226,10 +226,20 @@ defaultFont()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
QFont
|
||||||
|
largeFont()
|
||||||
|
{
|
||||||
|
QFont f;
|
||||||
|
f.setPointSize( defaultFontSize() + 4 );
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
setDefaultFontSize( int points )
|
setDefaultFontSize( int points )
|
||||||
{
|
{
|
||||||
s_defaultFontSize = points;
|
s_defaultFontSize = points;
|
||||||
|
s_defaultFontHeight = 0; // Recalculate on next call to defaultFontHeight()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -115,6 +115,7 @@ UIDLLEXPORT void setDefaultFontSize( int points );
|
|||||||
UIDLLEXPORT int defaultFontSize(); // in points
|
UIDLLEXPORT int defaultFontSize(); // in points
|
||||||
UIDLLEXPORT int defaultFontHeight(); // in pixels, DPI-specific
|
UIDLLEXPORT int defaultFontHeight(); // in pixels, DPI-specific
|
||||||
UIDLLEXPORT QFont defaultFont();
|
UIDLLEXPORT QFont defaultFont();
|
||||||
|
UIDLLEXPORT QFont largeFont();
|
||||||
UIDLLEXPORT QSize defaultIconSize();
|
UIDLLEXPORT QSize defaultIconSize();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
118
src/libcalamaresui/viewpages/BlankViewStep.cpp
Normal file
118
src/libcalamaresui/viewpages/BlankViewStep.cpp
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
|
*
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
|
*
|
||||||
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Calamares is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include "BlankViewStep.h"
|
||||||
|
|
||||||
|
#include "utils/CalamaresUtilsGui.h"
|
||||||
|
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
namespace Calamares
|
||||||
|
{
|
||||||
|
|
||||||
|
BlankViewStep::BlankViewStep( const QString& title, const QString& description, const QString& details, QObject* parent)
|
||||||
|
: Calamares::ViewStep( parent )
|
||||||
|
, m_widget( new QWidget() )
|
||||||
|
{
|
||||||
|
QBoxLayout* layout = new QVBoxLayout();
|
||||||
|
|
||||||
|
constexpr int const marginWidth = 10;
|
||||||
|
constexpr int const spacingHeight = 10;
|
||||||
|
|
||||||
|
auto* label = new QLabel( title );
|
||||||
|
label->setAlignment( Qt::AlignHCenter );
|
||||||
|
label->setFont( CalamaresUtils::largeFont() );
|
||||||
|
layout->addWidget( label );
|
||||||
|
|
||||||
|
label = new QLabel( description );
|
||||||
|
label->setWordWrap( true );
|
||||||
|
label->setMargin( marginWidth );
|
||||||
|
layout->addSpacing( spacingHeight );
|
||||||
|
layout->addWidget( label );
|
||||||
|
|
||||||
|
if ( !details.isEmpty() )
|
||||||
|
{
|
||||||
|
label = new QLabel( details );
|
||||||
|
label->setMargin( marginWidth );
|
||||||
|
layout->addSpacing( spacingHeight );
|
||||||
|
layout->addWidget( label );
|
||||||
|
}
|
||||||
|
|
||||||
|
layout->addStretch( 1 ); // Push the rest to the top
|
||||||
|
|
||||||
|
m_widget->setLayout( layout );
|
||||||
|
}
|
||||||
|
|
||||||
|
BlankViewStep::~BlankViewStep()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
QString
|
||||||
|
BlankViewStep::prettyName() const
|
||||||
|
{
|
||||||
|
return tr( "Blank Page" );
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BlankViewStep::back()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
BlankViewStep::next()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
BlankViewStep::isBackEnabled() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
BlankViewStep::isNextEnabled() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
BlankViewStep::isAtBeginning() const
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
BlankViewStep::isAtEnd() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
QWidget*
|
||||||
|
BlankViewStep::widget()
|
||||||
|
{
|
||||||
|
return m_widget;
|
||||||
|
}
|
||||||
|
|
||||||
|
Calamares::JobList
|
||||||
|
BlankViewStep::jobs() const
|
||||||
|
{
|
||||||
|
return JobList();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
65
src/libcalamaresui/viewpages/BlankViewStep.h
Normal file
65
src/libcalamaresui/viewpages/BlankViewStep.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
|
*
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
|
*
|
||||||
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Calamares is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with Calamares. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef BLANKVIEWSTEP_H
|
||||||
|
#define BLANKVIEWSTEP_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
#include <utils/PluginFactory.h>
|
||||||
|
#include <viewpages/ViewStep.h>
|
||||||
|
|
||||||
|
class QWidget;
|
||||||
|
|
||||||
|
namespace Calamares
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @brief A "blank" view step, used for error and status reporting
|
||||||
|
*
|
||||||
|
* This view step never allows navigation (forward or back); it's a trap.
|
||||||
|
* It displays a title and explanation, and optional details.
|
||||||
|
*/
|
||||||
|
class BlankViewStep : public Calamares::ViewStep
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit BlankViewStep( const QString& title, const QString& description, const QString& details = QString(), QObject* parent = nullptr );
|
||||||
|
virtual ~BlankViewStep() override;
|
||||||
|
|
||||||
|
QString prettyName() const override;
|
||||||
|
|
||||||
|
QWidget* widget() override;
|
||||||
|
|
||||||
|
void next() override;
|
||||||
|
void back() override;
|
||||||
|
|
||||||
|
bool isNextEnabled() const override;
|
||||||
|
bool isBackEnabled() const override;
|
||||||
|
|
||||||
|
bool isAtBeginning() const override;
|
||||||
|
bool isAtEnd() const override;
|
||||||
|
|
||||||
|
Calamares::JobList jobs() const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QWidget* m_widget;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
#endif // BLANKVIEWSTEP_H
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -6,7 +6,7 @@ set( LIST_SKIPPED_MODULES "" )
|
|||||||
|
|
||||||
if( BUILD_TESTING )
|
if( BUILD_TESTING )
|
||||||
add_executable( test_conf test_conf.cpp )
|
add_executable( test_conf test_conf.cpp )
|
||||||
target_link_libraries( test_conf ${YAMLCPP_LIBRARY} )
|
target_link_libraries( test_conf ${YAMLCPP_LIBRARY} Qt5::Core )
|
||||||
target_include_directories( test_conf PUBLIC ${YAMLCPP_INCLUDE_DIR} )
|
target_include_directories( test_conf PUBLIC ${YAMLCPP_INCLUDE_DIR} )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -43,15 +43,21 @@ module's name, type, interface and possibly other properties. The name
|
|||||||
of the module as defined in `module.desc` must be the same as the name
|
of the module as defined in `module.desc` must be the same as the name
|
||||||
of the module's directory.
|
of the module's directory.
|
||||||
|
|
||||||
Module descriptors must have the following keys:
|
Module descriptors **must** have the following keys:
|
||||||
- *name* (an identifier; must be the same as the directory name)
|
- *name* (an identifier; must be the same as the directory name)
|
||||||
- *type* ("job" or "view")
|
- *type* ("job" or "view")
|
||||||
- *interface* (see below for the different interfaces; generally we
|
- *interface* (see below for the different interfaces; generally we
|
||||||
refer to the kinds of modules by their interface)
|
refer to the kinds of modules by their interface)
|
||||||
|
|
||||||
|
Module descriptors **may** have the following keys:
|
||||||
|
- *required* **unimplemented** (a list of modules which are required for this module
|
||||||
|
to operate properly)
|
||||||
|
- *emergency* (a boolean value, set to true to mark the module
|
||||||
|
as an emergency module)
|
||||||
|
|
||||||
## Module-specific configuration
|
## Module-specific configuration
|
||||||
|
|
||||||
A Calamares module *may* read a module configuration file,
|
A Calamares module **may** read a module configuration file,
|
||||||
named `<modulename>.conf`. If such a file is present in the
|
named `<modulename>.conf`. If such a file is present in the
|
||||||
module's directory, it is shipped as a *default* configuration file.
|
module's directory, it is shipped as a *default* configuration file.
|
||||||
The module configuration file, if it exists, is a YAML 1.2 document
|
The module configuration file, if it exists, is a YAML 1.2 document
|
||||||
@ -125,3 +131,23 @@ while the module type must be "job" or "jobmodule".
|
|||||||
The key *command* should have a string as value, which is passed to the
|
The key *command* should have a string as value, which is passed to the
|
||||||
shell -- remember to quote it properly.
|
shell -- remember to quote it properly.
|
||||||
|
|
||||||
|
## Emergency Modules
|
||||||
|
|
||||||
|
Only C++ modules and job modules may be emergency modules. If, during an
|
||||||
|
*exec* step in the sequence, a module fails, installation as a whole fails
|
||||||
|
and the install is aborted. If there are emergency modules in the **same**
|
||||||
|
exec block, those will be executed before the installation is aborted.
|
||||||
|
Non-emergency modules are not executed.
|
||||||
|
|
||||||
|
If an emergency-module fails while processing emergency-modules for
|
||||||
|
another failed module, that failure is ignored and emergency-module
|
||||||
|
processing continues.
|
||||||
|
|
||||||
|
Use the EMERGENCY keyword in the CMake description of a C++ module
|
||||||
|
to generate a suitable `module.desc`.
|
||||||
|
|
||||||
|
A module that is marked as an emergency module in its module.desc
|
||||||
|
must **also** set the *emergency* key to *true* in its configuration file.
|
||||||
|
If it does not, the module is not considered to be an emergency module
|
||||||
|
after all (this is so that you can have modules that have several
|
||||||
|
instances, only some of which are actually needed for emergencies.
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
|
# Bootloader configuration. The bootloader is installed to allow
|
||||||
|
# the system to start (and pick one of the installed operating
|
||||||
|
# systems to run).
|
||||||
---
|
---
|
||||||
# Define which bootloader you want to use for EFI installations
|
# Define which bootloader you want to use for EFI installations
|
||||||
# Possible options are 'grub' and 'systemd-boot'.
|
# Possible options are 'grub', 'sb-shim' and 'systemd-boot'.
|
||||||
efiBootLoader: "grub"
|
efiBootLoader: "grub"
|
||||||
|
|
||||||
# systemd-boot configuration files settings, set kernel and initramfs file names
|
# systemd-boot configuration files settings, set kernel and initramfs file names
|
||||||
@ -17,9 +20,13 @@ fallbackKernelLine: ", with _manjaro_kernel_ (fallback initramfs)"
|
|||||||
|
|
||||||
# GRUB 2 binary names and boot directory
|
# GRUB 2 binary names and boot directory
|
||||||
# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.
|
# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.
|
||||||
|
# These names are also used when using sb-shim, since that needs some
|
||||||
|
# GRUB functionality (notably grub-probe) to work.
|
||||||
|
#
|
||||||
grubInstall: "grub-install"
|
grubInstall: "grub-install"
|
||||||
grubMkconfig: "grub-mkconfig"
|
grubMkconfig: "grub-mkconfig"
|
||||||
grubCfg: "/boot/grub/grub.cfg"
|
grubCfg: "/boot/grub/grub.cfg"
|
||||||
|
grubProbe: "/usr/sbin/grub2-probe"
|
||||||
|
|
||||||
# Optionally set the bootloader ID to use for EFI. This is passed to
|
# Optionally set the bootloader ID to use for EFI. This is passed to
|
||||||
# grub-install --bootloader-id.
|
# grub-install --bootloader-id.
|
||||||
@ -29,8 +36,8 @@ grubCfg: "/boot/grub/grub.cfg"
|
|||||||
#
|
#
|
||||||
# The ID is also used as a directory name within the EFI environment,
|
# The ID is also used as a directory name within the EFI environment,
|
||||||
# and the bootloader is copied from /boot/efi/EFI/<dirname>/ . When
|
# and the bootloader is copied from /boot/efi/EFI/<dirname>/ . When
|
||||||
# setting the option here, take care to use only valid directory
|
# setting the option here, keep in mind that the name is sanitized
|
||||||
# names since no sanitizing is done.
|
# (problematic characters, see above, are replaced).
|
||||||
#
|
#
|
||||||
# efiBootloaderId: "dirname"
|
# efiBootloaderId: "dirname"
|
||||||
|
|
||||||
|
@ -167,6 +167,30 @@ def create_loader(loader_path):
|
|||||||
loader_file.write(line)
|
loader_file.write(line)
|
||||||
|
|
||||||
|
|
||||||
|
def efi_label():
|
||||||
|
if "efiBootloaderId" in libcalamares.job.configuration:
|
||||||
|
efi_bootloader_id = libcalamares.job.configuration[
|
||||||
|
"efiBootloaderId"]
|
||||||
|
else:
|
||||||
|
branding = libcalamares.globalstorage.value("branding")
|
||||||
|
efi_bootloader_id = branding["bootloaderEntryName"]
|
||||||
|
|
||||||
|
file_name_sanitizer = str.maketrans(" /", "_-")
|
||||||
|
return efi_bootloader_id.translate(file_name_sanitizer)
|
||||||
|
|
||||||
|
|
||||||
|
def efi_word_size():
|
||||||
|
# get bitness of the underlying UEFI
|
||||||
|
try:
|
||||||
|
sysfile = open("/sys/firmware/efi/fw_platform_size", "r")
|
||||||
|
efi_bitness = sysfile.read(2)
|
||||||
|
except Exception:
|
||||||
|
# if the kernel is older than 4.0, the UEFI bitness likely isn't
|
||||||
|
# exposed to the userspace so we assume a 64 bit UEFI here
|
||||||
|
efi_bitness = "64"
|
||||||
|
return efi_bitness
|
||||||
|
|
||||||
|
|
||||||
def install_systemd_boot(efi_directory):
|
def install_systemd_boot(efi_directory):
|
||||||
"""
|
"""
|
||||||
Installs systemd-boot as bootloader for EFI setups.
|
Installs systemd-boot as bootloader for EFI setups.
|
||||||
@ -218,22 +242,8 @@ def install_grub(efi_directory, fw_type):
|
|||||||
if not os.path.isdir(install_efi_directory):
|
if not os.path.isdir(install_efi_directory):
|
||||||
os.makedirs(install_efi_directory)
|
os.makedirs(install_efi_directory)
|
||||||
|
|
||||||
if "efiBootloaderId" in libcalamares.job.configuration:
|
efi_bootloader_id = efi_label()
|
||||||
efi_bootloader_id = libcalamares.job.configuration[
|
efi_bitness = efi_word_size()
|
||||||
"efiBootloaderId"]
|
|
||||||
else:
|
|
||||||
branding = libcalamares.globalstorage.value("branding")
|
|
||||||
distribution = branding["bootloaderEntryName"]
|
|
||||||
file_name_sanitizer = str.maketrans(" /", "_-")
|
|
||||||
efi_bootloader_id = distribution.translate(file_name_sanitizer)
|
|
||||||
# get bitness of the underlying UEFI
|
|
||||||
try:
|
|
||||||
sysfile = open("/sys/firmware/efi/fw_platform_size", "r")
|
|
||||||
efi_bitness = sysfile.read(2)
|
|
||||||
except Exception:
|
|
||||||
# if the kernel is older than 4.0, the UEFI bitness likely isn't
|
|
||||||
# exposed to the userspace so we assume a 64 bit UEFI here
|
|
||||||
efi_bitness = "64"
|
|
||||||
|
|
||||||
if efi_bitness == "32":
|
if efi_bitness == "32":
|
||||||
efi_target = "i386-efi"
|
efi_target = "i386-efi"
|
||||||
@ -299,6 +309,57 @@ def install_grub(efi_directory, fw_type):
|
|||||||
"-o", libcalamares.job.configuration["grubCfg"]])
|
"-o", libcalamares.job.configuration["grubCfg"]])
|
||||||
|
|
||||||
|
|
||||||
|
def install_secureboot(efi_directory):
|
||||||
|
"""
|
||||||
|
Installs the secureboot shim in the system by calling efibootmgr.
|
||||||
|
"""
|
||||||
|
efi_bootloader_id = efi_label()
|
||||||
|
|
||||||
|
install_path = libcalamares.globalstorage.value("rootMountPoint")
|
||||||
|
install_efi_directory = install_path + efi_directory
|
||||||
|
|
||||||
|
if efi_word_size() == "64":
|
||||||
|
install_efi_bin = "shim64.efi"
|
||||||
|
else:
|
||||||
|
install_efi_bin = "shim.efi"
|
||||||
|
|
||||||
|
# Copied, roughly, from openSUSE's install script,
|
||||||
|
# and pythonified. *disk* is something like /dev/sda,
|
||||||
|
# while *drive* may return "(disk/dev/sda,gpt1)" ..
|
||||||
|
# we're interested in the numbers in the second part
|
||||||
|
# of that tuple.
|
||||||
|
efi_drive = subprocess.check_output([
|
||||||
|
libcalamares.job.configuration["grubProbe"],
|
||||||
|
"-t", "drive", "--device-map=", install_efi_directory])
|
||||||
|
efi_disk = subprocess.check_output([
|
||||||
|
libcalamares.job.configuration["grubProbe"],
|
||||||
|
"-t", "disk", "--device-map=", install_efi_directory])
|
||||||
|
|
||||||
|
efi_drive_partition = efi_drive.replace("(","").replace(")","").split(",")[1]
|
||||||
|
# Get the first run of digits from the partition
|
||||||
|
efi_partititon_number = None
|
||||||
|
c = 0
|
||||||
|
start = None
|
||||||
|
while c < len(efi_drive_partition):
|
||||||
|
if efi_drive_partition[c].isdigit() and start is None:
|
||||||
|
start = c
|
||||||
|
if not efi_drive_partition[c].isdigit() and start is not None:
|
||||||
|
efi_drive_number = efi_drive_partition[start:c]
|
||||||
|
break
|
||||||
|
c += 1
|
||||||
|
if efi_partititon_number is None:
|
||||||
|
raise ValueError("No partition number found for %s" % install_efi_directory)
|
||||||
|
|
||||||
|
subprocess.call([
|
||||||
|
"/usr/sbin/efibootmgr",
|
||||||
|
"-c",
|
||||||
|
"-w",
|
||||||
|
"-L", efi_bootloader_id,
|
||||||
|
"-d", efi_disk,
|
||||||
|
"-p", efi_partititon_number,
|
||||||
|
"-l", install_efi_directory + "/" + install_efi_bin])
|
||||||
|
|
||||||
|
|
||||||
def vfat_correct_case(parent, name):
|
def vfat_correct_case(parent, name):
|
||||||
for candidate in os.listdir(parent):
|
for candidate in os.listdir(parent):
|
||||||
if name.lower() == candidate.lower():
|
if name.lower() == candidate.lower():
|
||||||
@ -320,8 +381,14 @@ def prepare_bootloader(fw_type):
|
|||||||
|
|
||||||
if efi_boot_loader == "systemd-boot" and fw_type == "efi":
|
if efi_boot_loader == "systemd-boot" and fw_type == "efi":
|
||||||
install_systemd_boot(efi_directory)
|
install_systemd_boot(efi_directory)
|
||||||
else:
|
elif efi_boot_loader == "sb-shim" and fw_type == "efi":
|
||||||
|
install_secureboot(efi_directory)
|
||||||
|
elif efi_boot_loader == "grub" or fw_type != "efi":
|
||||||
install_grub(efi_directory, fw_type)
|
install_grub(efi_directory, fw_type)
|
||||||
|
else:
|
||||||
|
libcalamares.utils.debug( "WARNING: the combination of "
|
||||||
|
"boot-loader '{!s}' and firmware '{!s}' "
|
||||||
|
"is not supported.".format(efi_boot_loader, fw_type) )
|
||||||
|
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
|
@ -66,7 +66,7 @@ struct ContextualProcessBinding
|
|||||||
void append( const QString& value, CalamaresUtils::CommandList* commands )
|
void append( const QString& value, CalamaresUtils::CommandList* commands )
|
||||||
{
|
{
|
||||||
checks.append( ValueCheck( value, commands ) );
|
checks.append( ValueCheck( value, commands ) );
|
||||||
if ( value == '*' )
|
if ( value == QString( "*" ) )
|
||||||
wildcard = commands;
|
wildcard = commands;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -17,7 +17,10 @@
|
|||||||
#
|
#
|
||||||
# As a special case, the value-check "*" matches any value, but **only**
|
# As a special case, the value-check "*" matches any value, but **only**
|
||||||
# if no other value-check matches. Use it as an *else* form for value-
|
# if no other value-check matches. Use it as an *else* form for value-
|
||||||
# checks. Take care to put the asterisk in quotes.
|
# checks. Take care to put the asterisk in quotes. The value-check "*"
|
||||||
|
# **also** matches a literal asterisk as value; a confusing corner case
|
||||||
|
# is checking for an asterisk **and** having a wildcard match with
|
||||||
|
# different commands. This is currently not possible.
|
||||||
#
|
#
|
||||||
# Global configuration variables are not checked in a deterministic
|
# Global configuration variables are not checked in a deterministic
|
||||||
# order, so do not rely on commands from one variable-check to
|
# order, so do not rely on commands from one variable-check to
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org> (original dummypython code)
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org> (original dummypython code)
|
||||||
* Copyright 2016, Kevin Kofler <kevin.kofler@chello.at>
|
* Copyright 2016, Kevin Kofler <kevin.kofler@chello.at>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
Binary file not shown.
@ -8,8 +8,9 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-09-04 08:16-0400\n"
|
"POT-Creation-Date: 2018-05-28 04:57-0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: guillermo pacheco <guillopacheco@gmail.com>, 2018\n"
|
||||||
"Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n"
|
"Language-Team: Spanish (Mexico) (https://www.transifex.com/calamares/teams/20061/es_MX/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@ -19,24 +20,24 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/modules/dummypythonqt/main.py:84
|
#: src/modules/dummypythonqt/main.py:84
|
||||||
msgid "Click me!"
|
msgid "Click me!"
|
||||||
msgstr ""
|
msgstr "¡Haz clic en mí!"
|
||||||
|
|
||||||
#: src/modules/dummypythonqt/main.py:94
|
#: src/modules/dummypythonqt/main.py:94
|
||||||
msgid "A new QLabel."
|
msgid "A new QLabel."
|
||||||
msgstr ""
|
msgstr "Una nueva QLabel."
|
||||||
|
|
||||||
#: src/modules/dummypythonqt/main.py:97
|
#: src/modules/dummypythonqt/main.py:97
|
||||||
msgid "Dummy PythonQt ViewStep"
|
msgid "Dummy PythonQt ViewStep"
|
||||||
msgstr ""
|
msgstr "Vision del PythonQt ficticio"
|
||||||
|
|
||||||
#: src/modules/dummypythonqt/main.py:183
|
#: src/modules/dummypythonqt/main.py:183
|
||||||
msgid "The Dummy PythonQt Job"
|
msgid "The Dummy PythonQt Job"
|
||||||
msgstr ""
|
msgstr "Trabajo del PythonQt ficticio"
|
||||||
|
|
||||||
#: src/modules/dummypythonqt/main.py:186
|
#: src/modules/dummypythonqt/main.py:186
|
||||||
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
|
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
|
||||||
msgstr ""
|
msgstr "Este es el Trabajo PythonQt ficticio. El trabajo ficticio dice: {}"
|
||||||
|
|
||||||
#: src/modules/dummypythonqt/main.py:190
|
#: src/modules/dummypythonqt/main.py:190
|
||||||
msgid "A status message for Dummy PythonQt Job."
|
msgid "A status message for Dummy PythonQt Job."
|
||||||
msgstr ""
|
msgstr "Un mensaje de estado para el trabajo PythonQt ficticio."
|
||||||
|
BIN
src/modules/dummypythonqt/lang/ko/LC_MESSAGES/dummypythonqt.mo
Normal file
BIN
src/modules/dummypythonqt/lang/ko/LC_MESSAGES/dummypythonqt.mo
Normal file
Binary file not shown.
@ -0,0 +1,42 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2018-05-28 04:57-0400\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Language-Team: Korean (https://www.transifex.com/calamares/teams/20061/ko/)\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Language: ko\n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
|
#: src/modules/dummypythonqt/main.py:84
|
||||||
|
msgid "Click me!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypythonqt/main.py:94
|
||||||
|
msgid "A new QLabel."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypythonqt/main.py:97
|
||||||
|
msgid "Dummy PythonQt ViewStep"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypythonqt/main.py:183
|
||||||
|
msgid "The Dummy PythonQt Job"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypythonqt/main.py:186
|
||||||
|
msgid "This is the Dummy PythonQt Job. The dummy job says: {}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/modules/dummypythonqt/main.py:190
|
||||||
|
msgid "A status message for Dummy PythonQt Job."
|
||||||
|
msgstr ""
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
# Copyright 2015-2017, Teo Mrnjavac <teo@kde.org>
|
# Copyright 2015-2017, Teo Mrnjavac <teo@kde.org>
|
||||||
# Copyright 2017, Alf Gaida <agaida@siduction.org>
|
# Copyright 2017, Alf Gaida <agaida@siduction.org>
|
||||||
# Copyright 2017, Adriaan de Groot <groot@kde.org>
|
# Copyright 2017, Adriaan de Groot <groot@kde.org>
|
||||||
# Copyright 2017, Gabriel Craciunescu <crazy@frugalware.org>
|
# Copyright 2017-2018, Gabriel Craciunescu <crazy@frugalware.org>
|
||||||
#
|
#
|
||||||
# Calamares is free software: you can redistribute it and/or modify
|
# Calamares is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -44,16 +44,21 @@ def modify_grub_default(partitions, root_mount_point, distributor):
|
|||||||
dracut_bin = libcalamares.utils.target_env_call(
|
dracut_bin = libcalamares.utils.target_env_call(
|
||||||
["sh", "-c", "which dracut"]
|
["sh", "-c", "which dracut"]
|
||||||
)
|
)
|
||||||
have_dracut = dracut_bin == 0 # Shell exit value 0 means success
|
plymouth_bin = libcalamares.utils.target_env_call(
|
||||||
|
["sh", "-c", "which plymouth"]
|
||||||
|
)
|
||||||
|
|
||||||
|
# Shell exit value 0 means success
|
||||||
|
have_plymouth = plymouth_bin == 0
|
||||||
|
have_dracut = dracut_bin == 0
|
||||||
|
|
||||||
use_splash = ""
|
use_splash = ""
|
||||||
swap_uuid = ""
|
swap_uuid = ""
|
||||||
swap_outer_uuid = ""
|
swap_outer_uuid = ""
|
||||||
swap_outer_mappername = None
|
swap_outer_mappername = None
|
||||||
|
|
||||||
if libcalamares.globalstorage.contains("hasPlymouth"):
|
if have_plymouth:
|
||||||
if libcalamares.globalstorage.value("hasPlymouth"):
|
use_splash = "splash"
|
||||||
use_splash = "splash"
|
|
||||||
|
|
||||||
cryptdevice_params = []
|
cryptdevice_params = []
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# Copyright 2014 - 2015, Philip Müller <philm@manjaro.org>
|
# Copyright 2014 - 2015, Philip Müller <philm@manjaro.org>
|
||||||
# Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
# Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
# Copyright 2017, Alf Gaida <agaida@siduction.org>
|
# Copyright 2017, Alf Gaida <agaida@siduction.org>
|
||||||
# Copyright 2017, Gabriel Craciunescu <crazy@frugalware.org>
|
# Copyright 2017-2018, Gabriel Craciunescu <crazy@frugalware.org>
|
||||||
#
|
#
|
||||||
# Calamares is free software: you can redistribute it and/or modify
|
# Calamares is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Portions from the Manjaro Installation Framework
|
* Portions from the Manjaro Installation Framework
|
||||||
* by Roland Singer <roland@manjaro.org>
|
* by Roland Singer <roland@manjaro.org>
|
||||||
@ -95,8 +95,7 @@ KeyboardPage::KeyboardPage( QWidget* parent )
|
|||||||
QString model = m_models.value( text, "pc105" );
|
QString model = m_models.value( text, "pc105" );
|
||||||
|
|
||||||
// Set Xorg keyboard model
|
// Set Xorg keyboard model
|
||||||
QProcess::execute( QLatin1Literal( "setxkbmap" ),
|
QProcess::execute( "setxkbmap", QStringList{ "-model", model } );
|
||||||
QStringList() << "-model" << model );
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
CALAMARES_RETRANSLATE( ui->retranslateUi( this ); )
|
CALAMARES_RETRANSLATE( ui->retranslateUi( this ); )
|
||||||
@ -356,11 +355,15 @@ KeyboardPage::onActivate()
|
|||||||
|
|
||||||
lang.replace( '-', '_' ); // Normalize separators
|
lang.replace( '-', '_' ); // Normalize separators
|
||||||
}
|
}
|
||||||
if ( !lang.isEmpty() && specialCaseMap.contains( lang.toStdString() ) )
|
if ( !lang.isEmpty() )
|
||||||
{
|
{
|
||||||
QLatin1String newLang( specialCaseMap.value( lang.toStdString() ).c_str() );
|
std::string lang_s = lang.toStdString();
|
||||||
cDebug() << " .. special case language" << lang << '>' << newLang;
|
if ( specialCaseMap.contains( lang_s ) )
|
||||||
lang = newLang;
|
{
|
||||||
|
QString newLang = QString::fromStdString( specialCaseMap.value( lang_s ) );
|
||||||
|
cDebug() << " .. special case language" << lang << "becomes" << newLang;
|
||||||
|
lang = newLang;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ( !lang.isEmpty() )
|
if ( !lang.isEmpty() )
|
||||||
{
|
{
|
||||||
@ -478,9 +481,8 @@ KeyboardPage::onListVariantCurrentItemChanged( QListWidgetItem* current, QListWi
|
|||||||
connect( &m_setxkbmapTimer, &QTimer::timeout,
|
connect( &m_setxkbmapTimer, &QTimer::timeout,
|
||||||
this, [=]
|
this, [=]
|
||||||
{
|
{
|
||||||
QProcess::execute( QLatin1Literal( "setxkbmap" ),
|
QProcess::execute( "setxkbmap", xkbmap_args( QStringList(), layout, variant ) );
|
||||||
xkbmap_args( QStringList(), layout, variant ) );
|
cDebug() << "xkbmap selection changed to: " << layout << '-' << variant;
|
||||||
cDebug() << "xkbmap selection changed to: " << layout << "-" << variant;
|
|
||||||
m_setxkbmapTimer.disconnect( this );
|
m_setxkbmapTimer.disconnect( this );
|
||||||
} );
|
} );
|
||||||
m_setxkbmapTimer.start( QApplication::keyboardInputInterval() );
|
m_setxkbmapTimer.start( QApplication::keyboardInputInterval() );
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Portions from the Manjaro Installation Framework
|
* Portions from the Manjaro Installation Framework
|
||||||
* by Roland Singer <roland@manjaro.org>
|
* by Roland Singer <roland@manjaro.org>
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
* Copyright 2015, Anke Boersma <demm@kaosx.us>
|
* Copyright 2015, Anke Boersma <demm@kaosx.us>
|
||||||
* Copyright 2015, Alexandre Arnt <qtgzmanager@gmail.com>
|
* Copyright 2015, Alexandre Arnt <qtgzmanager@gmail.com>
|
||||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -57,7 +58,7 @@ LicensePage::LicensePage(QWidget *parent)
|
|||||||
CalamaresUtils::defaultFontHeight() * 3,
|
CalamaresUtils::defaultFontHeight() * 3,
|
||||||
CalamaresUtils::defaultFontHeight(),
|
CalamaresUtils::defaultFontHeight(),
|
||||||
CalamaresUtils::defaultFontHeight() );
|
CalamaresUtils::defaultFontHeight() );
|
||||||
|
|
||||||
ui->acceptFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain );
|
ui->acceptFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain );
|
||||||
ui->acceptFrame->setStyleSheet( "#acceptFrame { border: 1px solid red;"
|
ui->acceptFrame->setStyleSheet( "#acceptFrame { border: 1px solid red;"
|
||||||
"background-color: #fff6f6;"
|
"background-color: #fff6f6;"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
* Copyright 2015, Anke Boersma <demm@kaosx.us>
|
* Copyright 2015, Anke Boersma <demm@kaosx.us>
|
||||||
* Copyright 2015, Alexandre Arnt <qtgzmanager@gmail.com>
|
* Copyright 2015, Alexandre Arnt <qtgzmanager@gmail.com>
|
||||||
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
#include <yaml-cpp/yaml.h>
|
#include <yaml-cpp/yaml.h>
|
||||||
|
|
||||||
GeoIPJSON::GeoIPJSON(const QString& attribute)
|
GeoIPJSON::GeoIPJSON(const QString& attribute)
|
||||||
: GeoIP( attribute.isEmpty() ? QLatin1String( "time_zone" ) : attribute )
|
: GeoIP( attribute.isEmpty() ? QStringLiteral( "time_zone" ) : attribute )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,10 @@
|
|||||||
#include "GeoIPXML.h"
|
#include "GeoIPXML.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <QNetworkAccessManager>
|
||||||
|
#include <QNetworkReply>
|
||||||
|
#include <QNetworkRequest>
|
||||||
|
|
||||||
#include <QtTest/QtTest>
|
#include <QtTest/QtTest>
|
||||||
|
|
||||||
QTEST_GUILESS_MAIN( GeoIPTests )
|
QTEST_GUILESS_MAIN( GeoIPTests )
|
||||||
@ -49,15 +53,15 @@ GeoIPTests::testJSON()
|
|||||||
GeoIPJSON handler;
|
GeoIPJSON handler;
|
||||||
auto tz = handler.processReply( json_data_attribute );
|
auto tz = handler.processReply( json_data_attribute );
|
||||||
|
|
||||||
QCOMPARE( tz.first, QLatin1String( "Europe" ) );
|
QCOMPARE( tz.first, QStringLiteral( "Europe" ) );
|
||||||
QCOMPARE( tz.second, QLatin1String( "Amsterdam" ) );
|
QCOMPARE( tz.second, QStringLiteral( "Amsterdam" ) );
|
||||||
|
|
||||||
// JSON is quite tolerant
|
// JSON is quite tolerant
|
||||||
tz = handler.processReply( "time_zone: \"Europe/Brussels\"" );
|
tz = handler.processReply( "time_zone: \"Europe/Brussels\"" );
|
||||||
QCOMPARE( tz.second, QLatin1String( "Brussels" ) );
|
QCOMPARE( tz.second, QStringLiteral( "Brussels" ) );
|
||||||
|
|
||||||
tz = handler.processReply( "time_zone: America/New_York\n" );
|
tz = handler.processReply( "time_zone: America/New_York\n" );
|
||||||
QCOMPARE( tz.first, QLatin1String( "America" ) );
|
QCOMPARE( tz.first, QStringLiteral( "America" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void GeoIPTests::testJSONalt()
|
void GeoIPTests::testJSONalt()
|
||||||
@ -68,8 +72,8 @@ void GeoIPTests::testJSONalt()
|
|||||||
QCOMPARE( tz.first, QString() ); // Not found
|
QCOMPARE( tz.first, QString() ); // Not found
|
||||||
|
|
||||||
tz = handler.processReply( "tarifa: 12\nzona_de_hora: Europe/Madrid" );
|
tz = handler.processReply( "tarifa: 12\nzona_de_hora: Europe/Madrid" );
|
||||||
QCOMPARE( tz.first, QLatin1String( "Europe" ) );
|
QCOMPARE( tz.first, QStringLiteral( "Europe" ) );
|
||||||
QCOMPARE( tz.second, QLatin1String( "Madrid" ) );
|
QCOMPARE( tz.second, QStringLiteral( "Madrid" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -118,8 +122,8 @@ GeoIPTests::testXML()
|
|||||||
GeoIPXML handler;
|
GeoIPXML handler;
|
||||||
auto tz = handler.processReply( xml_data_ubiquity );
|
auto tz = handler.processReply( xml_data_ubiquity );
|
||||||
|
|
||||||
QCOMPARE( tz.first, QLatin1String( "Europe" ) );
|
QCOMPARE( tz.first, QStringLiteral( "Europe" ) );
|
||||||
QCOMPARE( tz.second, QLatin1String( "Amsterdam" ) );
|
QCOMPARE( tz.second, QStringLiteral( "Amsterdam" ) );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,8 +137,8 @@ GeoIPTests::testXML2()
|
|||||||
GeoIPXML handler;
|
GeoIPXML handler;
|
||||||
auto tz = handler.processReply( data );
|
auto tz = handler.processReply( data );
|
||||||
|
|
||||||
QCOMPARE( tz.first, QLatin1String( "America" ) );
|
QCOMPARE( tz.first, QStringLiteral( "America" ) );
|
||||||
QCOMPARE( tz.second, QLatin1String( "North_Dakota/Beulah" ) ); // Without space
|
QCOMPARE( tz.second, QStringLiteral( "North_Dakota/Beulah" ) ); // Without space
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,8 +149,8 @@ void GeoIPTests::testXMLalt()
|
|||||||
GeoIPXML handler( "ZT" );
|
GeoIPXML handler( "ZT" );
|
||||||
|
|
||||||
auto tz = handler.processReply( "<A><B/><C><ZT>Moon/Dark_side</ZT></C></A>" );
|
auto tz = handler.processReply( "<A><B/><C><ZT>Moon/Dark_side</ZT></C></A>" );
|
||||||
QCOMPARE( tz.first, QLatin1String( "Moon" ) );
|
QCOMPARE( tz.first, QStringLiteral( "Moon" ) );
|
||||||
QCOMPARE( tz.second, QLatin1String( "Dark_side" ) );
|
QCOMPARE( tz.second, QStringLiteral( "Dark_side" ) );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,26 +172,26 @@ GeoIPTests::testXMLbad()
|
|||||||
|
|
||||||
void GeoIPTests::testSplitTZ()
|
void GeoIPTests::testSplitTZ()
|
||||||
{
|
{
|
||||||
auto tz = GeoIP::splitTZString( QLatin1String("Moon/Dark_side") );
|
auto tz = GeoIP::splitTZString( QStringLiteral("Moon/Dark_side") );
|
||||||
QCOMPARE( tz.first, QLatin1String("Moon") );
|
QCOMPARE( tz.first, QStringLiteral("Moon") );
|
||||||
QCOMPARE( tz.second, QLatin1String("Dark_side") );
|
QCOMPARE( tz.second, QStringLiteral("Dark_side") );
|
||||||
|
|
||||||
// Some providers return weirdly escaped data
|
// Some providers return weirdly escaped data
|
||||||
tz = GeoIP::splitTZString( QLatin1String("America\\/NewYork") );
|
tz = GeoIP::splitTZString( QStringLiteral("America\\/NewYork") );
|
||||||
QCOMPARE( tz.first, QLatin1String("America") );
|
QCOMPARE( tz.first, QStringLiteral("America") );
|
||||||
QCOMPARE( tz.second, QLatin1String("NewYork") ); // That's not actually the zone name
|
QCOMPARE( tz.second, QStringLiteral("NewYork") ); // That's not actually the zone name
|
||||||
|
|
||||||
// Check that bogus data fails
|
// Check that bogus data fails
|
||||||
tz = GeoIP::splitTZString( QString() );
|
tz = GeoIP::splitTZString( QString() );
|
||||||
QCOMPARE( tz.first, QString() );
|
QCOMPARE( tz.first, QString() );
|
||||||
|
|
||||||
tz = GeoIP::splitTZString( QLatin1String("America.NewYork") );
|
tz = GeoIP::splitTZString( QStringLiteral("America.NewYork") );
|
||||||
QCOMPARE( tz.first, QString() );
|
QCOMPARE( tz.first, QString() );
|
||||||
|
|
||||||
// Check that three-level is split properly and space is replaced
|
// Check that three-level is split properly and space is replaced
|
||||||
tz = GeoIP::splitTZString( QLatin1String("America/North Dakota/Beulah") );
|
tz = GeoIP::splitTZString( QStringLiteral("America/North Dakota/Beulah") );
|
||||||
QCOMPARE( tz.first, QLatin1String("America") );
|
QCOMPARE( tz.first, QStringLiteral("America") );
|
||||||
QCOMPARE( tz.second, QLatin1String("North_Dakota/Beulah") );
|
QCOMPARE( tz.second, QStringLiteral("North_Dakota/Beulah") );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -217,7 +221,7 @@ synchronous_get( const char* urlstring )
|
|||||||
|
|
||||||
void GeoIPTests::testGet()
|
void GeoIPTests::testGet()
|
||||||
{
|
{
|
||||||
if ( !QProcessEnvironment::systemEnvironment().contains( QLatin1String("TEST_HTTP_GET") ) )
|
if ( !QProcessEnvironment::systemEnvironment().contains( QStringLiteral("TEST_HTTP_GET") ) )
|
||||||
{
|
{
|
||||||
qDebug() << "Skipping HTTP GET tests";
|
qDebug() << "Skipping HTTP GET tests";
|
||||||
return;
|
return;
|
||||||
@ -228,8 +232,8 @@ void GeoIPTests::testGet()
|
|||||||
auto default_tz = default_handler.processReply( synchronous_get( "https://geoip.kde.org/v1/calamares" ) );
|
auto default_tz = default_handler.processReply( synchronous_get( "https://geoip.kde.org/v1/calamares" ) );
|
||||||
|
|
||||||
// This is bogus, because the test isn't always run by me
|
// This is bogus, because the test isn't always run by me
|
||||||
// QCOMPARE( default_tz.first, QLatin1String("Europe") );
|
// QCOMPARE( default_tz.first, QStringLiteral("Europe") );
|
||||||
// QCOMPARE( default_tz.second, QLatin1String("Amsterdam") );
|
// QCOMPARE( default_tz.second, QStringLiteral("Amsterdam") );
|
||||||
QVERIFY( !default_tz.first.isEmpty() );
|
QVERIFY( !default_tz.first.isEmpty() );
|
||||||
QVERIFY( !default_tz.second.isEmpty() );
|
QVERIFY( !default_tz.second.isEmpty() );
|
||||||
|
|
||||||
@ -238,12 +242,12 @@ void GeoIPTests::testGet()
|
|||||||
// services don't agree on the location of where the test is run.
|
// services don't agree on the location of where the test is run.
|
||||||
CHECK_GET( JSON, QString(), "https://geoip.kde.org/v1/calamares" ) // Check it's consistent
|
CHECK_GET( JSON, QString(), "https://geoip.kde.org/v1/calamares" ) // Check it's consistent
|
||||||
CHECK_GET( JSON, QString(), "http://freegeoip.net/json/" ) // Original FreeGeoIP service
|
CHECK_GET( JSON, QString(), "http://freegeoip.net/json/" ) // Original FreeGeoIP service
|
||||||
CHECK_GET( JSON, QLatin1String("timezone"), "https://ipapi.co/json" ) // Different JSON
|
CHECK_GET( JSON, QStringLiteral("timezone"), "https://ipapi.co/json" ) // Different JSON
|
||||||
CHECK_GET( JSON, QLatin1String("timezone"), "http://ip-api.com/json" )
|
CHECK_GET( JSON, QStringLiteral("timezone"), "http://ip-api.com/json" )
|
||||||
|
|
||||||
CHECK_GET( JSON, QLatin1String("location.time_zone"), "http://geoip.nekudo.com/api/" ) // 2-level JSON
|
CHECK_GET( JSON, QStringLiteral("location.time_zone"), "http://geoip.nekudo.com/api/" ) // 2-level JSON
|
||||||
|
|
||||||
CHECK_GET( JSON, QLatin1String("Location.TimeZone"), "https://geoip.kde.org/debug" ) // 2-level JSON
|
CHECK_GET( JSON, QStringLiteral("Location.TimeZone"), "https://geoip.kde.org/debug" ) // 2-level JSON
|
||||||
|
|
||||||
#ifdef HAVE_XML
|
#ifdef HAVE_XML
|
||||||
CHECK_GET( XML, QString(), "http://geoip.ubuntu.com/lookup" ) // Ubiquity's XML format
|
CHECK_GET( XML, QString(), "http://geoip.ubuntu.com/lookup" ) // Ubiquity's XML format
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <QtXml/QDomDocument>
|
#include <QtXml/QDomDocument>
|
||||||
|
|
||||||
GeoIPXML::GeoIPXML( const QString& element )
|
GeoIPXML::GeoIPXML( const QString& element )
|
||||||
: GeoIP( element.isEmpty() ? QLatin1String( "TimeZone" ) : element )
|
: GeoIP( element.isEmpty() ? QStringLiteral( "TimeZone" ) : element )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -498,7 +498,7 @@ LocalePage::updateGlobalStorage()
|
|||||||
#ifndef DEBUG_TIMEZONES
|
#ifndef DEBUG_TIMEZONES
|
||||||
if ( Calamares::Settings::instance()->doChroot() )
|
if ( Calamares::Settings::instance()->doChroot() )
|
||||||
{
|
{
|
||||||
QProcess ::execute( "timedatectl", // depends on systemd
|
QProcess::execute( "timedatectl", // depends on systemd
|
||||||
{ "set-timezone",
|
{ "set-timezone",
|
||||||
location.region + '/' + location.zone } );
|
location.region + '/' + location.zone } );
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -38,10 +38,10 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
GeoIP* handler = nullptr;
|
GeoIP* handler = nullptr;
|
||||||
if ( QLatin1String( "json" ) == argv[1] )
|
if ( QStringLiteral( "json" ) == argv[1] )
|
||||||
handler = new GeoIPJSON;
|
handler = new GeoIPJSON;
|
||||||
#ifdef HAVE_XML
|
#ifdef HAVE_XML
|
||||||
else if ( QLatin1String( "xml" ) == argv[1] )
|
else if ( QStringLiteral( "xml" ) == argv[1] )
|
||||||
handler = new GeoIPXML;
|
handler = new GeoIPXML;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Originally from the Manjaro Installation Framework
|
* Originally from the Manjaro Installation Framework
|
||||||
* by Roland Singer <roland@manjaro.org>
|
* by Roland Singer <roland@manjaro.org>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Originally from the Manjaro Installation Framework
|
* Originally from the Manjaro Installation Framework
|
||||||
* by Roland Singer <roland@manjaro.org>
|
* by Roland Singer <roland@manjaro.org>
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
# Copyright 2014, Anke Boersma <demm@kaosx.us>
|
# Copyright 2014, Anke Boersma <demm@kaosx.us>
|
||||||
# Copyright 2015, Philip Müller <philm@manjaro.org>
|
# Copyright 2015, Philip Müller <philm@manjaro.org>
|
||||||
# Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
# Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
# Copyright 2018, AlmAck <gluca86@gmail.com>
|
||||||
#
|
#
|
||||||
# Calamares is free software: you can redistribute it and/or modify
|
# Calamares is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright 2016, Luca Giambonini <almack@chakraos.org>
|
* Copyright 2016, Luca Giambonini <almack@chakraos.org>
|
||||||
* Copyright 2016, Lisa Vitolo <shainer@chakraos.org>
|
* Copyright 2016, Lisa Vitolo <shainer@chakraos.org>
|
||||||
* Copyright 2017, Kyle Robbertze <krobbertze@gmail.com>
|
* Copyright 2017, Kyle Robbertze <krobbertze@gmail.com>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
* Copyright 2017, Gabriel Craciunescu <crazy@frugalware.org>
|
* Copyright 2017, Gabriel Craciunescu <crazy@frugalware.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright 2016, Luca Giambonini <almack@chakraos.org>
|
* Copyright 2016, Luca Giambonini <almack@chakraos.org>
|
||||||
* Copyright 2016, Lisa Vitolo <shainer@chakraos.org>
|
* Copyright 2016, Lisa Vitolo <shainer@chakraos.org>
|
||||||
* Copyright 2017, Kyle Robbertze <krobbertze@gmail.com>
|
* Copyright 2017, Kyle Robbertze <krobbertze@gmail.com>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Copyright 2016, Luca Giambonini <almack@chakraos.org>
|
* Copyright 2016, Luca Giambonini <almack@chakraos.org>
|
||||||
* Copyright 2016, Lisa Vitolo <shainer@chakraos.org>
|
* Copyright 2016, Lisa Vitolo <shainer@chakraos.org>
|
||||||
* Copyright 2017, Kyle Robbertze <krobbertze@gmail.com>
|
* Copyright 2017, Kyle Robbertze <krobbertze@gmail.com>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright (c) 2017, Kyle Robbertze <kyle@aims.ac.za>
|
* Copyright (c) 2017, Kyle Robbertze <kyle@aims.ac.za>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
* Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -344,23 +344,29 @@ isEfiSystem()
|
|||||||
bool
|
bool
|
||||||
isEfiBootable( const Partition* candidate )
|
isEfiBootable( const Partition* candidate )
|
||||||
{
|
{
|
||||||
|
cDebug() << "Check EFI bootable" << candidate->partitionPath() << candidate->devicePath();
|
||||||
|
cDebug() << " .. flags" << candidate->activeFlags();
|
||||||
|
|
||||||
auto flags = PartitionInfo::flags( candidate );
|
auto flags = PartitionInfo::flags( candidate );
|
||||||
|
|
||||||
/* If bit 17 is set, old-style Esp flag, it's OK */
|
/* If bit 17 is set, old-style Esp flag, it's OK */
|
||||||
if ( flags.testFlag( PartitionTable::FlagEsp ) )
|
if ( flags.testFlag( PartitionTable::FlagEsp ) )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
|
||||||
/* Otherwise, if it's a GPT table, Boot (bit 0) is the same as Esp */
|
/* Otherwise, if it's a GPT table, Boot (bit 0) is the same as Esp */
|
||||||
const PartitionNode* root = candidate;
|
const PartitionNode* root = candidate;
|
||||||
while ( root && !root->isRoot() )
|
while ( root && !root->isRoot() )
|
||||||
|
{
|
||||||
root = root->parent();
|
root = root->parent();
|
||||||
|
cDebug() << " .. moved towards root" << (void *)root;
|
||||||
|
}
|
||||||
|
|
||||||
// Strange case: no root found, no partition table node?
|
// Strange case: no root found, no partition table node?
|
||||||
if ( !root )
|
if ( !root )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
const PartitionTable* table = dynamic_cast<const PartitionTable*>( root );
|
const PartitionTable* table = dynamic_cast<const PartitionTable*>( root );
|
||||||
|
cDebug() << " .. partition table" << (void *)table << "type" << ( table ? table->type() : PartitionTable::TableType::unknownTableType );
|
||||||
return table && ( table->type() == PartitionTable::TableType::gpt ) &&
|
return table && ( table->type() == PartitionTable::TableType::gpt ) &&
|
||||||
flags.testFlag( PartitionTable::FlagBoot );
|
flags.testFlag( PartitionTable::FlagBoot );
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2015, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
|
* Copyright 2018, Caio Carvalho <caiojcarvalho@gmail.com>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2017, Teo Mrnjavac <teo@kde.org>
|
||||||
* Copyright 2017, Adriaan de Groot <groot@kde.org>
|
* Copyright 2017-2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2014-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
|
* Copyright 2018, Andrius Štikonas <andrius@stikonas.eu>
|
||||||
|
* Copyright 2018, Caio Carvalho <caiojcarvalho@gmail.com>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Flags handling originally from KDE Partition Manager,
|
* Flags handling originally from KDE Partition Manager,
|
||||||
* Copyright 2008-2009, Volker Lanz <vl@fidra.de>
|
* Copyright 2008-2009, Volker Lanz <vl@fidra.de>
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
* Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
|
* Copyright 2015-2016, Teo Mrnjavac <teo@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
|
* Copyright 2018, Andrius Štikonas <andrius@stikonas.eu>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
/* === This file is part of Calamares - <https://github.com/calamares> ===
|
||||||
*
|
*
|
||||||
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
* Copyright 2014, Aurélien Gâteau <agateau@kde.org>
|
||||||
|
* Copyright 2018, Adriaan de Groot <groot@kde.org>
|
||||||
*
|
*
|
||||||
* Calamares is free software: you can redistribute it and/or modify
|
* Calamares is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user