[apps] Gather all code regarding exam mode in ExamModeCOnfiguration file

This commit is contained in:
Émilie Feral
2020-02-10 10:41:38 +01:00
committed by Léa Saviot
parent 541acb6a7c
commit e17ae9024e
17 changed files with 181 additions and 86 deletions

View File

@@ -1,5 +1,6 @@
#include "exam_pop_up_controller.h"
#include "apps_container.h"
#include "exam_mode_configuration.h"
#include <apps/i18n.h>
#include "global_preferences.h"
#include <assert.h>
@@ -65,10 +66,14 @@ ExamPopUpController::ContentView::ContentView(Responder * parentResponder) :
return true;
}, parentResponder), KDFont::SmallFont),
m_warningTextView(KDFont::SmallFont, I18n::Message::Warning, 0.5, 0.5, KDColorWhite, KDColorBlack),
m_messageTextView1(KDFont::SmallFont, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack),
m_messageTextView2(KDFont::SmallFont, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack),
m_messageTextView3(KDFont::SmallFont, I18n::Message::Default, 0.5, 0.5, KDColorWhite, KDColorBlack)
m_messageTextViews{}
{
for (int i = 0; i < k_maxNumberOfLines; i++) {
m_messageTextViews[i].setFont(KDFont::SmallFont);
m_messageTextViews[i].setAlignment(0.5f, 0.5f);
m_messageTextViews[i].setBackgroundColor(KDColorBlack);
m_messageTextViews[i].setTextColor(KDColorWhite);
}
}
void ExamPopUpController::ContentView::drawRect(KDContext * ctx, KDRect rect) const {
@@ -89,19 +94,8 @@ int ExamPopUpController::ContentView::selectedButton() {
}
void ExamPopUpController::ContentView::setMessagesForExamMode(GlobalPreferences::ExamMode mode) {
if (mode == GlobalPreferences::ExamMode::Off) {
m_messageTextView1.setMessage(I18n::Message::ExitExamMode1);
m_messageTextView2.setMessage(I18n::Message::ExitExamMode2);
m_messageTextView3.setMessage(I18n::Message::Default);
} else if (mode == GlobalPreferences::ExamMode::Standard) {
m_messageTextView1.setMessage(I18n::Message::ActiveExamModeMessage1);
m_messageTextView2.setMessage(I18n::Message::ActiveExamModeMessage2);
m_messageTextView3.setMessage(I18n::Message::ActiveExamModeMessage3);
} else {
assert(mode == GlobalPreferences::ExamMode::Dutch);
m_messageTextView1.setMessage(I18n::Message::ActiveDutchExamModeMessage1);
m_messageTextView2.setMessage(I18n::Message::ActiveDutchExamModeMessage2);
m_messageTextView3.setMessage(I18n::Message::ActiveDutchExamModeMessage3);
for (int i = 0; i < k_maxNumberOfLines; i++) {
m_messageTextViews[i].setMessage(ExamModeConfiguration::examModeActivationWarningMessage(mode, i));
}
}
@@ -113,19 +107,12 @@ View * ExamPopUpController::ContentView::subviewAtIndex(int index) {
switch (index) {
case 0:
return &m_warningTextView;
case 1:
return &m_messageTextView1;
case 2:
return &m_messageTextView2;
case 3:
return &m_messageTextView3;
case 4:
return &m_cancelButton;
case 5:
return &m_okButton;
default:
assert(false);
return nullptr;
return &m_messageTextViews[index-1];
}
}
@@ -134,9 +121,9 @@ void ExamPopUpController::ContentView::layoutSubviews(bool force) {
KDCoordinate width = bounds().width();
KDCoordinate textHeight = KDFont::SmallFont->glyphSize().height();
m_warningTextView.setFrame(KDRect(0, k_topMargin, width, textHeight), force);
m_messageTextView1.setFrame(KDRect(0, k_topMargin+k_paragraphHeight+textHeight, width, textHeight), force);
m_messageTextView2.setFrame(KDRect(0, k_topMargin+k_paragraphHeight+2*textHeight, width, textHeight), force);
m_messageTextView3.setFrame(KDRect(0, k_topMargin+k_paragraphHeight+3*textHeight, width, textHeight), force);
for (int i = 0; i < k_maxNumberOfLines; i++) {
m_messageTextViews[i].setFrame(KDRect(0, k_topMargin+k_paragraphHeight+(i+1)*textHeight, width, textHeight), force);
}
m_cancelButton.setFrame(KDRect(k_buttonMargin, height-k_buttonMargin-k_buttonHeight, (width-3*k_buttonMargin)/2, k_buttonHeight), force);
m_okButton.setFrame(KDRect(2*k_buttonMargin+(width-3*k_buttonMargin)/2, height-k_buttonMargin-k_buttonHeight, (width-3*k_buttonMargin)/2, k_buttonHeight), force);
}