[apps/settings] Display a caution message in the 'about' page in non-official

software versions
This commit is contained in:
Émilie Feral
2020-02-06 12:21:48 +01:00
committed by Léa Saviot
parent b28f426d36
commit fffcadf384
6 changed files with 31 additions and 3 deletions

View File

@@ -22,10 +22,12 @@ 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/about_controller_official.cpp \
sub_menu/exam_mode_controller_official.cpp \
)
apps_settings_non_official += $(addprefix apps/settings/,\
sub_menu/about_controller_non_official.cpp \
sub_menu/exam_mode_controller_non_official.cpp \
)

View File

@@ -9,6 +9,7 @@ namespace Settings {
class AboutController : public GenericSubController {
public:
AboutController(Responder * parentResponder);
View * view() override;
bool handleEvent(Ion::Events::Event event) override;
HighlightCell * reusableCell(int index, int type) override;
int reusableCellCount(int type) override;

View File

@@ -0,0 +1,12 @@
#include "about_controller.h"
#include "selectable_view_with_messages.h"
namespace Settings {
View * AboutController::view() {
static I18n::Message cautionMessages[] = {I18n::Message::AboutWarning1, I18n::Message::AboutWarning2, I18n::Message::AboutWarning3, I18n::Message::AboutWarning4};
static SelectableViewWithMessages view(&m_selectableTableView, cautionMessages, 4);
return &view;
}
}

View File

@@ -0,0 +1,9 @@
#include "about_controller.h"
namespace Settings {
View * AboutController::view() {
return GenericSubController::view();
}
}

View File

@@ -6,10 +6,14 @@ using namespace Shared;
namespace Settings {
SelectableViewWithMessages::SelectableViewWithMessages(SelectableTableView * selectableTableView) :
m_selectableTableView(selectableTableView)
SelectableViewWithMessages::SelectableViewWithMessages(SelectableTableView * selectableTableView, I18n::Message * messages, int numberOfMessages) :
m_selectableTableView(selectableTableView),
m_numberOfMessages(numberOfMessages)
{
for (int i = 0; i < k_maxNumberOfLines; i++) {
if (i < numberOfMessages) {
m_messageLines[i].setMessage(messages[i]);
}
m_messageLines[i].setFont(KDFont::SmallFont);
m_messageLines[i].setAlignment(0.5f, 0.5f);
m_messageLines[i].setBackgroundColor(Palette::WallScreen);

View File

@@ -8,7 +8,7 @@ namespace Settings {
class SelectableViewWithMessages : public View {
public:
SelectableViewWithMessages(SelectableTableView * selectableTableView);
SelectableViewWithMessages(SelectableTableView * selectableTableView, I18n::Message * messages = nullptr, int numberOfMessages = 0);
void drawRect(KDContext * ctx, KDRect rect) const override;
void setMessages(I18n::Message * messages, int numberOfMessages);
private: