From 006bc3d129ba98403af6ed48d4ef8ba62deb3786 Mon Sep 17 00:00:00 2001 From: Alek Date: Tue, 15 Oct 2019 23:11:02 +0200 Subject: [PATCH] EGD-2180 Issue with gui::ShowMode --- module-apps/Application.cpp | 20 +++++++------- module-apps/Application.hpp | 9 ++++++- .../application-call/ApplicationCall.cpp | 4 +-- .../application-call/windows/CallWindow.cpp | 2 +- .../application-call/windows/CallWindow.hpp | 2 +- .../windows/DesktopMainWindow.cpp | 10 +++---- .../windows/DesktopMainWindow.hpp | 2 +- .../windows/MenuWindow.cpp | 4 +-- .../windows/MenuWindow.hpp | 2 +- .../windows/PinLockWindow.cpp | 10 +++---- .../windows/PinLockWindow.hpp | 2 +- .../windows/PowerOffWindow.cpp | 6 ++--- .../windows/PowerOffWindow.hpp | 2 +- .../windows/MessagesMainWindow.cpp | 2 +- .../windows/MessagesMainWindow.hpp | 2 +- .../windows/ThreadViewWindow.cpp | 4 +-- .../windows/ThreadViewWindow.hpp | 2 +- .../windows/NotesEditWindow.cpp | 4 +-- .../windows/NotesEditWindow.hpp | 2 +- .../windows/NotesMainWindow.cpp | 4 +-- .../windows/NotesMainWindow.hpp | 2 +- .../windows/PhonebookMainWindow.cpp | 6 ++--- .../windows/PhonebookMainWindow.hpp | 2 +- .../windows/PhonebookNewContact.cpp | 4 +-- .../windows/PhonebookNewContact.hpp | 2 +- .../windows/LanguageWindow.cpp | 4 +-- .../windows/LanguageWindow.hpp | 2 +- .../windows/SettingsMainWindow.cpp | 4 +-- .../windows/SettingsMainWindow.hpp | 2 +- .../application-viewer/windows/ViewWindow.cpp | 2 +- .../application-viewer/windows/ViewWindow.hpp | 2 +- module-apps/messages/AppMessage.hpp | 26 ++++++++++--------- module-gui/gui/widgets/Window.cpp | 2 +- module-gui/gui/widgets/Window.hpp | 2 +- 34 files changed, 82 insertions(+), 75 deletions(-) diff --git a/module-apps/Application.cpp b/module-apps/Application.cpp index dc6d24472..b14f84166 100644 --- a/module-apps/Application.cpp +++ b/module-apps/Application.cpp @@ -101,7 +101,7 @@ void Application::render( gui::RefreshModes mode ) { void Application::blockEvents(bool isBlocked ) { acceptInput = isBlocked; } -int Application::switchWindow( const std::string& windowName, uint32_t cmd, std::unique_ptr data ) { +int Application::switchWindow( const std::string& windowName, gui::ShowMode cmd, std::unique_ptr data ) { std::string window; LOG_INFO("switching to window: %s", windowName.c_str()); @@ -109,17 +109,19 @@ int Application::switchWindow( const std::string& windowName, uint32_t cmd, std: //case to handle returning to previous application if( windowName == "LastWindow" ) { window = currentWindow->getName(); - auto msg = std::make_shared( window, cmd, std::make_unique("LastWindow")); + auto msg = std::make_shared( window, std::make_unique("LastWindow"), cmd); sys::Bus::SendUnicast(msg, this->GetName(), this ); } else { - window = windowName.empty()?"MainWindow":windowName; - auto msg = std::make_shared( window, cmd, std::move(data) ); + window = windowName.empty() ? "MainWindow" : windowName; + auto msg = std::make_shared( window, std::move(data), cmd ); sys::Bus::SendUnicast(msg, this->GetName(), this ); } return 0; } + +// TODO: this one seems to be unused int Application::switchBackWindow( const std::string& windowName, uint32_t cmd, std::unique_ptr data ) { auto msg = std::make_shared( MessageType::AppSwitchWindowBack ); sys::Bus::SendUnicast(msg, this->GetName(), this ); @@ -234,7 +236,7 @@ sys::Message_t Application::DataReceivedHandler(sys::DataMessage* msgl) { if( sapm::ApplicationManager::messageConfirmSwitch(this) ) { state = State::ACTIVE_FORGROUND; - switchWindow( msg->getTargetWindowName(), 0, std::move( msg->getData())); + switchWindow( msg->getTargetWindowName(), std::move( msg->getData())); handled = true; } else { @@ -263,7 +265,7 @@ sys::Message_t Application::DataReceivedHandler(sys::DataMessage* msgl) { //if application is in front and receives message with defined window it should //change to that window. else { - switchWindow( msg->getTargetWindowName(), 0, std::move( msg->getData())); + switchWindow( msg->getTargetWindowName(), std::move( msg->getData())); handled = true; } } @@ -283,10 +285,6 @@ sys::Message_t Application::DataReceivedHandler(sys::DataMessage* msgl) { setActiveWindow( msg->getWindowName() ); - //determine show mode - gui::ShowMode mode = gui::ShowMode::GUI_SHOW_INIT; - if( previousWindow == currentWindow ) - mode = gui::ShowMode::GUI_SHOW_RETURN; currentWindow->handleSwitchData( msg->getData().get() ); //check if this is case where application is returning to the last visible window. @@ -294,7 +292,7 @@ sys::Message_t Application::DataReceivedHandler(sys::DataMessage* msgl) { //do nothing here } else { - currentWindow->onBeforeShow( mode, 0, msg->getData().get() ); + currentWindow->onBeforeShow( msg->getCommand(), msg->getData().get() ); } refreshWindow( gui::RefreshModes::GUI_REFRESH_DEEP ); diff --git a/module-apps/Application.hpp b/module-apps/Application.hpp index 59e1a8bbc..61360479b 100644 --- a/module-apps/Application.hpp +++ b/module-apps/Application.hpp @@ -81,7 +81,14 @@ public: /** * Generic function for sending switch command. This will switch window within active application. */ - int switchWindow( const std::string& windowName, uint32_t cmd, std::unique_ptr data ); + int switchWindow( const std::string& windowName, gui::ShowMode cmd = gui::ShowMode::GUI_SHOW_INIT, std::unique_ptr data = nullptr ); + /** + * Generic method for sending switch command. This will switch window within active application. + * It set the ShowMode to gui::ShowMode::GUI_SHOW_INIT + */ + inline auto switchWindow( const std::string& windowName, std::unique_ptr data ) { + return switchWindow( windowName, gui::ShowMode::GUI_SHOW_INIT, std::move(data)); + }; /** * Generic function for returning to switch window in active application without performing initialization of the window. */ diff --git a/module-apps/application-call/ApplicationCall.cpp b/module-apps/application-call/ApplicationCall.cpp index e1b37b5ea..8f5873279 100644 --- a/module-apps/application-call/ApplicationCall.cpp +++ b/module-apps/application-call/ApplicationCall.cpp @@ -87,7 +87,7 @@ sys::Message_t ApplicationCall::DataReceivedHandler(sys::DataMessage* msgl,sys:: callWindow->setState( gui::CallWindow::State::INCOMING_CALL ); if( state == State::ACTIVE_FORGROUND ) { LOG_INFO("++++++++++++WINDOW SWITCH"); - switchWindow( "CallWindow",0, std::move(data) ); + switchWindow( "CallWindow", std::move(data) ); } else { LOG_INFO("++++++++++++APP SWITCH"); @@ -105,7 +105,7 @@ sys::Message_t ApplicationCall::DataReceivedHandler(sys::DataMessage* msgl,sys:: callWindow->setState( gui::CallWindow::State::OUTGOING_CALL ); if( state == State::ACTIVE_FORGROUND ) { - switchWindow( "CallWindow",0, nullptr ); + switchWindow( "CallWindow" ); } } handled = true; diff --git a/module-apps/application-call/windows/CallWindow.cpp b/module-apps/application-call/windows/CallWindow.cpp index 99c653a6e..e61ae0c12 100644 --- a/module-apps/application-call/windows/CallWindow.cpp +++ b/module-apps/application-call/windows/CallWindow.cpp @@ -276,7 +276,7 @@ bool CallWindow::handleSwitchData( SwitchData* data ) { return true; } -void CallWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void CallWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { } bool CallWindow::handleLeftButton() { diff --git a/module-apps/application-call/windows/CallWindow.hpp b/module-apps/application-call/windows/CallWindow.hpp index 11b82e68e..412c5d537 100644 --- a/module-apps/application-call/windows/CallWindow.hpp +++ b/module-apps/application-call/windows/CallWindow.hpp @@ -76,7 +76,7 @@ public: //virtual methods bool onInput( const InputEvent& inputEvent ) override; - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; bool handleSwitchData( SwitchData* data ) override; void rebuild() override; diff --git a/module-apps/application-desktop/windows/DesktopMainWindow.cpp b/module-apps/application-desktop/windows/DesktopMainWindow.cpp index 24650e270..5abdf7d08 100644 --- a/module-apps/application-desktop/windows/DesktopMainWindow.cpp +++ b/module-apps/application-desktop/windows/DesktopMainWindow.cpp @@ -112,7 +112,7 @@ void DesktopMainWindow::setVisibleState() { } } -void DesktopMainWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void DesktopMainWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { //update time time->setText( topBar->getTimeString() ); @@ -155,13 +155,13 @@ bool DesktopMainWindow::onInput( const InputEvent& inputEvent ) { if( app->getPinLocked()) //if there was no application on to before closing proceed normally to pin protection window. if( lockTimeoutApplilcation.empty()) { - application->switchWindow( "PinLockWindow", 0, nullptr ); + application->switchWindow( "PinLockWindow" ); } else { std::unique_ptr data = std::make_unique(); data->setPrevApplication( lockTimeoutApplilcation ); lockTimeoutApplilcation = ""; - application->switchWindow( "PinLockWindow", 0, std::move(data) ); + application->switchWindow( "PinLockWindow", std::move(data) ); } else { @@ -189,7 +189,7 @@ bool DesktopMainWindow::onInput( const InputEvent& inputEvent ) { else { //pressing enter moves user to menu screen if( inputEvent.keyCode == KeyCode::KEY_ENTER ) { - application->switchWindow( "MenuWindow", 0, nullptr ); + application->switchWindow( "MenuWindow" ); } //if numeric key was pressed record that key and send it to call application with a switch command else if(( inputEvent.keyChar >= '0') && ( inputEvent.keyChar <= '9') ) { @@ -215,7 +215,7 @@ bool DesktopMainWindow::onInput( const InputEvent& inputEvent ) { } //long press of right function button move user to power off window else if (inputEvent.keyCode == KeyCode::KEY_RF) { - application->switchWindow( "PowerOffWindow", 0, nullptr ); + application->switchWindow( "PowerOffWindow" ); } } return false; diff --git a/module-apps/application-desktop/windows/DesktopMainWindow.hpp b/module-apps/application-desktop/windows/DesktopMainWindow.hpp index 9e14de7fa..d5610ea3f 100644 --- a/module-apps/application-desktop/windows/DesktopMainWindow.hpp +++ b/module-apps/application-desktop/windows/DesktopMainWindow.hpp @@ -57,7 +57,7 @@ public: //virtual methods gui::Window bool onInput( const InputEvent& inputEvent ) override; - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; //virtual methods gui::AppWindow void rebuild() override; void buildInterface() override; diff --git a/module-apps/application-desktop/windows/MenuWindow.cpp b/module-apps/application-desktop/windows/MenuWindow.cpp index b6b5c8604..16584c6ae 100644 --- a/module-apps/application-desktop/windows/MenuWindow.cpp +++ b/module-apps/application-desktop/windows/MenuWindow.cpp @@ -182,7 +182,7 @@ MenuWindow::~MenuWindow() { destroyInterface(); } -void MenuWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void MenuWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { //select middle row and middle column to assign focus to the element. Item* item = pages[currentPage]->tiles[0]; @@ -211,7 +211,7 @@ bool MenuWindow::onInput( const InputEvent& inputEvent ) { switchPage(0); } else { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); } return true; } diff --git a/module-apps/application-desktop/windows/MenuWindow.hpp b/module-apps/application-desktop/windows/MenuWindow.hpp index 53f2796b8..bfb1469b5 100644 --- a/module-apps/application-desktop/windows/MenuWindow.hpp +++ b/module-apps/application-desktop/windows/MenuWindow.hpp @@ -59,7 +59,7 @@ public: MenuWindow( app::Application* app ); virtual ~MenuWindow(); - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; bool onInput( const InputEvent& inputEvent ) override; void rebuild() override; diff --git a/module-apps/application-desktop/windows/PinLockWindow.cpp b/module-apps/application-desktop/windows/PinLockWindow.cpp index 7a8614f9e..55c7536cb 100644 --- a/module-apps/application-desktop/windows/PinLockWindow.cpp +++ b/module-apps/application-desktop/windows/PinLockWindow.cpp @@ -169,7 +169,7 @@ void PinLockWindow::setVisibleState( const State& state ) { } } -void PinLockWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void PinLockWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { //check if there was a signal to lock the phone due to inactivity. if( (data != nullptr) && (data->getDescription() == "LockPhoneData")) { @@ -196,7 +196,7 @@ bool PinLockWindow::onInput( const InputEvent& inputEvent ) { return true; } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); return true; } else if( inputEvent.keyCode == KeyCode::KEY_PND ) { @@ -219,7 +219,7 @@ bool PinLockWindow::onInput( const InputEvent& inputEvent ) { //if there is no application to return to simply return to main window if( lockTimeoutApplilcation.empty()) { - application->switchWindow("MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); } else { lockTimeoutApplilcation = ""; @@ -269,12 +269,12 @@ bool PinLockWindow::onInput( const InputEvent& inputEvent ) { } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { state = State::EnteringPin; - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); } } else if( state == State::PhoneBlocked) { if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); return true; } } diff --git a/module-apps/application-desktop/windows/PinLockWindow.hpp b/module-apps/application-desktop/windows/PinLockWindow.hpp index 995dbbeeb..85c3effcf 100644 --- a/module-apps/application-desktop/windows/PinLockWindow.hpp +++ b/module-apps/application-desktop/windows/PinLockWindow.hpp @@ -45,7 +45,7 @@ class PinLockWindow: public AppWindow { public: PinLockWindow( app::Application* app ); virtual ~PinLockWindow(); - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; bool onInput( const InputEvent& inputEvent ) override; void rebuild() override; diff --git a/module-apps/application-desktop/windows/PowerOffWindow.cpp b/module-apps/application-desktop/windows/PowerOffWindow.cpp index cc8dcfd3f..cb851360d 100644 --- a/module-apps/application-desktop/windows/PowerOffWindow.cpp +++ b/module-apps/application-desktop/windows/PowerOffWindow.cpp @@ -182,7 +182,7 @@ PowerOffWindow::~PowerOffWindow() { destroyInterface(); } -void PowerOffWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void PowerOffWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { //on entering screen always set default result as returning to home screen and set focus to "No" label state = State::Return; setFocusItem( selectionLabels[0] ); @@ -202,7 +202,7 @@ bool PowerOffWindow::onInput( const InputEvent& inputEvent ) { return true; if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); } //if enter was pressed check state and power down or return to main desktop's window else if (inputEvent.keyCode == KeyCode::KEY_ENTER) { @@ -210,7 +210,7 @@ bool PowerOffWindow::onInput( const InputEvent& inputEvent ) { //TODO start powering down procedure } else { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); } } diff --git a/module-apps/application-desktop/windows/PowerOffWindow.hpp b/module-apps/application-desktop/windows/PowerOffWindow.hpp index e9cbf0bc0..a13da8373 100644 --- a/module-apps/application-desktop/windows/PowerOffWindow.hpp +++ b/module-apps/application-desktop/windows/PowerOffWindow.hpp @@ -40,7 +40,7 @@ enum class State { public: PowerOffWindow( app::Application* app ); virtual ~PowerOffWindow(); - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; bool onInput( const InputEvent& inputEvent ) override; void rebuild() override; diff --git a/module-apps/application-messages/windows/MessagesMainWindow.cpp b/module-apps/application-messages/windows/MessagesMainWindow.cpp index 4c7a99bf3..0c00f635b 100644 --- a/module-apps/application-messages/windows/MessagesMainWindow.cpp +++ b/module-apps/application-messages/windows/MessagesMainWindow.cpp @@ -92,7 +92,7 @@ MessagesMainWindow::~MessagesMainWindow() { } -void MessagesMainWindow::onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) { +void MessagesMainWindow::onBeforeShow(ShowMode mode, SwitchData *data) { // setFocusItem(list); // phonebookModel->clear(); diff --git a/module-apps/application-messages/windows/MessagesMainWindow.hpp b/module-apps/application-messages/windows/MessagesMainWindow.hpp index a1d45335f..800f69a4e 100644 --- a/module-apps/application-messages/windows/MessagesMainWindow.hpp +++ b/module-apps/application-messages/windows/MessagesMainWindow.hpp @@ -39,7 +39,7 @@ class MessagesMainWindow: public AppWindow { // virtual methods bool onInput(const InputEvent &inputEvent) override; - void onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) override; + void onBeforeShow(ShowMode mode, SwitchData *data) override; bool onDatabaseMessage( sys::Message* msgl ); diff --git a/module-apps/application-messages/windows/ThreadViewWindow.cpp b/module-apps/application-messages/windows/ThreadViewWindow.cpp index 8f115a5eb..cd31063f5 100644 --- a/module-apps/application-messages/windows/ThreadViewWindow.cpp +++ b/module-apps/application-messages/windows/ThreadViewWindow.cpp @@ -81,7 +81,7 @@ ThreadViewWindow::~ThreadViewWindow() { } -void ThreadViewWindow::onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) { +void ThreadViewWindow::onBeforeShow(ShowMode mode, SwitchData *data) { } bool ThreadViewWindow::onInput(const InputEvent &inputEvent) { @@ -103,7 +103,7 @@ bool ThreadViewWindow::onInput(const InputEvent &inputEvent) { LOG_INFO("Enter pressed"); } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow" ); return true; } diff --git a/module-apps/application-messages/windows/ThreadViewWindow.hpp b/module-apps/application-messages/windows/ThreadViewWindow.hpp index 71ade46dd..bab11644b 100644 --- a/module-apps/application-messages/windows/ThreadViewWindow.hpp +++ b/module-apps/application-messages/windows/ThreadViewWindow.hpp @@ -33,7 +33,7 @@ public: // virtual methods bool onInput(const InputEvent &inputEvent) override; - void onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) override; + void onBeforeShow(ShowMode mode, SwitchData *data) override; bool onDatabaseMessage( sys::Message* msgl ); diff --git a/module-apps/application-notes/windows/NotesEditWindow.cpp b/module-apps/application-notes/windows/NotesEditWindow.cpp index 48e5b6dad..4122de62f 100644 --- a/module-apps/application-notes/windows/NotesEditWindow.cpp +++ b/module-apps/application-notes/windows/NotesEditWindow.cpp @@ -91,7 +91,7 @@ NotesEditWindow::~NotesEditWindow() { destroyInterface(); } -void NotesEditWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void NotesEditWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { application->setKeyboardProfile( "lang_eng_lower" ); text->setText( textString ); setFocusItem( text ); @@ -118,7 +118,7 @@ bool NotesEditWindow::onInput( const InputEvent& inputEvent ) { LOG_INFO("Enter pressed"); } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow", gui::ShowMode::GUI_SHOW_RETURN ); return true; } diff --git a/module-apps/application-notes/windows/NotesEditWindow.hpp b/module-apps/application-notes/windows/NotesEditWindow.hpp index 6034674d0..2bdf9372a 100644 --- a/module-apps/application-notes/windows/NotesEditWindow.hpp +++ b/module-apps/application-notes/windows/NotesEditWindow.hpp @@ -32,7 +32,7 @@ public: //virtual methods bool onInput( const InputEvent& inputEvent ) override; - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; void rebuild() override; void buildInterface() override; diff --git a/module-apps/application-notes/windows/NotesMainWindow.cpp b/module-apps/application-notes/windows/NotesMainWindow.cpp index 1b5c3a246..f672191b9 100644 --- a/module-apps/application-notes/windows/NotesMainWindow.cpp +++ b/module-apps/application-notes/windows/NotesMainWindow.cpp @@ -77,7 +77,7 @@ NotesMainWindow::~NotesMainWindow() { destroyInterface(); } -void NotesMainWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void NotesMainWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { notesModel->clear(); notesModel->requestRecordsCount(); list->clear(); @@ -107,7 +107,7 @@ bool NotesMainWindow::onInput( const InputEvent& inputEvent ) { return true; } else if( inputEvent.keyCode == KeyCode::KEY_LEFT ) { - application->switchWindow( "EditWindow", 0, nullptr ); + application->switchWindow( "EditWindow" ); return true; } diff --git a/module-apps/application-notes/windows/NotesMainWindow.hpp b/module-apps/application-notes/windows/NotesMainWindow.hpp index 173134eef..3e6a16941 100644 --- a/module-apps/application-notes/windows/NotesMainWindow.hpp +++ b/module-apps/application-notes/windows/NotesMainWindow.hpp @@ -34,7 +34,7 @@ public: //virtual methods bool onInput( const InputEvent& inputEvent ) override; - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; void rebuild() override; diff --git a/module-apps/application-phonebook/windows/PhonebookMainWindow.cpp b/module-apps/application-phonebook/windows/PhonebookMainWindow.cpp index 5aab6e764..d982f5a95 100644 --- a/module-apps/application-phonebook/windows/PhonebookMainWindow.cpp +++ b/module-apps/application-phonebook/windows/PhonebookMainWindow.cpp @@ -98,7 +98,7 @@ PhonebookMainWindow::~PhonebookMainWindow() { } -void PhonebookMainWindow::onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) { +void PhonebookMainWindow::onBeforeShow(ShowMode mode, SwitchData *data) { #if 0 @@ -177,11 +177,11 @@ bool PhonebookMainWindow::onInput(const InputEvent &inputEvent) { if( inputEvent.keyCode == KeyCode::KEY_LEFT) { LOG_INFO("Adding new contact"); - application->switchWindow("NewContact",0,nullptr); + application->switchWindow( "NewContact" ); } else if( inputEvent.keyCode == KeyCode::KEY_ENTER ) { LOG_INFO("Searching contact"); - application->switchWindow("SearchWindow",0, nullptr ); + application->switchWindow( "SearchWindow" ); } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { sapm::ApplicationManager::messageSwitchApplication( application, "ApplicationDesktop", "MenuWindow", nullptr ); diff --git a/module-apps/application-phonebook/windows/PhonebookMainWindow.hpp b/module-apps/application-phonebook/windows/PhonebookMainWindow.hpp index 205f60eea..62c6f707d 100644 --- a/module-apps/application-phonebook/windows/PhonebookMainWindow.hpp +++ b/module-apps/application-phonebook/windows/PhonebookMainWindow.hpp @@ -29,7 +29,7 @@ class PhonebookMainWindow : public AppWindow { // virtual methods bool onInput(const InputEvent &inputEvent) override; - void onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) override; + void onBeforeShow(ShowMode mode, SwitchData *data) override; bool onDatabaseMessage( sys::Message* msgl ); diff --git a/module-apps/application-phonebook/windows/PhonebookNewContact.cpp b/module-apps/application-phonebook/windows/PhonebookNewContact.cpp index 20da24d50..3fc506c4c 100644 --- a/module-apps/application-phonebook/windows/PhonebookNewContact.cpp +++ b/module-apps/application-phonebook/windows/PhonebookNewContact.cpp @@ -326,7 +326,7 @@ void PhonebookNewContact::switchPage( uint32_t page ) { } } -void PhonebookNewContact::onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) { +void PhonebookNewContact::onBeforeShow(ShowMode mode, SwitchData *data) { switchPage(0); setFocusItem(page1.text[0]); page2.favSelected = false; @@ -397,7 +397,7 @@ bool PhonebookNewContact::onInput(const InputEvent &inputEvent) } } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow", gui::ShowMode::GUI_SHOW_RETURN ); return true; } diff --git a/module-apps/application-phonebook/windows/PhonebookNewContact.hpp b/module-apps/application-phonebook/windows/PhonebookNewContact.hpp index ccbc4bd7f..9e1cb9ef2 100644 --- a/module-apps/application-phonebook/windows/PhonebookNewContact.hpp +++ b/module-apps/application-phonebook/windows/PhonebookNewContact.hpp @@ -87,7 +87,7 @@ public: // virtual methods bool onInput(const InputEvent &inputEvent) override; - void onBeforeShow(ShowMode mode, uint32_t command, SwitchData *data) override; + void onBeforeShow(ShowMode mode, SwitchData *data) override; void rebuild() override; void buildInterface() override; diff --git a/module-apps/application-settings/windows/LanguageWindow.cpp b/module-apps/application-settings/windows/LanguageWindow.cpp index 46bad0183..83401b5d0 100644 --- a/module-apps/application-settings/windows/LanguageWindow.cpp +++ b/module-apps/application-settings/windows/LanguageWindow.cpp @@ -119,7 +119,7 @@ gui::Item* LanguageWindow::addOptionLabel( const std::string& text, std::functio } -void LanguageWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void LanguageWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { setFocusItem( options[0] ); } @@ -142,7 +142,7 @@ bool LanguageWindow::onInput( const InputEvent& inputEvent ) { LOG_INFO("Enter pressed"); } else if( inputEvent.keyCode == KeyCode::KEY_RF ) { - application->switchWindow( "MainWindow", 0, nullptr ); + application->switchWindow( "MainWindow", gui::ShowMode::GUI_SHOW_RETURN ); return true; } diff --git a/module-apps/application-settings/windows/LanguageWindow.hpp b/module-apps/application-settings/windows/LanguageWindow.hpp index 494684e25..1f26444ad 100644 --- a/module-apps/application-settings/windows/LanguageWindow.hpp +++ b/module-apps/application-settings/windows/LanguageWindow.hpp @@ -36,7 +36,7 @@ public: //virtual methods bool onInput( const InputEvent& inputEvent ) override; - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; void rebuild() override; void buildInterface() override; diff --git a/module-apps/application-settings/windows/SettingsMainWindow.cpp b/module-apps/application-settings/windows/SettingsMainWindow.cpp index a921d0825..55339391e 100644 --- a/module-apps/application-settings/windows/SettingsMainWindow.cpp +++ b/module-apps/application-settings/windows/SettingsMainWindow.cpp @@ -76,7 +76,7 @@ void SettingsMainWindow::buildInterface() { //add option language option options.push_back( addOptionLabel( utils::localize.get("app_settings_language"), [=](gui::Item&){ LOG_INFO("switching to language page" ); - application->switchWindow("Languages", 0, nullptr ); + application->switchWindow( "Languages" ); return true;} )); //add option security option @@ -124,7 +124,7 @@ gui::Item* SettingsMainWindow::addOptionLabel( const std::string& text, std::fun } -void SettingsMainWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void SettingsMainWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { setFocusItem( options[0] ); } diff --git a/module-apps/application-settings/windows/SettingsMainWindow.hpp b/module-apps/application-settings/windows/SettingsMainWindow.hpp index 1afaeb5db..07999ed99 100644 --- a/module-apps/application-settings/windows/SettingsMainWindow.hpp +++ b/module-apps/application-settings/windows/SettingsMainWindow.hpp @@ -36,7 +36,7 @@ public: //virtual methods bool onInput( const InputEvent& inputEvent ) override; - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; void rebuild() override; void buildInterface() override; diff --git a/module-apps/application-viewer/windows/ViewWindow.cpp b/module-apps/application-viewer/windows/ViewWindow.cpp index 885e32ccd..6bd2e3a8b 100644 --- a/module-apps/application-viewer/windows/ViewWindow.cpp +++ b/module-apps/application-viewer/windows/ViewWindow.cpp @@ -121,7 +121,7 @@ ViewWindow::~ViewWindow() { destroyInterface(); } -void ViewWindow::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void ViewWindow::onBeforeShow( ShowMode mode, SwitchData* data ) { currentState = 0; if( states.size() ) diff --git a/module-apps/application-viewer/windows/ViewWindow.hpp b/module-apps/application-viewer/windows/ViewWindow.hpp index 9112e389d..fcad14af2 100644 --- a/module-apps/application-viewer/windows/ViewWindow.hpp +++ b/module-apps/application-viewer/windows/ViewWindow.hpp @@ -71,7 +71,7 @@ public: ViewWindow( app::Application* app ); virtual ~ViewWindow(); - void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) override; + void onBeforeShow( ShowMode mode, SwitchData* data ) override; bool onInput( const InputEvent& inputEvent ) override; void rebuild() override; diff --git a/module-apps/messages/AppMessage.hpp b/module-apps/messages/AppMessage.hpp index 08c187333..d7199edf7 100644 --- a/module-apps/messages/AppMessage.hpp +++ b/module-apps/messages/AppMessage.hpp @@ -74,20 +74,22 @@ public: class AppSwitchWindowMessage : public AppMessage { protected: - std::string window; - uint32_t command; - std::unique_ptr data; + std::string window_; + gui::ShowMode command_; + std::unique_ptr data_; public: - AppSwitchWindowMessage( const std::string& window, uint32_t command, std::unique_ptr data ) : - AppMessage( MessageType::AppSwitchWindow ), - window{window}, - command{ command }, - data {std::move(data)} {}; - virtual ~AppSwitchWindowMessage() {}; + AppSwitchWindowMessage() = delete; - std::string getWindowName() { return window; }; - const uint32_t& getCommand() { return command; }; - std::unique_ptr& getData() { return data; }; + AppSwitchWindowMessage( const std::string& window, std::unique_ptr data, gui::ShowMode command = gui::ShowMode::GUI_SHOW_INIT) : + AppMessage( MessageType::AppSwitchWindow ), + window_{window}, + command_{ command }, + data_ {std::move(data)} {}; + virtual ~AppSwitchWindowMessage() = default; + + std::string getWindowName() const { return window_; }; + gui::ShowMode getCommand() const { return command_; }; + std::unique_ptr& getData() { return data_; }; }; class AppInputEventMessage : public AppMessage { diff --git a/module-gui/gui/widgets/Window.cpp b/module-gui/gui/widgets/Window.cpp index edf02ac3a..ea154004c 100644 --- a/module-gui/gui/widgets/Window.cpp +++ b/module-gui/gui/widgets/Window.cpp @@ -25,7 +25,7 @@ Window::Window( std::string name, uint32_t id ) : Window::~Window() { } -void Window::onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ) { +void Window::onBeforeShow( ShowMode mode, SwitchData* data ) { } void Window::getRefreshArea( RefreshModes& mode, uint16_t& x, uint16_t&y, uint16_t& w, uint16_t& h ) { diff --git a/module-gui/gui/widgets/Window.hpp b/module-gui/gui/widgets/Window.hpp index 35cd96e65..e5ac50a5e 100644 --- a/module-gui/gui/widgets/Window.hpp +++ b/module-gui/gui/widgets/Window.hpp @@ -32,7 +32,7 @@ public: virtual ~Window(); Item* getFocusItem(){return focusItem; }; - virtual void onBeforeShow( ShowMode mode, uint32_t command, SwitchData* data ); + virtual void onBeforeShow( ShowMode mode, SwitchData* data ); virtual void getRefreshArea( RefreshModes& mode, uint16_t& x, uint16_t&y, uint16_t& w, uint16_t& h ); virtual void setFocusItem( Item* item ); virtual int getWindowID() {return windowID; };