Optimize arrays

This commit is contained in:
Riku Isokoski 2021-09-23 02:27:09 +03:00 committed by JF
parent 494448b7cc
commit 736ae08fcd
6 changed files with 15 additions and 9 deletions

View file

@ -14,6 +14,8 @@ namespace {
}
}
constexpr std::array<uint16_t, 4> SettingDisplay::options;
SettingDisplay::SettingDisplay(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
: Screen(app), settingsController {settingsController} {

View file

@ -19,9 +19,10 @@ namespace Pinetime {
void UpdateSelected(lv_obj_t* object, lv_event_t event);
private:
const std::array<uint16_t, 4> options = {5000, 15000, 20000, 30000};
static constexpr std::array<uint16_t, 4> options = {5000, 15000, 20000, 30000};
Controllers::Settings& settingsController;
lv_obj_t* cbOption[4];
lv_obj_t* cbOption[options.size()];
};
}
}

View file

@ -13,6 +13,8 @@ namespace {
}
}
constexpr std::array<const char*, 2> SettingTimeFormat::options;
SettingTimeFormat::SettingTimeFormat(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
: Screen(app), settingsController {settingsController} {
@ -41,7 +43,7 @@ SettingTimeFormat::SettingTimeFormat(Pinetime::Applications::DisplayApp* app, Pi
for (unsigned int i = 0; i < options.size(); i++) {
cbOption[i] = lv_checkbox_create(container1, nullptr);
lv_checkbox_set_text(cbOption[i], options[i].c_str());
lv_checkbox_set_text(cbOption[i], options[i]);
cbOption[i]->user_data = this;
lv_obj_set_event_cb(cbOption[i], event_handler);

View file

@ -19,10 +19,9 @@ namespace Pinetime {
void UpdateSelected(lv_obj_t* object, lv_event_t event);
private:
const std::array<std::string, 2> options = {" 12-hour", " 24-hour"};
static constexpr std::array<const char*, 2> options = {" 12-hour", " 24-hour"};
Controllers::Settings& settingsController;
lv_obj_t* cbOption[2];
lv_obj_t* cbOption[options.size()];
};
}
}

View file

@ -13,6 +13,8 @@ namespace {
}
}
constexpr std::array<const char*, 3> SettingWatchFace::options;
SettingWatchFace::SettingWatchFace(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController)
: Screen(app), settingsController {settingsController} {
@ -42,7 +44,7 @@ SettingWatchFace::SettingWatchFace(Pinetime::Applications::DisplayApp* app, Pine
for (unsigned int i = 0; i < options.size(); i++) {
cbOption[i] = lv_checkbox_create(container1, nullptr);
lv_checkbox_set_text(cbOption[i], options[i].c_str());
lv_checkbox_set_text(cbOption[i], options[i]);
cbOption[i]->user_data = this;
lv_obj_set_event_cb(cbOption[i], event_handler);

View file

@ -19,10 +19,10 @@ namespace Pinetime {
void UpdateSelected(lv_obj_t* object, lv_event_t event);
private:
const std::array<std::string, 3> options = {" Digital face", " Analog face", " PineTimeStyle"};
static constexpr std::array<const char*, 3> options = {" Digital face", " Analog face", " PineTimeStyle"};
Controllers::Settings& settingsController;
lv_obj_t* cbOption[3];
lv_obj_t* cbOption[options.size()];
};
}
}