// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md #pragma once #include "AlarmOptionsItem.hpp" #include #include #include #include #include namespace gui { class AlarmMusicOptionsItem : public AlarmOptionsItem { private: std::function navBarTemporaryMode = nullptr; std::function navBarRestoreFromTemporaryMode = nullptr; /// pointer to audio operations which allows to make audio preview std::vector alarmSoundList; std::vector getMusicFilesList(); public: AlarmMusicOptionsItem(app::ApplicationCommon *app, const std::string &description, std::shared_ptr player, std::function navBarTemporaryMode = nullptr, std::function navBarRestoreFromTemporaryMode = nullptr); private: [[nodiscard]] std::string getTitle(const std::string &filePath); [[nodiscard]] std::string getFilePath(const std::string &title); }; } /* namespace gui */