mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-10-26 00:18:31 -04:00
* EGD-3087 WIP adding SMS Querry * EGD-3087 Added query virtual interface on Service top layer Service shouldn't implement query logic and should be proxying that. additionally: - small fixes in includes - shared service db name same way as apps and event manager * EGD-3087 Query - want to work on interface not on db * EGD-3087 Query gluecode works fine. Our query in SMS search calls getBySMSQuery Changes cut off before any potential orm interface layer * EGD-3087 WIP Interface in use * EGD-3087 Query for SMS search works as designed * EGD-3087 Query results should be on screen * EGD-3087 BUG workaround - need to deep refresh display to show data * EGD-3087 Searching for text from input works fine * EGD-3087 Showing results / or empty results depending on query * EGD-3087 Pre PR fixups * EGD-3087 Empty search - getting back to prewious window ignore current * EGD-3087 PR applied * EGD-3087 PR - style fixed * EGD-3087 Review - DB ListView handling moved to separate function * EGD-3087 Workaround: crash on use after free fix * EGD-3087 PR stylistic changes * EGD-3087 PR cleanup applied * EGD-3087 Added test for Query interface * EGD-3087 renamed getByQuery to getQuery & finished tests * EGD-3087 Post rebase fixup * EGD-3087 PR - moved ListView request part to separate function * EGD-3087 PR Fixups * EGD-3087 Post rebase style fix * EGD-3087 Added variable for DB service stack & const to getter function
46 lines
1.7 KiB
C++
46 lines
1.7 KiB
C++
#include "SearchStart.hpp"
|
|
#include "../ApplicationMessages.hpp"
|
|
#include <i18/i18.hpp>
|
|
#include <widgets/SearchBox.hpp>
|
|
#include <cassert>
|
|
|
|
namespace gui
|
|
{
|
|
|
|
SMSSearch::SMSSearch(app::Application *app) : AppWindow(app, name::window::thread_sms_search)
|
|
{
|
|
buildInterface();
|
|
setTitle(utils::localize.get("app_messages_title_main"));
|
|
bottomBar->setActive(BottomBar::Side::CENTER, true);
|
|
bottomBar->setActive(BottomBar::Side::RIGHT, true);
|
|
bottomBar->setText(BottomBar::Side::CENTER, utils::localize.get(style::strings::common::search));
|
|
bottomBar->setText(BottomBar::Side::RIGHT, utils::localize.get(style::strings::common::back));
|
|
body = new gui::Item();
|
|
body->setBoundingBox(bodySize());
|
|
addWidget(body);
|
|
auto text = searchBox(this, utils::localize.get("common_search_uc"), "search");
|
|
|
|
inputCallback = [=](Item &, const InputEvent &inputEvent) -> bool {
|
|
auto app = dynamic_cast<app::ApplicationMessages *>(application);
|
|
assert(app);
|
|
if (inputEvent.state != InputEvent::State::keyReleasedShort) {
|
|
return false;
|
|
}
|
|
if (inputEvent.keyCode == KeyCode::KEY_ENTER) {
|
|
auto search_text = text->getText();
|
|
app->showSearchResults(utils::localize.get("common_search_results") + ": " + std::string(search_text),
|
|
search_text);
|
|
}
|
|
return false;
|
|
};
|
|
|
|
setFocusItem(text);
|
|
}
|
|
|
|
bool SMSSearch::onInput(const InputEvent &inputEvent)
|
|
{
|
|
return AppWindow::onInput(inputEvent) || (inputCallback && inputCallback(*this, inputEvent));
|
|
}
|
|
|
|
} // namespace gui
|