~aleteoryx/muditaos

ea13bda5c7c1a4a43f29dbebef33de49ef5686c6 — RobertPiet 5 years ago 4c30d44
[EGD-3681] settings main screen updated to the design chart https://projects.invisionapp.com/d/main#/console/18241335/385967135/preview
[EGD-3681] review issues solved: new settings window contains link to the old one, _old files removed, issues regarding lambda params, removed translations for de, fr, sp;removed section file/author from the header/body, removed destructor - default one exists in the base class, not used parameter with maybe_unused param, reoved dead code; DeinitHandler removed (was empty) - currently base class calls onClose on all its windows; reinterpret_cast removed
M image/assets/lang/lang_en.json => image/assets/lang/lang_en.json +6 -0
@@ 150,6 150,7 @@
    "app_desktop_menu_meditation": "MEDITATION",
    "app_desktop_menu_music": "MUSIC",
    "app_desktop_menu_tools": "TOOLS",
    "app_desktop_menu_settings_new": "SETTINGS NEW",
    "app_desktop_menu_settings": "SETTINGS",
    "app_desktop_menu_phonebook": "PHONEBOOK",
    "app_desktop_menu_title": "Menu",


@@ 199,7 200,12 @@
    "app_messages_thread_you" : "You: ",

    "app_settings_title_main": "Settings",
    "app_settings_title_main_new": "Settings New",
    "app_settings_bt" : "Bluetooth",
    "app_settings_net" : "Network",
    "app_settings_disp_key" : "Display and keypad",
    "app_settings_system" : "System",
    "app_settings_apps_tools" : "Apps and tools",
    "app_settings_date_and_time": "Date and Time",
	"app_settings_title_day": "Day",
	"app_settings_title_month": "Month",

M module-apps/CMakeLists.txt => module-apps/CMakeLists.txt +1 -0
@@ 29,6 29,7 @@ set(APPLICATIONS
    calendar
    desktop
    settings
    settings-new
    call
    notes
    phonebook

M module-apps/application-desktop/ApplicationDesktop.cpp => module-apps/application-desktop/ApplicationDesktop.cpp +1 -0
@@ 8,6 8,7 @@
#include "windows/Reboot.hpp"

#include <service-db/api/DBServiceAPI.hpp>
#include <application-settings-new/ApplicationSettings.hpp>
#include <application-settings/ApplicationSettings.hpp>
#include <service-appmgr/ApplicationManager.hpp>
#include <service-cellular/ServiceCellular.hpp>

M module-apps/application-desktop/windows/DesktopMainWindow.cpp => module-apps/application-desktop/windows/DesktopMainWindow.cpp +1 -0
@@ 28,6 28,7 @@
#include "log/log.hpp"
#include <Span.hpp>
#include <Style.hpp>
#include <application-settings-new/ApplicationSettings.hpp>
#include <application-settings/ApplicationSettings.hpp>
#include <cassert>
#include <service-appmgr/ApplicationManager.hpp>

M module-apps/application-desktop/windows/MenuWindow.cpp => module-apps/application-desktop/windows/MenuWindow.cpp +3 -3
@@ 24,7 24,7 @@ namespace style::design

namespace gui
{

    inline const auto APP_SETTINGS_NEW = "ApplicationSettingsNew";
    Tile::Tile(UTF8 icon, std::string title, std::function<bool(Item &)> activatedCallback, unsigned int notifications)
    {
        setSize(style::design::tile_w, style::design::tile_h);


@@ 168,11 168,11 @@ namespace gui
                new gui::Tile{
                    "menu_meditation_W_G", "app_desktop_menu_meditation", [=](gui::Item &item) { return true; }},
                new gui::Tile{"menu_settings_W_G",
                              "app_desktop_menu_settings",
                              "app_desktop_menu_settings_new",
                              [=](gui::Item &item) {
                                  LOG_INFO("page 1 settings");
                                  sapm::ApplicationManager::messageSwitchApplication(
                                      application, "ApplicationSettings", gui::name::window::main_window, nullptr);
                                      application, APP_SETTINGS_NEW, gui::name::window::main_window, nullptr);
                                  return true;
                              }},
            });

A module-apps/application-settings-new/ApplicationSettings.cpp => module-apps/application-settings-new/ApplicationSettings.cpp +62 -0
@@ 0,0 1,62 @@
#include "Application.hpp"

#include "MessageType.hpp"
#include "windows/SettingsMainWindow.hpp"

#include "ApplicationSettings.hpp"

#include <module-services/service-evtmgr/api/EventManagerServiceAPI.hpp>
#include <module-apps/messages/AppMessage.hpp>

#include <i18/i18.hpp>

namespace app
{
    ApplicationSettingsNew::ApplicationSettingsNew(std::string name, std::string parent, bool startBackgound)
        : Application(name, parent, startBackgound)
    {}

    // Invoked upon receiving data message
    sys::Message_t ApplicationSettingsNew::DataReceivedHandler(sys::DataMessage *msgl,
                                                               [[maybe_unused]] sys::ResponseMessage *resp)
    {
        auto retMsg = Application::DataReceivedHandler(msgl);
        // if message was handled by application's template there is no need to process further.
        auto rm = dynamic_cast<sys::ResponseMessage *>(retMsg.get());
        if (nullptr != rm && sys::ReturnCodes::Success == rm->retCode) {
            return retMsg;
        }

        return std::make_shared<sys::ResponseMessage>();
    }

    // Invoked during initialization
    sys::ReturnCodes ApplicationSettingsNew::InitHandler()
    {
        board = EventManagerServiceAPI::GetBoard(this);

        auto ret = Application::InitHandler();
        if (ret != sys::ReturnCodes::Success) {
            return ret;
        }

        createUserInterface();

        setActiveWindow(gui::name::window::main_window);

        return ret;
    }

    void ApplicationSettingsNew::createUserInterface()
    {

        gui::AppWindow *window = nullptr;

        window = newOptionWindow(this, gui::name::window::main_window, mainWindowOptionsNew(this));
        window->setTitle(utils::localize.get("app_settings_title_main_new"));
        windows.insert(std::pair<std::string, gui::AppWindow *>(window->getName(), window));
    }

    void ApplicationSettingsNew::destroyUserInterface()
    {}
} /* namespace app */

A module-apps/application-settings-new/ApplicationSettings.hpp => module-apps/application-settings-new/ApplicationSettings.hpp +31 -0
@@ 0,0 1,31 @@
#pragma once

#include "Application.hpp"

#include "bsp/common.hpp"

namespace app
{

    inline const std::string name_settings_new = "ApplicationSettingsNew";

    class ApplicationSettingsNew : public app::Application
    {
      public:
        ApplicationSettingsNew(std::string name    = name_settings_new,
                               std::string parent  = "",
                               bool startBackgound = false);
        sys::Message_t DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) override;
        sys::ReturnCodes InitHandler() override;

        sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override final
        {
            return sys::ReturnCodes::Success;
        }

        void createUserInterface() override;
        void destroyUserInterface() override;
        bsp::Board board = bsp::Board::none;
    };

} /* namespace app */

A module-apps/application-settings-new/CMakeLists.txt => module-apps/application-settings-new/CMakeLists.txt +25 -0
@@ 0,0 1,25 @@

include_directories( ${CMAKE_PROJECT_NAME}

    PUBLIC
        "${CMAKE_CURRENT_LIST_DIR}"
)

include_directories( ${PROJECT_NAME}

    PUBLIC
        ${CMAKE_CURRENT_LIST_DIR}
)

target_sources( ${PROJECT_NAME}

    PRIVATE
        ApplicationSettings.cpp
        windows/SettingsMainWindow.cpp

    PUBLIC
        ApplicationSettings.hpp
        windows/SettingsMainWindow.hpp
)

add_dependencies(${PROJECT_NAME} version)

A module-apps/application-settings-new/windows/SettingsMainWindow.cpp => module-apps/application-settings-new/windows/SettingsMainWindow.cpp +48 -0
@@ 0,0 1,48 @@
#include "SettingsMainWindow.hpp"
#include "../ApplicationSettings.hpp"
#include "i18/i18.hpp"
#include "log/log.hpp"
#include "service-appmgr/ApplicationManager.hpp"

std::list<gui::Option> mainWindowOptionsNew(app::Application *app)
{
    std::list<gui::Option> l;

    auto i18     = [](const std::string &text) { return utils::localize.get(text); };
    auto addMenu = [&l, &app](UTF8 name, const std::string &window = "") {
        l.emplace_back(gui::Option{name,
                                   [=](gui::Item &item) {
                                       if (window.empty()) {
                                           return false;
                                       }
                                       LOG_INFO("switching to %s page", window.c_str());
                                       app->switchWindow(window, nullptr);
                                       return true;
                                   },
                                   gui::Arrow::Enabled});
    };
    auto addApp = [&l, &app](UTF8 name, const std::string &window = "") {
        l.emplace_back(gui::Option{name,
                                   [=](gui::Item &item) {
                                       if (window.empty()) {
                                           return false;
                                       }
                                       LOG_INFO("switching to %s page", window.c_str());
                                       sapm::ApplicationManager::messageSwitchApplication(
                                           app, "ApplicationSettings", gui::name::window::main_window, nullptr);
                                       app->switchWindow(window, nullptr);
                                       return true;
                                   },
                                   gui::Arrow::Enabled});
    };

    addApp(i18("app_desktop_menu_settings"), "Settings");
    addMenu(i18("app_settings_bt"), "Bluetooth");
    addMenu(i18("app_settings_net"), "Network");
    addMenu(i18("app_settings_disp_key"), "Display and keypad");
    addMenu(i18("app_settings_phone_modes"), "Phone modes");
    addMenu(i18("app_settings_apps_tools"), "Apps and tools");
    addMenu(i18("app_settings_security"), "Security");
    addMenu(i18("app_settings_system"), "System");
    return l;
}

A module-apps/application-settings-new/windows/SettingsMainWindow.hpp => module-apps/application-settings-new/windows/SettingsMainWindow.hpp +6 -0
@@ 0,0 1,6 @@
#pragma once

#include "OptionWindow.hpp"
#include "Application.hpp"

std::list<gui::Option> mainWindowOptionsNew(app::Application *app);

M source/main.cpp => source/main.cpp +2 -0
@@ 18,6 18,7 @@
#include "application-notes/ApplicationNotes.hpp"
#include "application-phonebook/ApplicationPhonebook.hpp"
#include "application-settings/ApplicationSettings.hpp"
#include "application-settings-new/ApplicationSettings.hpp"
#include "application-special-input/AppSpecialInput.hpp"
#include "application-calendar/ApplicationCalendar.hpp"
#include "application-music-player/ApplicationMusicPlayer.hpp"


@@ 200,6 201,7 @@ int main()
#endif
#ifdef ENABLE_APP_SETTINGS
        applications.push_back(app::CreateLauncher<app::ApplicationSettings>(app::name_settings));
        applications.push_back(app::CreateLauncher<app::ApplicationSettingsNew>(app::name_settings_new));
#endif
#ifdef ENABLE_APP_NOTES
        applications.push_back(app::CreateLauncher<app::ApplicationNotes>(app::name_notes));