From b4875c8a852e33bdd175d236f6557ae29f8c4a82 Mon Sep 17 00:00:00 2001 From: Jakub Pyszczak Date: Tue, 2 Mar 2021 09:26:10 +0100 Subject: [PATCH] [EGD-5983] Remove volume label from music app Removed volume label from application music player. Volume level should be shown using new popup system. Introduced minor fixes in music player. --- .../ApplicationMusicPlayer.cpp | 17 ++--- .../ApplicationMusicPlayer.hpp | 12 ++-- .../models/SongsModel.cpp | 7 +- .../models/SongsModel.hpp | 4 +- .../widgets/SongItem.cpp | 4 +- .../widgets/SongItem.hpp | 4 +- .../windows/MusicPlayerAllSongsWindow.cpp | 71 +------------------ .../windows/MusicPlayerAllSongsWindow.hpp | 16 +---- 8 files changed, 28 insertions(+), 107 deletions(-) diff --git a/module-apps/application-music-player/ApplicationMusicPlayer.cpp b/module-apps/application-music-player/ApplicationMusicPlayer.cpp index d80695a538007f67f3588bffd07a8d22ebca7019..a7d90bec36375dc3458b926909f2a36b20c8dbd1 100644 --- a/module-apps/application-music-player/ApplicationMusicPlayer.cpp +++ b/module-apps/application-music-player/ApplicationMusicPlayer.cpp @@ -17,7 +17,7 @@ namespace app ApplicationMusicPlayer::ApplicationMusicPlayer(std::string name, std::string parent, StartInBackground startInBackground) - : Application(name, parent, startInBackground, 4096) + : Application(std::move(name), std::move(parent), startInBackground, 4096) { LOG_INFO("ApplicationMusicPlayer::create"); connect(typeid(AudioStartPlaybackResponse), [&](sys::Message *msg) { @@ -26,18 +26,14 @@ namespace app }); } - ApplicationMusicPlayer::~ApplicationMusicPlayer() - { - LOG_INFO("ApplicationMusicPlayer::destroy"); - } - void ApplicationMusicPlayer::handlePlayResponse(sys::Message *msg) { auto startResponse = static_cast(msg); currentFileToken = startResponse->token; } - sys::MessagePointer ApplicationMusicPlayer::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) + sys::MessagePointer ApplicationMusicPlayer::DataReceivedHandler(sys::DataMessage *msgl, + [[maybe_unused]] sys::ResponseMessage *resp) { return Application::DataReceivedHandler(msgl); } @@ -46,8 +42,9 @@ namespace app sys::ReturnCodes ApplicationMusicPlayer::InitHandler() { auto ret = Application::InitHandler(); - if (ret != sys::ReturnCodes::Success) + if (ret != sys::ReturnCodes::Success) { return ret; + } createUserInterface(); @@ -83,8 +80,8 @@ namespace app auto time = utils::time::Scoped("fetch tags time"); for (const auto &entry : std::filesystem::directory_iterator(musicFolder)) { if (!std::filesystem::is_directory(entry)) { - const auto filePath = entry.path(); - auto fileTags = getFileTags(filePath); + const auto &filePath = entry.path(); + const auto fileTags = getFileTags(filePath); if (fileTags) { musicFiles.push_back(*fileTags); LOG_DEBUG(" - file %s found", entry.path().c_str()); diff --git a/module-apps/application-music-player/ApplicationMusicPlayer.hpp b/module-apps/application-music-player/ApplicationMusicPlayer.hpp index 31ff6ff497d4bd03ccfe7d0d51f29dcb284cce59..f59a4d31ae363e145f9c85ed3640e73a9dceaab0 100644 --- a/module-apps/application-music-player/ApplicationMusicPlayer.hpp +++ b/module-apps/application-music-player/ApplicationMusicPlayer.hpp @@ -29,16 +29,16 @@ namespace app std::optional currentFileToken; public: - ApplicationMusicPlayer(std::string name = name_music_player, - std::string parent = {}, - StartInBackground startInBackground = {false}); - virtual ~ApplicationMusicPlayer(); + explicit ApplicationMusicPlayer(std::string name = name_music_player, + std::string parent = {}, + StartInBackground startInBackground = {false}); - sys::MessagePointer DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) override; + sys::MessagePointer DataReceivedHandler(sys::DataMessage *msgl, + [[maybe_unused]] sys::ResponseMessage *resp) override; sys::ReturnCodes InitHandler() override; sys::ReturnCodes DeinitHandler() override; - sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override final + sys::ReturnCodes SwitchPowerModeHandler(const sys::ServicePowerMode mode) override { return sys::ReturnCodes::Success; } diff --git a/module-apps/application-music-player/models/SongsModel.cpp b/module-apps/application-music-player/models/SongsModel.cpp index 17dd4cdc8ceb5073b3920baa8284c5f3c06162fd..6fba4c44f146200fee976bb02226a377948a71ae 100644 --- a/module-apps/application-music-player/models/SongsModel.cpp +++ b/module-apps/application-music-player/models/SongsModel.cpp @@ -32,10 +32,11 @@ auto SongsModel::getItem(gui::Order order) -> gui::ListItem * return getRecord(order); } -void SongsModel::createData(std::vector songsList, std::function func) +void SongsModel::createData(const std::vector &songsList, + std::function func) { - for (auto song : songsList) { - auto item = new gui::SongItem(song.title, song.artist, utils::time::Duration(song.total_duration_s).str()); + for (const auto &song : songsList) { + auto item = new gui::SongItem(song.artist, song.title, utils::time::Duration(song.total_duration_s).str()); item->activatedCallback = [=](gui::Item &) { func(song.filePath); diff --git a/module-apps/application-music-player/models/SongsModel.hpp b/module-apps/application-music-player/models/SongsModel.hpp index a93769091c70f41d33cacbaea2b6f4ce636deb90..644030f2cedcda65a3e61b0588c95c2bc185a875 100644 --- a/module-apps/application-music-player/models/SongsModel.hpp +++ b/module-apps/application-music-player/models/SongsModel.hpp @@ -15,10 +15,10 @@ class SongsModel : public app::InternalModel, public gui::ListI app::Application *application = nullptr; public: - SongsModel(app::Application *app); + explicit SongsModel(app::Application *app); void clearData(); - void createData(std::vector songsList, std::function); + void createData(const std::vector &songsList, std::function); [[nodiscard]] auto requestRecordsCount() -> unsigned int override; diff --git a/module-apps/application-music-player/widgets/SongItem.cpp b/module-apps/application-music-player/widgets/SongItem.cpp index 2b5e10760a4e10fc5a188121ef567a1648847886..896f6c5caae6b4c2d01d10ac2731961a06b927f5 100644 --- a/module-apps/application-music-player/widgets/SongItem.cpp +++ b/module-apps/application-music-player/widgets/SongItem.cpp @@ -8,7 +8,7 @@ namespace gui using namespace musicPlayerStyle; - SongItem::SongItem(std::string songName, std::string authorName, std::string duration) + SongItem::SongItem(const std::string &authorName, const std::string &songName, const std::string &duration) { setMinimumSize(songItem::w, songItem::h); setMargins(Margins(0, style::margins::small, 0, style::margins::small)); @@ -64,7 +64,7 @@ namespace gui authorText->setEditMode(EditMode::Browse); authorText->setText(authorName); - dimensionChangedCallback = [&](gui::Item &, const BoundingBox &newDim) -> bool { + dimensionChangedCallback = [&]([[maybe_unused]] gui::Item &item, const BoundingBox &newDim) -> bool { vBox->setArea({0, 0, newDim.w, newDim.h}); return true; }; diff --git a/module-apps/application-music-player/widgets/SongItem.hpp b/module-apps/application-music-player/widgets/SongItem.hpp index e362e33b0019a07fb721facecde36c2c82e31338..923ef8b21942f564c411dc2f76188a41379ab2c0 100644 --- a/module-apps/application-music-player/widgets/SongItem.hpp +++ b/module-apps/application-music-player/widgets/SongItem.hpp @@ -16,9 +16,9 @@ namespace gui { public: - SongItem(std::string authorName, std::string songName, std::string duration); + SongItem(const std::string &authorName, const std::string &songName, const std::string &duration); - ~SongItem() override = default; + private: VBox *vBox = nullptr; HBox *firstHBox = nullptr; HBox *secondHBox = nullptr; diff --git a/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.cpp b/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.cpp index 213b2ce7b678200e4cddfedcc74447ace0390b3c..50662e20dd3df3f40bc3c57f833d009d218db349 100644 --- a/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.cpp +++ b/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.cpp @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include namespace gui { @@ -26,25 +26,6 @@ namespace gui buildInterface(); } - auto MusicPlayerAllSongsWindow::setCurrentVolume(const std::function &successCallback, - const std::function &errCallback) - -> bool - { - audio::Volume volume; - const auto ret = application->getCurrentVolume(volume); - if (ret == audio::RetCode::Success) { - if (successCallback != nullptr) { - successCallback(volume); - } - } - else { - if (errCallback != nullptr) { - errCallback(volume); - } - } - return ret == audio::RetCode::Success; - } - void MusicPlayerAllSongsWindow::buildInterface() { AppWindow::buildInterface(); @@ -62,35 +43,6 @@ namespace gui songsModel, style::listview::ScrollBarType::Fixed); - auto successCallback = [this](const audio::Volume &volume) { - auto volumeText = audio::GetVolumeText(volume); - soundLabel = new gui::Label(this, - musicPlayerStyle::volumeLabel::x, - musicPlayerStyle::volumeLabel::y, - musicPlayerStyle::volumeLabel::w, - musicPlayerStyle::volumeLabel::h, - volumeText); - }; - auto errCallback = [this](const audio::Volume &volume) { - soundLabel = new gui::Label(this, - musicPlayerStyle::volumeLabel::x, - musicPlayerStyle::volumeLabel::y, - musicPlayerStyle::volumeLabel::w, - musicPlayerStyle::volumeLabel::h, - musicPlayerStyle::volumeLabel::defaultVolumeLabelText); - }; - setCurrentVolume(successCallback, errCallback); - - soundLabel->setMargins(gui::Margins(musicPlayerStyle::volumeLabel::leftMargin, - musicPlayerStyle::volumeLabel::topMargin, - musicPlayerStyle::volumeLabel::rightMargin, - musicPlayerStyle::volumeLabel::bottomMargin)); - soundLabel->setFilled(false); - soundLabel->setPenFocusWidth(style::window::default_border_focus_w); - soundLabel->setPenWidth(style::window::default_border_no_focus_w); - soundLabel->setFont(style::window::font::medium); - soundLabel->setAlignment(gui::Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Top)); - setFocusItem(songsList); } @@ -99,7 +51,7 @@ namespace gui erase(); } - void MusicPlayerAllSongsWindow::onBeforeShow(ShowMode mode, SwitchData *data) + void MusicPlayerAllSongsWindow::onBeforeShow([[maybe_unused]] ShowMode mode, [[maybe_unused]] SwitchData *data) { auto app = dynamic_cast(application); assert(app); @@ -108,23 +60,4 @@ namespace gui [app](const std::string &fileName) { return app->play(fileName); }); } - bool MusicPlayerAllSongsWindow::onDatabaseMessage(sys::Message *msgl) - { - return false; - } - - bool MusicPlayerAllSongsWindow::onInput(const InputEvent &inputEvent) - { - auto ret = AppWindow::onInput(inputEvent); - const auto keyCode = inputEvent.keyCode; - if (keyCode == KeyCode::KEY_VOLUP || keyCode == KeyCode::KEY_VOLDN || keyCode == KeyCode::KEY_ENTER) { - auto successCallback = [this](const audio::Volume &volume) { - auto volumeText = audio::GetVolumeText(volume); - soundLabel->setText(volumeText); - }; - return setCurrentVolume(successCallback, nullptr); - } - return ret; - } - } /* namespace gui */ diff --git a/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.hpp b/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.hpp index 0672c0d7d467b23c3090b8ea7f1453ffb9b07ec8..a3e10f936ca1319cd2fc32e6148141ece6317b4e 100644 --- a/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.hpp +++ b/module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.hpp @@ -5,36 +5,26 @@ #include "application-music-player/models/SongsModel.hpp" #include "AppWindow.hpp" -#include "ListView.hpp" #include -#include -#include - namespace gui { - + class ListView; class MusicPlayerAllSongsWindow : public AppWindow { std::shared_ptr songsModel = nullptr; ListView *songsList = nullptr; - Label *soundLabel = nullptr; - - auto setCurrentVolume(const std::function &successCallback, - const std::function &errCallback = nullptr) -> bool; public: - MusicPlayerAllSongsWindow(app::Application *app); + explicit MusicPlayerAllSongsWindow(app::Application *app); // virtual methods - void onBeforeShow(ShowMode mode, SwitchData *data) override; + void onBeforeShow([[maybe_unused]] ShowMode mode, [[maybe_unused]] SwitchData *data) override; void rebuild() override; void buildInterface() override; void destroyInterface() override; - bool onDatabaseMessage(sys::Message *msg) override; - bool onInput(const InputEvent &inputEvent) final; }; } /* namespace gui */