M image/system_a/data/lang/Deutsch.json => image/system_a/data/lang/Deutsch.json +1 -0
@@ 308,6 308,7 @@
"app_messages_thread_not_sent": "Nicht gesendet: ",
"app_messages_thread_you": "Sie: ",
"app_messages_title_main": "Nachrichten",
+ "app_messages_old_messages": "Alte Nachrichten",
"app_music_player_albums": "<text color='9'>Alben</text>",
"app_music_player_all_songs": "Alle Lieder",
"app_music_player_artists": "<text color='9'>K\u00fcnstler</text>",
M image/system_a/data/lang/English.json => image/system_a/data/lang/English.json +1 -0
@@ 311,6 311,7 @@
"app_messages_thread_not_sent": "Not sent: ",
"app_messages_thread_you": "You: ",
"app_messages_title_main": "Messages",
+ "app_messages_old_messages": "Old Messages",
"app_music_player_albums": "<text color='9'>Albums</text>",
"app_music_player_all_songs": "<text><b>All songs</b></text>",
"app_music_player_artists": "<text color='9'>Artists</text>",
M image/system_a/data/lang/Espanol.json => image/system_a/data/lang/Espanol.json +1 -0
@@ 307,6 307,7 @@
"app_messages_thread_not_sent": "No enviado: ",
"app_messages_thread_you": "T\u00fa: ",
"app_messages_title_main": "Mensajes",
+ "app_messages_old_messages": "Mensajes antiguos",
"app_music_player_albums": "<text color = '9'> \u00c1lbumes </text>",
"app_music_player_all_songs": "Todas las canciones",
"app_music_player_artists": "<text color = '9'> Artistas </text>",
M image/system_a/data/lang/Francais.json => image/system_a/data/lang/Francais.json +1 -0
@@ 275,6 275,7 @@
"app_messages_thread_not_sent": "Pas envoy\u00e9: ",
"app_messages_thread_you": "Vous: ",
"app_messages_title_main": "Messages",
+ "app_messages_old_messages": "Anciens messages",
"app_music_player_albums": "<text color='9'>Albums</text>",
"app_music_player_all_songs": "Toutes les chansons",
"app_music_player_artists": "<text color='9'>Artistes</text>",
M image/system_a/data/lang/Polski.json => image/system_a/data/lang/Polski.json +1 -0
@@ 300,6 300,7 @@
"app_messages_thread_not_sent": "Niewys\u0142ane: ",
"app_messages_thread_you": "Ty: ",
"app_messages_title_main": "Wiadomo\u015bci",
+ "app_messages_old_messages": "Stare Wiadomo\u015bci",
"app_music_player_albums": "<text color='9'>Albumy</text>",
"app_music_player_all_songs": "Wszystkie utwory",
"app_music_player_artists": "<text color='9'>Wykonawcy</text>",
M image/system_a/data/lang/Svenska.json => image/system_a/data/lang/Svenska.json +1 -0
@@ 170,6 170,7 @@
"app_messages_thread_not_sent": "Ej skickat: ",
"app_messages_thread_you": "Du: ",
"app_messages_title_main": "Meddelanden",
+ "app_messages_old_messages": "Gamla meddelanden",
"app_music_player_albums": "<text color='9'>Album</text>",
"app_music_player_all_songs": "Alla l\u00e5tar",
"app_music_player_artists": "<text color='9'>Artister</text>",
M module-apps/application-messages/data/MessagesStyle.hpp => module-apps/application-messages/data/MessagesStyle.hpp +8 -0
@@ 106,6 106,14 @@ namespace style
inline constexpr uint32_t w = style::listview::body_width_with_scroll;
} // namespace smsList
+ namespace oldSmsLabel
+ {
+ inline constexpr std::uint32_t x = style::messages::smsList::x;
+ inline constexpr std::uint32_t y = style::messages::smsList::y;
+ inline constexpr std::uint32_t h = 25;
+ inline constexpr std::uint32_t w = style::messages::smsList::w;
+ } // namespace oldSmsLabel
+
namespace templates
{
namespace list
M module-apps/application-messages/windows/SMSThreadViewWindow.cpp => module-apps/application-messages/windows/SMSThreadViewWindow.cpp +27 -0
@@ 35,6 35,33 @@ namespace gui
listview::ScrollBarType::Proportional);
smsList->setOrientation(listview::Orientation::BottomTop);
+ // Text for Old Messages
+ oldMessagesText = new gui::Text(this, 0, 0, 0, 0, ExpandMode::None);
+ oldMessagesText->setText(utils::translate("app_messages_old_messages"));
+ oldMessagesText->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
+ oldMessagesText->setMaximumSize(style::window::default_body_width, style::messages::oldSmsLabel::h);
+ oldMessagesText->setFont(style::window::font::verysmall);
+
+ // Arrow sign for Old Messages
+ oldMessagesArrow = new gui::Image("old_messages_arrow_24px_W_M");
+
+ // HBox for Old Messages
+ oldMessagesHBox = new gui::HBox(this,
+ style::messages::oldSmsLabel::x,
+ style::messages::oldSmsLabel::y,
+ style::messages::oldSmsLabel::w,
+ style::messages::oldSmsLabel::h);
+ oldMessagesHBox->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Top));
+ oldMessagesHBox->setEdges(gui::RectangleEdge::None);
+ oldMessagesHBox->addWidget(oldMessagesText);
+ oldMessagesHBox->addWidget(oldMessagesArrow);
+ oldMessagesHBox->visible = false;
+
+ // Set callback to switch on/off visible of Old Message Label
+ smsList->onElementsAboveOfCurrentPageChangeCallback = [this](const signed int elementsAboveOfCurrentPageCount) {
+ oldMessagesHBox->visible = (elementsAboveOfCurrentPageCount > 0);
+ };
+
setFocusItem(smsList);
}
M module-apps/application-messages/windows/SMSThreadViewWindow.hpp => module-apps/application-messages/windows/SMSThreadViewWindow.hpp +4 -1
@@ 20,7 20,10 @@ namespace gui
{
private:
std::shared_ptr<SMSThreadModel> smsModel;
- gui::ListView *smsList = nullptr;
+ gui::ListView *smsList = nullptr;
+ gui::HBox *oldMessagesHBox = nullptr;
+ gui::Text *oldMessagesText = nullptr;
+ gui::Image *oldMessagesArrow = nullptr;
void requestContact(unsigned int numberID);
bool handleContactQueryResponse(db::QueryResult *);
M module-gui/gui/widgets/ListViewEngine.cpp => module-gui/gui/widgets/ListViewEngine.cpp +14 -2
@@ 154,7 154,7 @@ namespace gui
if (direction == listview::Direction::Top) {
const int position = currentPageSize - 1 - index;
- index = std::abs(position);
+ index = std::abs(position);
}
return index;
@@ 230,6 230,8 @@ namespace gui
rebuildList(request.first, request.second);
}
+ updateCountOfElementsAboveCurrentPage();
+
fillFirstPage();
}
@@ 382,6 384,8 @@ namespace gui
}
}
+ updateCountOfElementsAboveCurrentPage();
+
reSendLastRebuildRequest();
return false;
}
@@ 438,7 442,7 @@ namespace gui
const unsigned diff = currentPageSize < body->getVisibleChildrenCount()
? 0
: currentPageSize - body->getVisibleChildrenCount();
- currentPageSize = body->getVisibleChildrenCount();
+ currentPageSize = body->getVisibleChildrenCount();
if (direction == listview::Direction::Top) {
startIndex += diff;
@@ 538,4 542,12 @@ namespace gui
return true;
}
+
+ void ListViewEngine::updateCountOfElementsAboveCurrentPage()
+ {
+ unsigned countOfElementsAboveCurrentPage = startIndex;
+ if (onElementsAboveOfCurrentPageChangeCallback) {
+ onElementsAboveOfCurrentPageChangeCallback(countOfElementsAboveCurrentPage);
+ }
+ }
} /* namespace gui */
M module-gui/gui/widgets/ListViewEngine.hpp => module-gui/gui/widgets/ListViewEngine.hpp +5 -0
@@ 200,6 200,11 @@ namespace gui
[[nodiscard]] bool isEmpty() const noexcept;
std::function<void()> emptyListCallback;
std::function<void()> notEmptyListCallback;
+
+ /// Update the number of items above the current page
+ void updateCountOfElementsAboveCurrentPage();
+ /// Callback on update the number of items above the current page
+ std::function<void(const unsigned elementsAboveOfCurrentPageCount)> onElementsAboveOfCurrentPageChangeCallback;
};
} /* namespace gui */
M products/PurePhone/CMakeLists.txt => products/PurePhone/CMakeLists.txt +2 -2
@@ 160,14 160,14 @@ download_asset_release_json(json-common-target
${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_common.json
${SYSROOT_PATH}/
MuditaOSPublicAssets
- 0.0.9
+ 0.0.10
${MUDITA_CACHE_DIR}
)
download_asset_release_json(json-community-target
${CMAKE_CURRENT_SOURCE_DIR}/assets/assets_community.json
${SYSROOT_PATH}/system_a/
MuditaOSPublicAssets
- 0.0.8
+ 0.0.10
${MUDITA_CACHE_DIR}
)
download_asset_json(json-rt1051-target
M products/PurePhone/assets/assets_common.json => products/PurePhone/assets/assets_common.json +1 -0
@@ 171,6 171,7 @@
{"name":"release.tgz", "tarfile": "./image/assets/images/logo_W_G.vpi", "output": "system_a/assets/images/logo_W_G.vpi" },
{"name":"release.tgz", "tarfile": "./image/assets/images/quote_W_G.vpi", "output": "system_a/assets/images/quote_W_G.vpi" },
{"name":"release.tgz", "tarfile" :"./image/assets/images/common/alarm_colon_select_W_M.vpi", "output": "system_a/assets/images/alarm_colon_select_W_M.vpi"},
+ {"name":"release.tgz", "tarfile": "./image/assets/images/messages/old_messages_arrow_24px_W_M.vpi", "output": "system_a/assets/images/messages/old_messages_arrow_24px_W_M.vpi" },
{"name" : "release_audio.tgz", "tarfile": "./image/assets/audio/pure/meditation/gong.mp3", "output": "system_a/assets/audio/meditation/gong.mp3"},
{"name" : "release_audio.tgz", "tarfile": "./image/assets/audio/pure/sms/sms_drum.mp3", "output": "system_a/assets/audio/sms/sms_drum.mp3"},
M pure_changelog.md => pure_changelog.md +1 -0
@@ 20,6 20,7 @@
* Fixed scenario when Alarm not being handled properly during a phone call
* Fixed handsfree device still ringing after caller has hung up
* Fixed missing contact entries when scrolling through the contact list
+* Fixed misunderstanding holes in sms conversations
## [1.7.2 2023-07-28]