From cc2e49c6ae3ef6439418e692c27b3c7ee194a30e Mon Sep 17 00:00:00 2001 From: Teo Mrnjavac Date: Fri, 1 Aug 2014 12:38:27 +0200 Subject: [PATCH] Store keyboard layout information in GlobalStorage. --- src/modules/keyboard/KeyboardPage.cpp | 20 ++++++++++++++++++++ src/modules/keyboard/KeyboardPage.h | 5 +++++ src/modules/keyboard/KeyboardViewStep.cpp | 1 + 3 files changed, 26 insertions(+) diff --git a/src/modules/keyboard/KeyboardPage.cpp b/src/modules/keyboard/KeyboardPage.cpp index 79f4bc1c5..da99ba5ba 100644 --- a/src/modules/keyboard/KeyboardPage.cpp +++ b/src/modules/keyboard/KeyboardPage.cpp @@ -25,6 +25,9 @@ #include "ui_KeyboardPage.h" #include "keyboardwidget/keyboardpreview.h" +#include "GlobalStorage.h" +#include "JobQueue.h" + #include #include #include @@ -184,6 +187,20 @@ KeyboardPage::prettyStatus() const } +void +KeyboardPage::finalize() +{ + Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); + if ( !m_selectedLayout.isEmpty() ) + { + gs->insert( "keyboardLayout", m_selectedLayout ); + gs->insert( "keyboardVariant", m_selectedVariant ); //empty means default variant + } + + //FIXME: also store keyboard model for something? +} + + void KeyboardPage::onListLayoutCurrentItemChanged( QListWidgetItem* current, QListWidgetItem* previous ) { @@ -242,5 +259,8 @@ KeyboardPage::onListVariantCurrentItemChanged( QListWidgetItem* current, QListWi // Set Xorg keyboard layout QProcess::execute( QString( "setxkbmap -layout \"%1\" -variant \"%2\"" ) .arg( layout, variant ).toUtf8() ); + + m_selectedLayout = layout; + m_selectedVariant = variant; } diff --git a/src/modules/keyboard/KeyboardPage.h b/src/modules/keyboard/KeyboardPage.h index 560b961d4..82b965a13 100644 --- a/src/modules/keyboard/KeyboardPage.h +++ b/src/modules/keyboard/KeyboardPage.h @@ -46,6 +46,8 @@ public: QString prettyStatus() const; + void finalize(); + protected slots: void onListLayoutCurrentItemChanged( QListWidgetItem* current, QListWidgetItem* previous ); @@ -63,6 +65,9 @@ private: KeyBoardPreview* m_keyboardPreview; int m_defaultIndex; QMap< QString, QString > m_models; + + QString m_selectedLayout; + QString m_selectedVariant; }; #endif // KEYBOARDPAGE_H diff --git a/src/modules/keyboard/KeyboardViewStep.cpp b/src/modules/keyboard/KeyboardViewStep.cpp index e7ec6eb2e..ab8129b19 100644 --- a/src/modules/keyboard/KeyboardViewStep.cpp +++ b/src/modules/keyboard/KeyboardViewStep.cpp @@ -104,5 +104,6 @@ KeyboardViewStep::jobs() const void KeyboardViewStep::onLeave() { + m_widget->finalize(); m_prettyStatus = m_widget->prettyStatus(); }