diff --git a/src/modules/locale/CMakeLists.txt b/src/modules/locale/CMakeLists.txt index 97d53ac7a..309f53d8b 100644 --- a/src/modules/locale/CMakeLists.txt +++ b/src/modules/locale/CMakeLists.txt @@ -8,6 +8,7 @@ calamares_add_plugin( locale LocaleViewStep.cpp LocalePage.cpp QtWaitingSpinner.cpp + SetTimezoneJob.cpp timezonewidget/timezonewidget.cpp timezonewidget/localeglobal.cpp UI diff --git a/src/modules/locale/LocalePage.cpp b/src/modules/locale/LocalePage.cpp index 93a993cfb..045798ea1 100644 --- a/src/modules/locale/LocalePage.cpp +++ b/src/modules/locale/LocalePage.cpp @@ -19,6 +19,7 @@ #include "LocalePage.h" #include "timezonewidget/timezonewidget.h" +#include "SetTimezoneJob.h" #include #include @@ -179,3 +180,15 @@ LocalePage::prettyStatus() const return status; } + +QList< Calamares::job_ptr > +LocalePage::createJobs() +{ + QList< Calamares::job_ptr > list; + LocaleGlobal::Location location = m_tzWidget->getCurrentLocation(); + + Calamares::Job* j = new SetTimezoneJob( location.region, location.zone ); + list.append( Calamares::job_ptr( j ) ); + + return list; +} diff --git a/src/modules/locale/LocalePage.h b/src/modules/locale/LocalePage.h index ee80fe9ca..1ff10cfa3 100644 --- a/src/modules/locale/LocalePage.h +++ b/src/modules/locale/LocalePage.h @@ -19,6 +19,8 @@ #ifndef LOCALEPAGE_H #define LOCALEPAGE_H +#include "Typedefs.h" + #include class QComboBox; @@ -34,6 +36,8 @@ public: QString prettyStatus() const; + QList< Calamares::job_ptr > createJobs(); + private: TimeZoneWidget* m_tzWidget; QComboBox* m_regionCombo; diff --git a/src/modules/locale/LocaleViewStep.cpp b/src/modules/locale/LocaleViewStep.cpp index 068eb9fcf..1e8177f69 100644 --- a/src/modules/locale/LocaleViewStep.cpp +++ b/src/modules/locale/LocaleViewStep.cpp @@ -154,13 +154,16 @@ LocaleViewStep::isAtEnd() const QList< Calamares::job_ptr > LocaleViewStep::jobs() const { - return QList< Calamares::job_ptr >(); + return m_jobs; } void LocaleViewStep::onLeave() { + m_jobs.clear(); + m_jobs.append( m_actualWidget->createJobs() ); + m_prettyStatus = m_actualWidget->prettyStatus(); } diff --git a/src/modules/locale/LocaleViewStep.h b/src/modules/locale/LocaleViewStep.h index 0f5cc9a0e..3d8de2c85 100644 --- a/src/modules/locale/LocaleViewStep.h +++ b/src/modules/locale/LocaleViewStep.h @@ -67,6 +67,8 @@ private: QString m_prettyStatus; QPair< QString, QString > m_startingTimezone; + + QList< Calamares::job_ptr > m_jobs; }; #endif // LOCALEVIEWSTEP_H