Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
calamares
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
17
Issues
17
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Applications
calamares
Commits
de5c97af
Commit
de5c97af
authored
Mar 25, 2020
by
Adriaan de Groot
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'milohr-qml-bits'
FIXES #1352
parents
875f79b4
2a93c7e2
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
364 additions
and
266 deletions
+364
-266
src/modules/welcome/CMakeLists.txt
src/modules/welcome/CMakeLists.txt
+0
-2
src/modules/welcome/Config.cpp
src/modules/welcome/Config.cpp
+135
-81
src/modules/welcome/Config.h
src/modules/welcome/Config.h
+54
-48
src/modules/welcome/WelcomePage.cpp
src/modules/welcome/WelcomePage.cpp
+9
-6
src/modules/welcome/WelcomePage.h
src/modules/welcome/WelcomePage.h
+2
-2
src/modules/welcome/WelcomeViewStep.cpp
src/modules/welcome/WelcomeViewStep.cpp
+117
-116
src/modules/welcome/WelcomeViewStep.h
src/modules/welcome/WelcomeViewStep.h
+10
-10
src/modules/welcomeq/WelcomeQmlViewStep.cpp
src/modules/welcomeq/WelcomeQmlViewStep.cpp
+37
-1
No files found.
src/modules/welcome/CMakeLists.txt
View file @
de5c97af
...
@@ -12,8 +12,6 @@ else()
...
@@ -12,8 +12,6 @@ else()
add_definitions
(
-DWITHOUT_LIBPARTED
)
add_definitions
(
-DWITHOUT_LIBPARTED
)
endif
()
endif
()
include_directories
(
${
PROJECT_BINARY_DIR
}
/src/libcalamaresui
)
set
(
CHECKER_SOURCES
set
(
CHECKER_SOURCES
checker/CheckerContainer.cpp
checker/CheckerContainer.cpp
checker/GeneralRequirements.cpp
checker/GeneralRequirements.cpp
...
...
src/modules/welcome/Config.cpp
View file @
de5c97af
This diff is collapsed.
Click to expand it.
src/modules/welcome/Config.h
View file @
de5c97af
...
@@ -19,21 +19,23 @@
...
@@ -19,21 +19,23 @@
#ifndef WELCOME_CONFIG_H
#ifndef WELCOME_CONFIG_H
#define WELCOME_CONFIG_H
#define WELCOME_CONFIG_H
#include <QObject>
#include <QUrl>
#include "modulesystem/Requirement.h"
#include "modulesystem/Requirement.h"
#include "locale/LabelModel.h"
#include "locale/LabelModel.h"
#include <QObject>
#include <QUrl>
// TODO: move this (and modulesystem/Requirement) to libcalamares
class
RequirementsModel
:
public
QAbstractListModel
class
RequirementsModel
:
public
QAbstractListModel
{
{
Q_OBJECT
Q_OBJECT
using
QAbstractListModel
::
QAbstractListModel
;
Q_PROPERTY
(
bool
satisfiedRequirements
READ
satisfiedRequirements
NOTIFY
satisfiedRequirementsChanged
FINAL
)
Q_PROPERTY
(
bool
satisfiedRequirements
READ
satisfiedRequirements
NOTIFY
satisfiedRequirementsChanged
FINAL
)
Q_PROPERTY
(
bool
satisfiedMandatory
READ
satisfiedMandatory
NOTIFY
satisfiedMandatoryChanged
FINAL
)
Q_PROPERTY
(
QString
warningMessage
READ
warningMessage
NOTIFY
warningMessageChanged
FINAL
)
Q_PROPERTY
(
bool
satisfiedMandatory
READ
satisfiedMandatory
NOTIFY
satisfiedMandatoryChanged
FINAL
)
public:
public:
using
QAbstractListModel
::
QAbstractListModel
;
enum
Roles
:
short
enum
Roles
:
short
{
{
Name
,
Name
,
...
@@ -44,90 +46,92 @@ public:
...
@@ -44,90 +46,92 @@ public:
HasDetails
HasDetails
};
};
bool
satisfiedRequirements
()
const
bool
satisfiedRequirements
()
const
{
return
m_satisfiedRequirements
;
}
{
return
m_satisfiedRequirements
;
}
bool
satisfiedMandatory
()
const
bool
satisfiedMandatory
()
const
{
return
m_satisfiedMandatory
;
}
{
return
m_satisfiedMandatory
;
}
const
Calamares
::
RequirementEntry
&
getEntry
(
const
int
&
index
)
const
const
Calamares
::
RequirementEntry
&
getEntry
(
const
int
&
index
)
const
{
{
if
(
index
>
count
()
||
index
<
0
)
{
return
*
(
new
Calamares
::
RequirementEntry
()
);
}
if
(
index
>
count
()
||
index
<
0
)
return
m_requirements
.
at
(
index
);
return
*
(
new
Calamares
::
RequirementEntry
());
return
m_requierements
.
at
(
index
);
}
}
void
setRequirementsList
(
const
Calamares
::
RequirementsList
&
requirements
);
void
setRequirementsList
(
const
Calamares
::
RequirementsList
&
requirements
);
int
rowCount
(
const
QModelIndex
&
)
const
override
;
int
rowCount
(
const
QModelIndex
&
)
const
override
;
int
count
()
const
int
count
()
const
{
return
m_requirements
.
count
();
}
{
return
m_requierements
.
count
();
QString
warningMessage
()
const
{
return
m_warningMessage
;
}
}
QVariant
data
(
const
QModelIndex
&
index
,
int
role
)
const
override
;
void
retranslate
();
QVariant
data
(
const
QModelIndex
&
index
,
int
role
)
const
override
;
protected:
protected:
QHash
<
int
,
QByteArray
>
roleNames
()
const
override
;
QHash
<
int
,
QByteArray
>
roleNames
()
const
override
;
private:
private:
Calamares
::
RequirementsList
m_requi
e
rements
;
Calamares
::
RequirementsList
m_requirements
;
bool
m_satisfiedRequirements
=
false
;
bool
m_satisfiedRequirements
=
false
;
bool
m_satisfiedMandatory
=
false
;
bool
m_satisfiedMandatory
=
false
;
QString
m_warningMessage
;
signals:
signals:
void
satisfiedRequirementsChanged
(
bool
value
);
void
satisfiedRequirementsChanged
(
bool
value
);
void
satisfiedMandatoryChanged
();
void
satisfiedMandatoryChanged
();
void
warningMessageChanged
();
};
};
class
Config
:
public
QObject
class
Config
:
public
QObject
{
{
Q_OBJECT
Q_OBJECT
Q_PROPERTY
(
CalamaresUtils
::
Locale
::
LabelModel
*
languagesModel
READ
languagesModel
CONSTANT
FINAL
)
Q_PROPERTY
(
CalamaresUtils
::
Locale
::
LabelModel
*
languagesModel
READ
languagesModel
CONSTANT
FINAL
)
Q_PROPERTY
(
RequirementsModel
*
requirementsModel
MEMBER
m_requirementsModel
CONSTANT
FINAL
)
Q_PROPERTY
(
RequirementsModel
*
requirementsModel
MEMBER
m_requirementsModel
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
languageIcon
READ
languageIcon
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
languageIcon
READ
languageIcon
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
countryCode
MEMBER
m_countryCode
NOTIFY
countryCodeChanged
FINAL
)
Q_PROPERTY
(
QString
countryCode
MEMBER
m_countryCode
NOTIFY
countryCodeChanged
FINAL
)
Q_PROPERTY
(
int
localeIndex
READ
localeIndex
WRITE
setLocaleIndex
NOTIFY
localeIndexChanged
)
Q_PROPERTY
(
int
localeIndex
READ
localeIndex
WRITE
setLocaleIndex
NOTIFY
localeIndexChanged
)
Q_PROPERTY
(
QString
genericWelcomeMessage
MEMBER
m_genericWelcomeMessage
NOTIFY
genericWelcomeMessageChanged
FINAL
)
Q_PROPERTY
(
QString
genericWelcomeMessage
MEMBER
m_genericWelcomeMessage
NOTIFY
genericWelcomeMessageChanged
FINAL
)
Q_PROPERTY
(
QString
warningMessage
MEMBER
m_warningMessage
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
supportUrl
MEMBER
m_supportUrl
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
supportUrl
MEMBER
m_supportUrl
NOTIFY
supportUrlChanged
FINAL
)
Q_PROPERTY
(
QString
knownIssuesUrl
MEMBER
m_knownIssuesUrl
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
knownIssuesUrl
MEMBER
m_knownIssuesUrl
NOTIFY
knownIssuesUrlChanged
FINAL
)
Q_PROPERTY
(
QString
releaseNotesUrl
MEMBER
m_releaseNotesUrl
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
releaseNotesUrl
MEMBER
m_releaseNotesUrl
NOTIFY
releaseNotesUrlChanged
FINAL
)
Q_PROPERTY
(
QString
donateUrl
MEMBER
m_donateUrl
CONSTANT
FINAL
)
Q_PROPERTY
(
QString
donateUrl
MEMBER
m_donateUrl
NOTIFY
donateUrlChanged
FINAL
)
Q_PROPERTY
(
bool
isNextEnabled
MEMBER
m_isNextEnabled
NOTIFY
isNextEnabledChanged
FINAL
)
public:
public:
Config
(
QObject
*
parent
=
nullptr
);
Config
(
QObject
*
parent
=
nullptr
);
void
setCountryCode
(
const
QString
&
countryCode
);
void
setCountryCode
(
const
QString
&
countryCode
);
void
setLanguageIcon
(
const
QString
&
languageIcon
);
void
setLanguageIcon
(
const
QString
&
languageIcon
);
RequirementsModel
&
requirementsModel
()
const
;
RequirementsModel
&
requirementsModel
()
const
;
void
setIsNextEnabled
(
const
bool
&
isNextEnabled
);
void
setIsNextEnabled
(
const
bool
&
isNextEnabled
);
void
setLocaleIndex
(
const
int
&
index
);
void
setLocaleIndex
(
const
int
&
index
);
int
localeIndex
()
const
{
return
m_localeIndex
;
}
int
localeIndex
()
const
{
return
m_localeIndex
;
}
QString
supportUrl
()
const
;
QString
supportUrl
()
const
;
void
setSupportUrl
(
const
QString
&
url
);
void
setSupportUrl
(
const
QString
&
url
);
QString
knownIssuesUrl
()
const
;
QString
knownIssuesUrl
()
const
;
void
setKnownIssuesUrl
(
const
QString
&
url
);
void
setKnownIssuesUrl
(
const
QString
&
url
);
QString
releaseNotesUrl
()
const
;
QString
releaseNotesUrl
()
const
;
void
setReleaseNotesUrl
(
const
QString
&
url
);
void
setReleaseNotesUrl
(
const
QString
&
url
);
QString
donateUrl
()
const
;
QString
donateUrl
()
const
;
void
setDonateUrl
(
const
QString
&
url
);
void
setDonateUrl
(
const
QString
&
url
);
QString
genericWelcomeMessage
();
public
slots
:
public
slots
:
CalamaresUtils
::
Locale
::
LabelModel
*
languagesModel
()
const
;
CalamaresUtils
::
Locale
::
LabelModel
*
languagesModel
()
const
;
...
@@ -144,9 +148,7 @@ private:
...
@@ -144,9 +148,7 @@ private:
bool
m_isNextEnabled
=
false
;
bool
m_isNextEnabled
=
false
;
CalamaresUtils
::
Locale
::
LabelModel
*
m_languages
;
CalamaresUtils
::
Locale
::
LabelModel
*
m_languages
;
QString
m_genericWelcomeMessage
=
tr
(
"This program will ask you some questions and set up your installation"
);
QString
m_genericWelcomeMessage
;
QString
m_warningMessage
=
tr
(
"This program does not satisfy the minimum requirements for installing.
\n
Installation can not continue"
);
QString
m_supportUrl
;
QString
m_supportUrl
;
QString
m_knownIssuesUrl
;
QString
m_knownIssuesUrl
;
...
@@ -158,6 +160,10 @@ signals:
...
@@ -158,6 +160,10 @@ signals:
void
localeIndexChanged
(
int
localeIndex
);
void
localeIndexChanged
(
int
localeIndex
);
void
isNextEnabledChanged
(
bool
isNextEnabled
);
void
isNextEnabledChanged
(
bool
isNextEnabled
);
void
genericWelcomeMessageChanged
();
void
genericWelcomeMessageChanged
();
void
supportUrlChanged
();
void
knownIssuesUrlChanged
();
void
releaseNotesUrlChanged
();
void
donateUrlChanged
();
};
};
#endif
#endif
src/modules/welcome/WelcomePage.cpp
View file @
de5c97af
...
@@ -25,9 +25,9 @@
...
@@ -25,9 +25,9 @@
#include "Branding.h"
#include "Branding.h"
#include "CalamaresVersion.h"
#include "CalamaresVersion.h"
#include "Config.h"
#include "Settings.h"
#include "Settings.h"
#include "ViewManager.h"
#include "ViewManager.h"
#include "Config.h"
#include "locale/LabelModel.h"
#include "locale/LabelModel.h"
#include "modulesystem/ModuleManager.h"
#include "modulesystem/ModuleManager.h"
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
#include <QLabel>
#include <QLabel>
#include <QMessageBox>
#include <QMessageBox>
WelcomePage
::
WelcomePage
(
Config
*
conf
,
QWidget
*
parent
)
WelcomePage
::
WelcomePage
(
Config
*
conf
,
QWidget
*
parent
)
:
QWidget
(
parent
)
:
QWidget
(
parent
)
,
ui
(
new
Ui
::
WelcomePage
)
,
ui
(
new
Ui
::
WelcomePage
)
,
m_checkingWidget
(
new
CheckerContainer
(
conf
->
requirementsModel
(),
this
)
)
,
m_checkingWidget
(
new
CheckerContainer
(
conf
->
requirementsModel
(),
this
)
)
...
@@ -84,13 +84,14 @@ WelcomePage::WelcomePage( Config *conf, QWidget* parent )
...
@@ -84,13 +84,14 @@ WelcomePage::WelcomePage( Config *conf, QWidget* parent )
ui
->
verticalLayout
->
insertWidget
(
welcome_text_idx
+
1
,
m_checkingWidget
);
ui
->
verticalLayout
->
insertWidget
(
welcome_text_idx
+
1
,
m_checkingWidget
);
}
}
void
WelcomePage
::
init
()
void
WelcomePage
::
init
()
{
{
//setup the url buttons
//setup the url buttons
setupButton
(
WelcomePage
::
Button
::
Support
,
m_conf
->
supportUrl
());
setupButton
(
WelcomePage
::
Button
::
Support
,
m_conf
->
supportUrl
()
);
setupButton
(
WelcomePage
::
Button
::
KnownIssues
,
m_conf
->
knownIssuesUrl
()
);
setupButton
(
WelcomePage
::
Button
::
KnownIssues
,
m_conf
->
knownIssuesUrl
()
);
setupButton
(
WelcomePage
::
Button
::
ReleaseNotes
,
m_conf
->
releaseNotesUrl
()
);
setupButton
(
WelcomePage
::
Button
::
ReleaseNotes
,
m_conf
->
releaseNotesUrl
()
);
setupButton
(
WelcomePage
::
Button
::
Donate
,
m_conf
->
donateUrl
());
setupButton
(
WelcomePage
::
Button
::
Donate
,
m_conf
->
donateUrl
()
);
//language icon
//language icon
auto
icon
=
Calamares
::
Branding
::
instance
()
->
image
(
m_conf
->
languageIcon
(),
QSize
(
48
,
48
)
);
auto
icon
=
Calamares
::
Branding
::
instance
()
->
image
(
m_conf
->
languageIcon
(),
QSize
(
48
,
48
)
);
...
@@ -113,7 +114,9 @@ WelcomePage::initLanguages()
...
@@ -113,7 +114,9 @@ WelcomePage::initLanguages()
ui
->
languageWidget
->
setCurrentIndex
(
m_conf
->
localeIndex
()
);
ui
->
languageWidget
->
setCurrentIndex
(
m_conf
->
localeIndex
()
);
connect
(
ui
->
languageWidget
,
connect
(
ui
->
languageWidget
,
static_cast
<
void
(
QComboBox
::*
)(
int
)
>
(
&
QComboBox
::
currentIndexChanged
),
m_conf
,
&
Config
::
setLocaleIndex
);
static_cast
<
void
(
QComboBox
::*
)(
int
)
>
(
&
QComboBox
::
currentIndexChanged
),
m_conf
,
&
Config
::
setLocaleIndex
);
}
}
void
void
...
...
src/modules/welcome/WelcomePage.h
View file @
de5c97af
...
@@ -36,7 +36,7 @@ class WelcomePage : public QWidget
...
@@ -36,7 +36,7 @@ class WelcomePage : public QWidget
{
{
Q_OBJECT
Q_OBJECT
public:
public:
explicit
WelcomePage
(
Config
*
conf
,
QWidget
*
parent
=
nullptr
);
explicit
WelcomePage
(
Config
*
conf
,
QWidget
*
parent
=
nullptr
);
enum
class
Button
enum
class
Button
{
{
...
@@ -75,7 +75,7 @@ private:
...
@@ -75,7 +75,7 @@ private:
CheckerContainer
*
m_checkingWidget
;
CheckerContainer
*
m_checkingWidget
;
CalamaresUtils
::
Locale
::
LabelModel
*
m_languages
;
CalamaresUtils
::
Locale
::
LabelModel
*
m_languages
;
Config
*
m_conf
;
Config
*
m_conf
;
};
};
/** @brief Delegate to display language information in two columns.
/** @brief Delegate to display language information in two columns.
...
...
src/modules/welcome/WelcomeViewStep.cpp
View file @
de5c97af
...
@@ -18,92 +18,91 @@
...
@@ -18,92 +18,91 @@
*/
*/
#include "WelcomeViewStep.h"
#include "WelcomeViewStep.h"
#include "Config.h"
#include "Config.h"
#include "WelcomePage.h"
#include "WelcomePage.h"
#include "checker/GeneralRequirements.h"
#include "checker/GeneralRequirements.h"
#include "Branding.h"
#include "geoip/Handler.h"
#include "geoip/Handler.h"
#include "locale/Lookup.h"
#include "locale/Lookup.h"
#include "modulesystem/ModuleManager.h"
#include "utils/Logger.h"
#include "utils/Logger.h"
#include "utils/Variant.h"
#include "utils/Variant.h"
#include "Branding.h"
#include "modulesystem/ModuleManager.h"
#include <QFutureWatcher>
#include <QFutureWatcher>
#include <QVariant>
#include <QVariant>
CALAMARES_PLUGIN_FACTORY_DEFINITION
(
WelcomeViewStepFactory
,
registerPlugin
<
WelcomeViewStep
>
();
)
CALAMARES_PLUGIN_FACTORY_DEFINITION
(
WelcomeViewStepFactory
,
registerPlugin
<
WelcomeViewStep
>
();
)
WelcomeViewStep
::
WelcomeViewStep
(
QObject
*
parent
)
WelcomeViewStep
::
WelcomeViewStep
(
QObject
*
parent
)
:
Calamares
::
ViewStep
(
parent
)
:
Calamares
::
ViewStep
(
parent
)
,
m_requirementsChecker
(
new
GeneralRequirements
(
this
)
)
,
m_requirementsChecker
(
new
GeneralRequirements
(
this
)
)
,
m_conf
(
new
Config
(
this
)
)
,
m_conf
(
new
Config
(
this
)
)
{
{
connect
(
Calamares
::
ModuleManager
::
instance
(),
connect
(
Calamares
::
ModuleManager
::
instance
(),
&
Calamares
::
ModuleManager
::
requirementsComplete
,
&
Calamares
::
ModuleManager
::
requirementsComplete
,
this
,
this
,
&
WelcomeViewStep
::
nextStatusChanged
);
&
WelcomeViewStep
::
nextStatusChanged
);
// the instance of the qqc2 or qwidgets page
// the instance of the qqc2 or qwidgets page
m_widget
=
new
WelcomePage
(
m_conf
);
m_widget
=
new
WelcomePage
(
m_conf
);
}
}
WelcomeViewStep
::~
WelcomeViewStep
()
WelcomeViewStep
::~
WelcomeViewStep
()
{
{
if
(
m_widget
&&
m_widget
->
parent
()
==
nullptr
)
if
(
m_widget
&&
m_widget
->
parent
()
==
nullptr
)
{
{
m_widget
->
deleteLater
();
m_widget
->
deleteLater
();
}
}
}
}
QString
QString
WelcomeViewStep
::
prettyName
()
const
WelcomeViewStep
::
prettyName
()
const
{
{
return
tr
(
"Welcome"
);
return
tr
(
"Welcome"
);
}
}
QWidget
*
QWidget
*
WelcomeViewStep
::
widget
()
WelcomeViewStep
::
widget
()
{
{
return
m_widget
;
return
m_widget
;
}
}
bool
bool
WelcomeViewStep
::
isNextEnabled
()
const
WelcomeViewStep
::
isNextEnabled
()
const
{
{
return
m_widget
->
verdict
();
return
m_widget
->
verdict
();
}
}
bool
bool
WelcomeViewStep
::
isBackEnabled
()
const
WelcomeViewStep
::
isBackEnabled
()
const
{
{
return
false
;
return
false
;
}
}
bool
bool
WelcomeViewStep
::
isAtBeginning
()
const
WelcomeViewStep
::
isAtBeginning
()
const
{
{
return
true
;
return
true
;
}
}
bool
bool
WelcomeViewStep
::
isAtEnd
()
const
WelcomeViewStep
::
isAtEnd
()
const
{
{
return
true
;
return
true
;
}
}
Calamares
::
JobList
Calamares
::
JobList
WelcomeViewStep
::
jobs
()
const
WelcomeViewStep
::
jobs
()
const
{
{
return
Calamares
::
JobList
();
return
Calamares
::
JobList
();
}
}
...
@@ -122,125 +121,127 @@ WelcomeViewStep::jobs() const
...
@@ -122,125 +121,127 @@ WelcomeViewStep::jobs() const
static
QString
static
QString
jobOrBrandingSetting
(
Calamares
::
Branding
::
StringEntry
e
,
const
QVariantMap
&
map
,
const
QString
&
key
)
jobOrBrandingSetting
(
Calamares
::
Branding
::
StringEntry
e
,
const
QVariantMap
&
map
,
const
QString
&
key
)
{
{
if
(
!
map
.
contains
(
key
)
)
if
(
!
map
.
contains
(
key
)
)
{
{
return
QString
();
return
QString
();
}
}
auto
v
=
map
.
value
(
key
);
auto
v
=
map
.
value
(
key
);
if
(
v
.
type
()
==
QVariant
::
Bool
)
if
(
v
.
type
()
==
QVariant
::
Bool
)
{
{
return
v
.
toBool
()
?
(
*
e
)
:
QString
();
return
v
.
toBool
()
?
(
*
e
)
:
QString
();
}
}
if
(
v
.
type
()
==
QVariant
::
String
)
if
(
v
.
type
()
==
QVariant
::
String
)
{
{
return
v
.
toString
();
return
v
.
toString
();
}
}
return
QString
();
return
QString
();
}
}
void
void
WelcomeViewStep
::
setConfigurationMap
(
const
QVariantMap
&
configurationMap
)
WelcomeViewStep
::
setConfigurationMap
(
const
QVariantMap
&
configurationMap
)
{
{
using
Calamares
::
Branding
;
using
Calamares
::
Branding
;
m_conf
->
setSupportUrl
(
jobOrBrandingSetting
(
Branding
::
SupportUrl
,
configurationMap
,
"showSupportUrl"
)
);
m_conf
->
setSupportUrl
(
jobOrBrandingSetting
(
Branding
::
SupportUrl
,
configurationMap
,
"showSupportUrl"
)
);
m_conf
->
setKnownIssuesUrl
(
jobOrBrandingSetting
(
Branding
::
KnownIssuesUrl
,
configurationMap
,
"showKnownIssuesUrl"
)
);
m_conf
->
setKnownIssuesUrl
(
m_conf
->
setReleaseNotesUrl
(
jobOrBrandingSetting
(
Branding
::
ReleaseNotesUrl
,
configurationMap
,
"showReleaseNotesUrl"
)
);
jobOrBrandingSetting
(
Branding
::
KnownIssuesUrl
,
configurationMap
,
"showKnownIssuesUrl"
)
);
m_conf
->
setDonateUrl
(
CalamaresUtils
::
getString
(
configurationMap
,
"showDonateUrl"
)
);
m_conf
->
setReleaseNotesUrl
(
jobOrBrandingSetting
(
Branding
::
ReleaseNotesUrl
,
configurationMap
,
"showReleaseNotesUrl"
)
);
m_conf
->
setDonateUrl
(
CalamaresUtils
::
getString
(
configurationMap
,
"showDonateUrl"
)
);
if
(
configurationMap
.
contains
(
"requirements"
)
if
(
configurationMap
.
contains
(
"requirements"
)
&&
configurationMap
.
value
(
"requirements"
).
type
()
==
QVariant
::
Map
)
&&
configurationMap
.
value
(
"requirements"
).
type
()
==
QVariant
::
Map
)
{
{
m_requirementsChecker
->
setConfigurationMap
(
configurationMap
.
value
(
"requirements"
).
toMap
()
);
m_requirementsChecker
->
setConfigurationMap
(
configurationMap
.
value
(
"requirements"
).
toMap
()
);
m_conf
->
requirementsModel
().
setRequirementsList
(
checkRequirements
()
);
m_conf
->
requirementsModel
().
setRequirementsList
(
checkRequirements
()
);
}
}
else
else
cWarning
()
<<
"no valid requirements map found in welcome "
cWarning
()
<<
"no valid requirements map found in welcome "
"module configuration."
;
"module configuration."
;
bool
ok
=
false
;
bool
ok
=
false
;
QVariantMap
geoip
=
CalamaresUtils
::
getSubMap
(
configurationMap
,
"geoip"
,
ok
);
QVariantMap
geoip
=
CalamaresUtils
::
getSubMap
(
configurationMap
,
"geoip"
,
ok
);
if
(
ok
)
if
(
ok
)
{
{
using
FWString
=
QFutureWatcher
<
QString
>
;
using
FWString
=
QFutureWatcher
<
QString
>
;
auto
*
handler
=
new
CalamaresUtils
::
GeoIP
::
Handler
(
CalamaresUtils
::
getString
(
geoip
,
"style"
),
auto
*
handler
=
new
CalamaresUtils
::
GeoIP
::
Handler
(
CalamaresUtils
::
getString
(
geoip
,
"style"
),
CalamaresUtils
::
getString
(
geoip
,
"url"
),
CalamaresUtils
::
getString
(
geoip
,
"url"
),
CalamaresUtils
::
getString
(
geoip
,
"selector"
)
);
CalamaresUtils
::
getString
(
geoip
,
"selector"
)
);
if
(
handler
->
type
()
!=
CalamaresUtils
::
GeoIP
::
Handler
::
Type
::
None
)
if
(
handler
->
type
()
!=
CalamaresUtils
::
GeoIP
::
Handler
::
Type
::
None
)
{
{
auto
*
future
=
new
FWString
();
auto
*
future
=
new
FWString
();
connect
(
future
,
&
FWString
::
finished
,
[
view
=
this
,
f
=
future
,
h
=
handler
]()
{
connect
(
future
,
&
FWString
::
finished
,
[
view
=
this
,
f
=
future
,
h
=
handler
]()
{
QString
countryResult
=
f
->
future
().
result
();
QString
countryResult
=
f
->
future
().
result
();
cDebug
()
<<
"GeoIP result for welcome="
<<
countryResult
;
cDebug
()
<<
"GeoIP result for welcome="
<<
countryResult
;
view
->
setCountry
(
countryResult
,
h
);
view
->
setCountry
(
countryResult
,
h
);
f
->
deleteLater
();
f
->
deleteLater
();
delete
h
;
delete
h
;
}
);
}
);