[apps/settings] Display exam mode caution message in non-official

version only
This commit is contained in:
Émilie Feral
2020-02-06 10:29:20 +01:00
committed by Léa Saviot
parent 10de2c00ac
commit 7ccb10e33b
5 changed files with 15 additions and 6 deletions

View File

@@ -21,11 +21,11 @@ apps_prompt_beta_src += apps/settings/main_controller_prompt_beta.cpp
apps_prompt_update_src += apps/settings/main_controller_prompt_update.cpp
apps_settings_official += $(addprefix apps/settings/,\
sub_menu/exam_mode_controller_multi.cpp \
sub_menu/exam_mode_controller_official.cpp \
)
apps_settings_non_official += $(addprefix apps/settings/,\
sub_menu/exam_mode_controller_single.cpp \
sub_menu/exam_mode_controller_non_official.cpp \
)
i18n_files += $(addprefix apps/settings/,\

View File

@@ -60,7 +60,7 @@ void ExamModeController::ContentView::layoutSubviews(bool force) {
}
int ExamModeController::ContentView::numberOfMessages() const {
return GlobalPreferences::sharedGlobalPreferences()->isInExamMode() ? k_numberOfDeactivationMessageLines : k_maxNumberOfLines;
return GlobalPreferences::sharedGlobalPreferences()->isInExamMode() ? k_numberOfDeactivationMessageLines : numberOfCautionLines();
}
ExamModeController::ExamModeController(Responder * parentResponder) :
@@ -88,9 +88,9 @@ void ExamModeController::didEnterResponderChain(Responder * previousFirstRespond
if (GlobalPreferences::sharedGlobalPreferences()->isInExamMode()) {
I18n::Message deactivateMessages[] = {I18n::Message::ToDeactivateExamMode1, I18n::Message::ToDeactivateExamMode2, I18n::Message::ToDeactivateExamMode3, I18n::Message::Default, I18n::Message::Default, I18n::Message::Default};
m_contentView.setMessages(deactivateMessages);
} else {
I18n::Message warningMessages[] = {I18n::Message::ExamModeWarning1, I18n::Message::ExamModeWarning2, I18n::Message::ExamModeWarning3, I18n::Message::ExamModeWarning4, I18n::Message::ExamModeWarning5, I18n::Message::ExamModeWarning6};
m_contentView.setMessages(warningMessages);
} else if (m_contentView.numberOfCautionLines() > 0) {
I18n::Message cautionMessages[] = {I18n::Message::ExamModeWarning1, I18n::Message::ExamModeWarning2, I18n::Message::ExamModeWarning3, I18n::Message::ExamModeWarning4, I18n::Message::ExamModeWarning5, I18n::Message::ExamModeWarning6};
m_contentView.setMessages(cautionMessages);
}
}

View File

@@ -24,6 +24,7 @@ private:
static constexpr int k_maxNumberOfLines = 6;
static constexpr int k_numberOfDeactivationMessageLines = 3;
void setMessages(I18n::Message m[k_maxNumberOfLines]);
int numberOfCautionLines() const;
private:
int numberOfMessages() const;
int numberOfSubviews() const override { return 1 + numberOfMessages(); }

View File

@@ -5,6 +5,10 @@ using namespace Shared;
namespace Settings {
int ExamModeController::ContentView::numberOfCautionLines() const {
return k_maxNumberOfLines;
}
GlobalPreferences::ExamMode ExamModeController::examMode() {
return GlobalPreferences::ExamMode::Standard;
}

View File

@@ -5,6 +5,10 @@ using namespace Shared;
namespace Settings {
int ExamModeController::ContentView::numberOfCautionLines() const {
return 0;
}
GlobalPreferences::ExamMode ExamModeController::examMode() {
GlobalPreferences::ExamMode mode = GlobalPreferences::ExamMode::Standard;
if (GlobalPreferences::sharedGlobalPreferences()->isInExamMode()) {