From 6ebec9ef43f8a0ae1db08cb1272af07319eeb2a8 Mon Sep 17 00:00:00 2001 From: Przemyslaw Brudny Date: Wed, 3 Jun 2020 14:05:49 +0200 Subject: [PATCH] [EGD-3094] PR changes. --- module-apps/application-calllog/CalllogModel.cpp | 2 +- module-apps/application-calllog/CalllogModel.hpp | 2 +- .../models/SearchResultsModel.cpp | 2 +- .../models/SearchResultsModel.hpp | 2 +- .../application-messages/models/ThreadModel.cpp | 2 +- .../application-messages/models/ThreadModel.hpp | 2 +- .../application-messages/widgets/SMSTemplateItem.cpp | 4 ++-- .../application-messages/widgets/SMSTemplateItem.hpp | 12 ++++++------ .../widgets/SMSTemplateModel.cpp | 4 ++-- .../widgets/SMSTemplateModel.hpp | 2 +- module-apps/application-notes/NotesModel.cpp | 3 +-- module-apps/application-notes/NotesModel.hpp | 2 +- .../application-phonebook/models/PhonebookModel.cpp | 2 +- .../application-phonebook/models/PhonebookModel.hpp | 7 ++----- .../models/SearchResultsModel.cpp | 2 +- .../models/SearchResultsModel.hpp | 2 +- module-gui/gui/widgets/ListItemProvider.hpp | 2 +- module-gui/gui/widgets/ListView.cpp | 8 ++++++-- 18 files changed, 31 insertions(+), 31 deletions(-) diff --git a/module-apps/application-calllog/CalllogModel.cpp b/module-apps/application-calllog/CalllogModel.cpp index 193c849d4..61b48547b 100644 --- a/module-apps/application-calllog/CalllogModel.cpp +++ b/module-apps/application-calllog/CalllogModel.cpp @@ -62,7 +62,7 @@ bool CalllogModel::updateRecords(std::unique_ptr> rec return true; } -int CalllogModel::getMinimalItemHeight() +unsigned int CalllogModel::getMinimalItemHeight() { return gui::clItemStyle::h; diff --git a/module-apps/application-calllog/CalllogModel.hpp b/module-apps/application-calllog/CalllogModel.hpp index 36fcf2ff8..0217bebb8 100644 --- a/module-apps/application-calllog/CalllogModel.hpp +++ b/module-apps/application-calllog/CalllogModel.hpp @@ -35,7 +35,7 @@ class CalllogModel : public app::DatabaseModel, public gui::ListI void requestRecords(const uint32_t offset, const uint32_t limit) override; // virtual methods for ListViewProvider - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; gui::ListItem *getItem(gui::Order order) override; int getItemCount() const override { diff --git a/module-apps/application-messages/models/SearchResultsModel.cpp b/module-apps/application-messages/models/SearchResultsModel.cpp index 791031e38..e8b9b9bff 100644 --- a/module-apps/application-messages/models/SearchResultsModel.cpp +++ b/module-apps/application-messages/models/SearchResultsModel.cpp @@ -11,7 +11,7 @@ namespace gui::model SearchResultsModel::SearchResultsModel(app::Application *app) : BaseThreadRecordModel(app) {} - int SearchResultsModel::getMinimalItemHeight() + unsigned int SearchResultsModel::getMinimalItemHeight() { return style::window::messages::sms_thread_item_h; diff --git a/module-apps/application-messages/models/SearchResultsModel.hpp b/module-apps/application-messages/models/SearchResultsModel.hpp index 7ce009e61..ea0ea4d30 100644 --- a/module-apps/application-messages/models/SearchResultsModel.hpp +++ b/module-apps/application-messages/models/SearchResultsModel.hpp @@ -16,7 +16,7 @@ namespace gui::model public: SearchResultsModel(app::Application *app); - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; ListItem *getItem(Order order) override; /// resquest data for model - not needed void requestRecordsCount() override; diff --git a/module-apps/application-messages/models/ThreadModel.cpp b/module-apps/application-messages/models/ThreadModel.cpp index c38fe0e95..4179b4477 100644 --- a/module-apps/application-messages/models/ThreadModel.cpp +++ b/module-apps/application-messages/models/ThreadModel.cpp @@ -7,7 +7,7 @@ ThreadModel::ThreadModel(app::Application *app) : BaseThreadRecordModel(app) {} -int ThreadModel::getMinimalItemHeight() +unsigned int ThreadModel::getMinimalItemHeight() { return style::window::messages::sms_thread_item_h; diff --git a/module-apps/application-messages/models/ThreadModel.hpp b/module-apps/application-messages/models/ThreadModel.hpp index 6d5007af8..715d6c032 100644 --- a/module-apps/application-messages/models/ThreadModel.hpp +++ b/module-apps/application-messages/models/ThreadModel.hpp @@ -7,6 +7,6 @@ class ThreadModel : public BaseThreadRecordModel public: ThreadModel(app::Application *app); - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; gui::ListItem *getItem(gui::Order order) override; }; diff --git a/module-apps/application-messages/widgets/SMSTemplateItem.cpp b/module-apps/application-messages/widgets/SMSTemplateItem.cpp index 4691a3b10..615b4d191 100644 --- a/module-apps/application-messages/widgets/SMSTemplateItem.cpp +++ b/module-apps/application-messages/widgets/SMSTemplateItem.cpp @@ -7,8 +7,8 @@ namespace gui { SMSTemplateItem::SMSTemplateItem() { - setMinimumSize(smsTemplItemStyle::w, smsTemplItemStyle::h); - setMaximumSize(smsTemplItemStyle::w, smsTemplItemStyle::h); + setMinimumSize(style::smsTemplItem::w, style::smsTemplItem::h); + setMaximumSize(style::smsTemplItem::w, style::smsTemplItem::h); text = new gui::Label(this, 0, 0, 0, 0); style::window::decorateOption(text); diff --git a/module-apps/application-messages/widgets/SMSTemplateItem.hpp b/module-apps/application-messages/widgets/SMSTemplateItem.hpp index 10b7469fb..9cca93f9f 100644 --- a/module-apps/application-messages/widgets/SMSTemplateItem.hpp +++ b/module-apps/application-messages/widgets/SMSTemplateItem.hpp @@ -6,14 +6,14 @@ #include #include +namespace style::smsTemplItem +{ + constexpr uint32_t w = style::window::default_body_width; + constexpr uint32_t h = style::window::label::big_h; +} // namespace style::smsTemplItem + namespace gui { - namespace smsTemplItemStyle - { - constexpr uint32_t w = style::window::default_body_width; - constexpr uint32_t h = style::window::label::big_h; - } // namespace smsTemplItemStyle - class SMSTemplateItem : public ListItem { std::shared_ptr templ = nullptr; diff --git a/module-apps/application-messages/widgets/SMSTemplateModel.cpp b/module-apps/application-messages/widgets/SMSTemplateModel.cpp index b40c7980e..e13665e2a 100644 --- a/module-apps/application-messages/widgets/SMSTemplateModel.cpp +++ b/module-apps/application-messages/widgets/SMSTemplateModel.cpp @@ -43,10 +43,10 @@ bool SMSTemplateModel::updateRecords(std::unique_ptr, public gu uint32_t count) override; void requestRecords(const uint32_t offset, const uint32_t limit) override; - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; gui::ListItem *getItem(gui::Order order) override; int getItemCount() const override diff --git a/module-apps/application-notes/NotesModel.cpp b/module-apps/application-notes/NotesModel.cpp index bf1a962c2..b43d8499e 100644 --- a/module-apps/application-notes/NotesModel.cpp +++ b/module-apps/application-notes/NotesModel.cpp @@ -52,10 +52,9 @@ bool NotesModel::updateRecords(std::unique_ptr> records return true; } -int NotesModel::getMinimalItemHeight() +unsigned int NotesModel::getMinimalItemHeight() { - // refactor Notes Item!!! return 146; } diff --git a/module-apps/application-notes/NotesModel.hpp b/module-apps/application-notes/NotesModel.hpp index 40b7bea93..b67b01305 100644 --- a/module-apps/application-notes/NotesModel.hpp +++ b/module-apps/application-notes/NotesModel.hpp @@ -35,7 +35,7 @@ class NotesModel : public app::DatabaseModel, public gui::ListItemP void requestRecords(const uint32_t offset, const uint32_t limit) override; // virtual methods for ListViewProvider - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; gui::ListItem *getItem(gui::Order order) override; int getItemCount() const override { diff --git a/module-apps/application-phonebook/models/PhonebookModel.cpp b/module-apps/application-phonebook/models/PhonebookModel.cpp index 2cc5015e6..1e02d73cc 100644 --- a/module-apps/application-phonebook/models/PhonebookModel.cpp +++ b/module-apps/application-phonebook/models/PhonebookModel.cpp @@ -50,7 +50,7 @@ bool PhonebookModel::updateRecords(std::unique_ptr> r return true; } -int PhonebookModel::getMinimalItemHeight() +unsigned int PhonebookModel::getMinimalItemHeight() { return phonebookStyle::contactItem::h; } diff --git a/module-apps/application-phonebook/models/PhonebookModel.hpp b/module-apps/application-phonebook/models/PhonebookModel.hpp index 70e663d48..c0fcf695b 100644 --- a/module-apps/application-phonebook/models/PhonebookModel.hpp +++ b/module-apps/application-phonebook/models/PhonebookModel.hpp @@ -8,10 +8,7 @@ #include "Interface/ContactRecord.hpp" #include "ListItemProvider.hpp" #include "NotesRecord.hpp" -# -/* - * - */ + class PhonebookModel : public app::DatabaseModel, public gui::ListItemProvider { /** @@ -32,7 +29,7 @@ class PhonebookModel : public app::DatabaseModel, public gui::Lis void requestRecords(const uint32_t offset, const uint32_t limit) override; // virtual methods for ListViewProvider - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; gui::ListItem *getItem(gui::Order order) override; int getItemCount() const override diff --git a/module-apps/application-phonebook/models/SearchResultsModel.cpp b/module-apps/application-phonebook/models/SearchResultsModel.cpp index f9503d4d4..5d1349ff9 100644 --- a/module-apps/application-phonebook/models/SearchResultsModel.cpp +++ b/module-apps/application-phonebook/models/SearchResultsModel.cpp @@ -22,7 +22,7 @@ void SearchResultsModel::requestRecords(const uint32_t offset, const uint32_t li list->onProviderDataUpdate(); } -int SearchResultsModel::getMinimalItemHeight() +unsigned int SearchResultsModel::getMinimalItemHeight() { return phonebookStyle::contactItem::h; } diff --git a/module-apps/application-phonebook/models/SearchResultsModel.hpp b/module-apps/application-phonebook/models/SearchResultsModel.hpp index 176172966..6c96f7bc2 100644 --- a/module-apps/application-phonebook/models/SearchResultsModel.hpp +++ b/module-apps/application-phonebook/models/SearchResultsModel.hpp @@ -21,7 +21,7 @@ class SearchResultsModel : public gui::ListItemProvider virtual ~SearchResultsModel(); // virtual methods for ListViewProvider - int getMinimalItemHeight() override; + unsigned int getMinimalItemHeight() override; gui::ListItem *getItem(gui::Order order) override; int getItemCount() const override; diff --git a/module-gui/gui/widgets/ListItemProvider.hpp b/module-gui/gui/widgets/ListItemProvider.hpp index 9fbc35ce3..4f391c942 100644 --- a/module-gui/gui/widgets/ListItemProvider.hpp +++ b/module-gui/gui/widgets/ListItemProvider.hpp @@ -21,7 +21,7 @@ namespace gui virtual int getItemCount() const = 0; - virtual int getMinimalItemHeight() = 0; + virtual unsigned int getMinimalItemHeight() = 0; virtual ListItem *getItem(Order order) = 0; diff --git a/module-gui/gui/widgets/ListView.cpp b/module-gui/gui/widgets/ListView.cpp index 2baa775a0..e19e35077 100644 --- a/module-gui/gui/widgets/ListView.cpp +++ b/module-gui/gui/widgets/ListView.cpp @@ -1,7 +1,7 @@ -#include - #include "ListView.hpp" #include +#include "cassert" +#include namespace gui { @@ -18,6 +18,7 @@ namespace gui bool ListViewScroll::shouldShowScroll(int currentPageSize, int elementsCount) { + return ((parent->widgetArea.w > style::listview::scroll::min_space) && (parent->widgetArea.h > style::listview::scroll::min_space) && currentPageSize < elementsCount); } @@ -26,6 +27,7 @@ namespace gui { if (shouldShowScroll(currentPageSize, elementsCount)) { + assert(elementsCount != 0); double scrollStep = static_cast(parent->widgetArea.h) / static_cast(elementsCount); auto scrollH = scrollStep * currentPageSize; @@ -238,6 +240,8 @@ namespace gui int ListView::calculateMaxItemsOnPage() { + + assert(provider->getMinimalItemHeight() != 0); auto count = widgetArea.h / provider->getMinimalItemHeight(); return count;