From 46e0cd3d891013d075f7c8d10c06475e62c6f5a3 Mon Sep 17 00:00:00 2001 From: Przemyslaw Brudny Date: Thu, 15 Apr 2021 18:18:43 +0200 Subject: [PATCH] [EGD-6552] Options cleanups and fixes Fixed options crashes and cleared its structure. All options returns points to proper list indexes. --- .../models/CustomRepeatModel.cpp | 4 +- .../models/NewEditAlarmModel.cpp | 6 +-- .../models/CustomRepeatModel.cpp | 4 +- .../models/EventDetailModel.cpp | 4 +- .../models/NewEditEventModel.cpp | 2 +- .../windows/CalendarEventsOptionsWindow.cpp | 3 +- .../widgets/MeditationModel.cpp | 4 +- .../models/SongsModel.cpp | 4 +- .../models/ContactDetailsModel.cpp | 4 +- .../models/NewContactModel.cpp | 4 +- .../windows/PhonebookNamecardOptions.cpp | 5 +-- .../models/DateAndTimeModel.cpp | 2 +- .../models/FromTimeToTimeModel.cpp | 2 +- .../models/NewApnModel.cpp | 2 +- .../windows/AutolockWindow.cpp | 4 +- .../windows/BaseSettingsWindow.cpp | 12 ++---- .../windows/DisplayAndKeypadWindow.cpp | 5 +-- .../windows/KeypadLightWindow.cpp | 2 +- .../windows/NetworkWindow.cpp | 15 ++----- .../windows/NetworkWindow.hpp | 4 +- .../windows/PhoneModesWindow.cpp | 13 ++---- .../windows/PhoneModesWindow.hpp | 2 - .../models/SpecialInputModel.cpp | 4 +- module-apps/windows/OptionWindow.cpp | 43 +++++++++++-------- module-apps/windows/OptionWindow.hpp | 12 +++--- module-gui/gui/widgets/ListView.cpp | 24 +++++++---- module-gui/gui/widgets/ListView.hpp | 4 +- .../test/test-google/test-gui-listview.cpp | 6 +-- 28 files changed, 94 insertions(+), 106 deletions(-) diff --git a/module-apps/application-alarm-clock/models/CustomRepeatModel.cpp b/module-apps/application-alarm-clock/models/CustomRepeatModel.cpp index 4944e822a293ef6e9646fedbf73dcb179f3ad46a..099ae176f9e82d703464b53976a9de31d1565357 100644 --- a/module-apps/application-alarm-clock/models/CustomRepeatModel.cpp +++ b/module-apps/application-alarm-clock/models/CustomRepeatModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "CustomRepeatModel.hpp" @@ -48,7 +48,7 @@ namespace app::alarmClock void CustomRepeatModel::loadData(const WeekDaysRepeatData &data) { - list->clear(); + list->reset(); eraseInternalData(); createData(data); diff --git a/module-apps/application-alarm-clock/models/NewEditAlarmModel.cpp b/module-apps/application-alarm-clock/models/NewEditAlarmModel.cpp index 9c68889cd04e1e524d233389e90bc69aec3b53bd..c1a79d76d1ac9ad6a0a1e22353a89c4c418ebdbd 100644 --- a/module-apps/application-alarm-clock/models/NewEditAlarmModel.cpp +++ b/module-apps/application-alarm-clock/models/NewEditAlarmModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "NewEditAlarmModel.hpp" @@ -71,7 +71,7 @@ namespace app::alarmClock void NewEditAlarmModel::loadData(std::shared_ptr record) { - list->clear(); + list->reset(); eraseInternalData(); createData(); @@ -107,7 +107,7 @@ namespace app::alarmClock else { alarmsRepository->add(*alarm, [this](bool) { application->returnToPreviousWindow(); }); } - list->clear(); + list->reset(); eraseInternalData(); } } // namespace app::alarmClock diff --git a/module-apps/application-calendar/models/CustomRepeatModel.cpp b/module-apps/application-calendar/models/CustomRepeatModel.cpp index 7d07d3cfe46cd732c9396012f689fb8b2e8b36f4..63a3949095d6dab6c24147beb8903d126e956ca4 100644 --- a/module-apps/application-calendar/models/CustomRepeatModel.cpp +++ b/module-apps/application-calendar/models/CustomRepeatModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "CustomRepeatModel.hpp" @@ -54,7 +54,7 @@ void CustomRepeatModel::createData(const std::shared_ptr &da void CustomRepeatModel::loadData(const std::shared_ptr &data) { - list->clear(); + list->reset(); eraseInternalData(); createData(data); diff --git a/module-apps/application-calendar/models/EventDetailModel.cpp b/module-apps/application-calendar/models/EventDetailModel.cpp index 7863af8b0835a2fc28ab1198c7fcf15c5ddf3f32..f1772295c26eb51b684d3456351d252a0d2d6464 100644 --- a/module-apps/application-calendar/models/EventDetailModel.cpp +++ b/module-apps/application-calendar/models/EventDetailModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "EventDetailModel.hpp" @@ -45,7 +45,7 @@ void EventDetailModel::createData() void EventDetailModel::loadData(std::shared_ptr record) { - list->clear(); + list->reset(); eraseInternalData(); createData(); diff --git a/module-apps/application-calendar/models/NewEditEventModel.cpp b/module-apps/application-calendar/models/NewEditEventModel.cpp index 1952c4a1b0acbe42130bc40a7cebfb482ba94635..93732aeaf9bf8d4fc6ab510d60fd937a167b2f06 100644 --- a/module-apps/application-calendar/models/NewEditEventModel.cpp +++ b/module-apps/application-calendar/models/NewEditEventModel.cpp @@ -221,7 +221,7 @@ void NewEditEventModel::eraseTimeItems() void NewEditEventModel::clearData() { - list->clear(); + list->reset(); eraseInternalData(); startTime = nullptr; endTime = nullptr; diff --git a/module-apps/application-calendar/windows/CalendarEventsOptionsWindow.cpp b/module-apps/application-calendar/windows/CalendarEventsOptionsWindow.cpp index aec7818b829f3e40dd4189707b83b4fa75c7b35c..2d4091315efed1d089e67c01495846281f85c7f1 100644 --- a/module-apps/application-calendar/windows/CalendarEventsOptionsWindow.cpp +++ b/module-apps/application-calendar/windows/CalendarEventsOptionsWindow.cpp @@ -49,8 +49,7 @@ namespace gui eventRecord = item->getData(); clearOptions(); - options = eventsOptionsList(); - addOptions(options); + addOptions(eventsOptionsList()); return true; } diff --git a/module-apps/application-meditation/widgets/MeditationModel.cpp b/module-apps/application-meditation/widgets/MeditationModel.cpp index e65d6a574c813925062361a36dca7689389b892e..ca53a224c46a0b8b75a3e0309a325a48a471257b 100644 --- a/module-apps/application-meditation/widgets/MeditationModel.cpp +++ b/module-apps/application-meditation/widgets/MeditationModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "MeditationModel.hpp" @@ -37,7 +37,7 @@ auto MeditationModel::getItem(gui::Order order) -> gui::ListItem * void MeditationModel::clearData() { - list->clear(); + list->reset(); eraseInternalData(); } diff --git a/module-apps/application-music-player/models/SongsModel.cpp b/module-apps/application-music-player/models/SongsModel.cpp index 6fba4c44f146200fee976bb02226a377948a71ae..c9a918cd22028cbf59ecdfa9210a1fb09713dce4 100644 --- a/module-apps/application-music-player/models/SongsModel.cpp +++ b/module-apps/application-music-player/models/SongsModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "SongsModel.hpp" @@ -55,7 +55,7 @@ void SongsModel::createData(const std::vector &songsList, void SongsModel::clearData() { - list->clear(); + list->reset(); list->rebuildList(); } diff --git a/module-apps/application-phonebook/models/ContactDetailsModel.cpp b/module-apps/application-phonebook/models/ContactDetailsModel.cpp index 0a06b03010d7f68d36977e4e751bb0b35d2a1141..47962a631e80046a8f49ee6834433707b8acc5db 100644 --- a/module-apps/application-phonebook/models/ContactDetailsModel.cpp +++ b/module-apps/application-phonebook/models/ContactDetailsModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "ContactDetailsModel.hpp" @@ -16,7 +16,7 @@ ContactDetailsModel::ContactDetailsModel(app::Application *app) : application(ap void ContactDetailsModel::clearData() { - list->clear(); + list->reset(); eraseInternalData(); } diff --git a/module-apps/application-phonebook/models/NewContactModel.cpp b/module-apps/application-phonebook/models/NewContactModel.cpp index 4a67c7b73d2ed22beb37554a1baaadecf4e22e11..a63ca7f200dfcf8e87125259ae2f7cb40713f87d 100644 --- a/module-apps/application-phonebook/models/NewContactModel.cpp +++ b/module-apps/application-phonebook/models/NewContactModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "NewContactModel.hpp" @@ -108,7 +108,7 @@ void NewContactModel::createData() void NewContactModel::clearData() { - list->clear(); + list->reset(); eraseInternalData(); diff --git a/module-apps/application-phonebook/windows/PhonebookNamecardOptions.cpp b/module-apps/application-phonebook/windows/PhonebookNamecardOptions.cpp index a3b8e8e60da93bf7aa469ad90dff940fc32691e0..cbfd95cc9300c8b10eb93b11655023ac4337ddc0 100644 --- a/module-apps/application-phonebook/windows/PhonebookNamecardOptions.cpp +++ b/module-apps/application-phonebook/windows/PhonebookNamecardOptions.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include @@ -15,8 +15,7 @@ namespace gui : OptionWindow(app, gui::window::name::namecard_options) { buildInterface(); - options = namecardOptionsList(); - addOptions(options); + addOptions(namecardOptionsList()); } auto PhonebookNamecardOptions::handleSwitchData(SwitchData *data) -> bool diff --git a/module-apps/application-settings-new/models/DateAndTimeModel.cpp b/module-apps/application-settings-new/models/DateAndTimeModel.cpp index cd59280ac4472d43364be64bb2e5b8ed3cda83fd..c4c1bf47d8d9901dc824e1e0cf0e74f9719d9a5b 100644 --- a/module-apps/application-settings-new/models/DateAndTimeModel.cpp +++ b/module-apps/application-settings-new/models/DateAndTimeModel.cpp @@ -13,7 +13,7 @@ DateAndTimeModel::DateAndTimeModel(app::Application *application) : app(applicat void DateAndTimeModel::loadData(std::shared_ptr fromTillDate) { - list->clear(); + list->reset(); eraseInternalData(); createData(); diff --git a/module-apps/application-settings-new/models/FromTimeToTimeModel.cpp b/module-apps/application-settings-new/models/FromTimeToTimeModel.cpp index 927e1c5545666e0053c9d7b6548ab8e9b7b806e9..7452f82fd5632496444c1b476d5ce38551bde0d3 100644 --- a/module-apps/application-settings-new/models/FromTimeToTimeModel.cpp +++ b/module-apps/application-settings-new/models/FromTimeToTimeModel.cpp @@ -13,7 +13,7 @@ FromTimeToTimeModel::FromTimeToTimeModel(app::Application *application) : app(ap void FromTimeToTimeModel::loadData(std::shared_ptr fromTillDate) { - list->clear(); + list->reset(); eraseInternalData(); createData(); diff --git a/module-apps/application-settings-new/models/NewApnModel.cpp b/module-apps/application-settings-new/models/NewApnModel.cpp index 24334900bc810f93254687834d27dcc32933bd09..9a5738c30ac9b5f12ee5443313c3c2f84ef9ccb3 100644 --- a/module-apps/application-settings-new/models/NewApnModel.cpp +++ b/module-apps/application-settings-new/models/NewApnModel.cpp @@ -93,7 +93,7 @@ void NewApnModel::createData() void NewApnModel::clearData() { - list->clear(); + list->reset(); eraseInternalData(); diff --git a/module-apps/application-settings-new/windows/AutolockWindow.cpp b/module-apps/application-settings-new/windows/AutolockWindow.cpp index fbb60a8d9ed8e21200e41892ed50454f15c2f3ef..cd5e92990f56d8d9b0ec255304672673c4284a2a 100644 --- a/module-apps/application-settings-new/windows/AutolockWindow.cpp +++ b/module-apps/application-settings-new/windows/AutolockWindow.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "AutolockWindow.hpp" @@ -25,7 +25,7 @@ namespace gui time, [=](gui::Item &item) { selectedTime = time; - rebuildOptionList(); + refreshOptionsList(); return true; }, [=](gui::Item &item) { diff --git a/module-apps/application-settings-new/windows/BaseSettingsWindow.cpp b/module-apps/application-settings-new/windows/BaseSettingsWindow.cpp index b7f20dd9bbbe5618288f0a4844f8bf3d0b3aaf28..7593d5a38528d56a1e3ba68c73209ce64435f8c2 100644 --- a/module-apps/application-settings-new/windows/BaseSettingsWindow.cpp +++ b/module-apps/application-settings-new/windows/BaseSettingsWindow.cpp @@ -7,12 +7,7 @@ namespace gui { BaseSettingsWindow::BaseSettingsWindow(app::Application *app, std::string name) : OptionWindow(app, name) - { - optionsList->prepareRebuildCallback = [this]() { - clearOptions(); - optionsModel->createData(options); - }; - } + {} void BaseSettingsWindow::rebuild() { @@ -22,13 +17,12 @@ namespace gui void BaseSettingsWindow::onBeforeShow(ShowMode mode, SwitchData *data) { - rebuildOptionList(); + refreshOptionsList(); } void BaseSettingsWindow::rebuildOptionList() { - clearOptions(); - addOptions(buildOptionsList()); + changeOptions(buildOptionsList()); } void BaseSettingsWindow::refreshOptionsList() diff --git a/module-apps/application-settings-new/windows/DisplayAndKeypadWindow.cpp b/module-apps/application-settings-new/windows/DisplayAndKeypadWindow.cpp index fc0c99eb7000ad4d71530b77e063b29a83afe6dd..30d6514eee3c2cb33146ffe768a0a07e2ef4f36c 100644 --- a/module-apps/application-settings-new/windows/DisplayAndKeypadWindow.cpp +++ b/module-apps/application-settings-new/windows/DisplayAndKeypadWindow.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "DisplayAndKeypadWindow.hpp" @@ -14,8 +14,7 @@ namespace gui DisplayAndKeypadWindow::DisplayAndKeypadWindow(app::Application *app) : OptionWindow(app, gui::window::name::display_and_keypad) { - options = displayAndKeypadOptionsList(); - addOptions(options); + addOptions(displayAndKeypadOptionsList()); setTitle(utils::localize.get("app_settings_disp_key")); } diff --git a/module-apps/application-settings-new/windows/KeypadLightWindow.cpp b/module-apps/application-settings-new/windows/KeypadLightWindow.cpp index 2ace33e14f3a95f5cf1f6f726cf6b6dcf1268bfe..9527174c6429fbccaf8ebe74e43151fc4f72691e 100644 --- a/module-apps/application-settings-new/windows/KeypadLightWindow.cpp +++ b/module-apps/application-settings-new/windows/KeypadLightWindow.cpp @@ -38,7 +38,7 @@ namespace gui isOffSwitchOn = false; isAlwaysOnSwitchOn = false; toggleSwitch = !toggleSwitch; - rebuildOptionList(); + refreshOptionsList(); if (isAlwaysOnSwitchOn) { keypadLightSettings->setKeypadBacklightState(bsp::keypad_backlight::State::on); } diff --git a/module-apps/application-settings-new/windows/NetworkWindow.cpp b/module-apps/application-settings-new/windows/NetworkWindow.cpp index 4ca1f95f34b135c1d6689b1124117639a718b0f2..2bca4c8b2867e1dfb6a6c80c16970504f923d5c0 100644 --- a/module-apps/application-settings-new/windows/NetworkWindow.cpp +++ b/module-apps/application-settings-new/windows/NetworkWindow.cpp @@ -15,11 +15,10 @@ namespace gui app::settingsInterface::SimParams *simParams, app::settingsInterface::OperatorsSettings *operatorsSettings) : OptionWindow(app, gui::window::name::network), simParams(simParams), operatorsSettings(operatorsSettings) - {} - void NetworkWindow::onBeforeShow(ShowMode m, SwitchData *d) { - rebuild(); + addOptions(netOptList()); } + auto NetworkWindow::netOptList() -> std::list { std::list optList; @@ -72,7 +71,7 @@ namespace gui utils::translateI18("app_settings_network_operator_auto_select"), [=](gui::Item &item) { operatorsSettings->setOperatorsOn(!operatorsOn); - rebuild(); + refreshOptions(netOptList()); return true; }, nullptr, @@ -116,7 +115,7 @@ namespace gui utils::translateI18("app_settings_network_voice_over_lte"), [=](gui::Item &item) { operatorsSettings->setVoLTEOn(!voLteOn); - rebuild(); + refreshOptions(netOptList()); return true; }, nullptr, @@ -138,10 +137,4 @@ namespace gui return optList; } - void NetworkWindow::rebuild() - { - clearOptions(); - addOptions(netOptList()); - } - } // namespace gui diff --git a/module-apps/application-settings-new/windows/NetworkWindow.hpp b/module-apps/application-settings-new/windows/NetworkWindow.hpp index 0c46f361457e3dc5f89042cee5ea1e64c3bc26a3..1133cf22d49c576f9188219e16a3703e14bc718a 100644 --- a/module-apps/application-settings-new/windows/NetworkWindow.hpp +++ b/module-apps/application-settings-new/windows/NetworkWindow.hpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once @@ -25,13 +25,11 @@ namespace gui private: auto netOptList() -> std::list; app::settingsInterface::SimParams *simParams; - void rebuild() override; app::settingsInterface::OperatorsSettings *operatorsSettings; public: NetworkWindow(app::Application *app, app::settingsInterface::SimParams *simParams, app::settingsInterface::OperatorsSettings *operatorsSettings); - void onBeforeShow(ShowMode m, SwitchData *d) override; }; } // namespace gui diff --git a/module-apps/application-settings-new/windows/PhoneModesWindow.cpp b/module-apps/application-settings-new/windows/PhoneModesWindow.cpp index 0c4a96da6d18acc7f5fb300baf55aa87d2b9d5de..ede7ccc3a4db57a9772004adbde6d537c4a0f2ec 100644 --- a/module-apps/application-settings-new/windows/PhoneModesWindow.cpp +++ b/module-apps/application-settings-new/windows/PhoneModesWindow.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "PhoneModesWindow.hpp" @@ -14,11 +14,10 @@ namespace gui app::settingsInterface::SimParams *simParams, app::settingsInterface::OperatorsSettings *operatorsSettings) : OptionWindow(app, gui::window::name::phone_modes), simParams(simParams), operatorsSettings(operatorsSettings) - {} - void PhoneModesWindow::onBeforeShow(ShowMode m, SwitchData *d) { - rebuild(); + addOptions(modesOptList()); } + auto PhoneModesWindow::modesOptList() -> std::list { std::list optList; @@ -70,10 +69,4 @@ namespace gui return optList; } - void PhoneModesWindow::rebuild() - { - clearOptions(); - addOptions(modesOptList()); - } - } // namespace gui diff --git a/module-apps/application-settings-new/windows/PhoneModesWindow.hpp b/module-apps/application-settings-new/windows/PhoneModesWindow.hpp index 3b4b235f3fa1fb27c14145ac560a40c860c828a5..a8c2697a919939e9a331936c862862bd5838f1bc 100644 --- a/module-apps/application-settings-new/windows/PhoneModesWindow.hpp +++ b/module-apps/application-settings-new/windows/PhoneModesWindow.hpp @@ -25,13 +25,11 @@ namespace gui private: auto modesOptList() -> std::list; app::settingsInterface::SimParams *simParams; - void rebuild() override; app::settingsInterface::OperatorsSettings *operatorsSettings; public: PhoneModesWindow(app::Application *app, app::settingsInterface::SimParams *simParams, app::settingsInterface::OperatorsSettings *operatorsSettings); - void onBeforeShow(ShowMode m, SwitchData *d) override; }; } // namespace gui diff --git a/module-apps/application-special-input/models/SpecialInputModel.cpp b/module-apps/application-special-input/models/SpecialInputModel.cpp index 2d183715b06c346a5d87a12177eb2ad399b0716c..a6023f5f9a93bffaad66c2897300d91f81da6755 100644 --- a/module-apps/application-special-input/models/SpecialInputModel.cpp +++ b/module-apps/application-special-input/models/SpecialInputModel.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved. +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #include "SpecialInputModel.hpp" @@ -78,6 +78,6 @@ void SpecialInputModel::createData(specialInputStyle::CharactersType type) void SpecialInputModel::clearData() { - list->clear(); + list->reset(); eraseInternalData(); } diff --git a/module-apps/windows/OptionWindow.cpp b/module-apps/windows/OptionWindow.cpp index 50d8e87614f4d287e0e62eb2c0266259ea1ef9e0..b79cccf9c0d93e2c33af6ff81d826e5698674e20 100644 --- a/module-apps/windows/OptionWindow.cpp +++ b/module-apps/windows/OptionWindow.cpp @@ -27,8 +27,12 @@ namespace gui void OptionWindow::rebuild() { - clearOptions(); - addOptions(options); + recreateOptions(); + } + + void OptionWindow::createOptions() + { + optionsModel->createData(options); } void OptionWindow::refreshOptions(std::list