M module-apps/application-alarm-clock/widgets/AlarmOptionsItem.cpp => module-apps/application-alarm-clock/widgets/AlarmOptionsItem.cpp +3 -2
@@ 7,6 7,7 @@
#include <Style.hpp>
#include <Utils.hpp>
#include <module-services/service-audio/service-audio/AudioServiceAPI.hpp>
+#include <purefs/filesystem_paths.hpp>
namespace gui
{
@@ 240,9 241,9 @@ namespace gui
std::vector<audio::Tags> AlarmOptionsItem::getMusicFilesList()
{
- const char *musicFolder = USER_PATH("music");
+ const auto musicFolder = (purefs::dir::getUserDiskPath() / "music").string();
std::vector<audio::Tags> musicFiles;
- LOG_INFO("Scanning music folder: %s", musicFolder);
+ LOG_INFO("Scanning music folder: %s", musicFolder.c_str());
for (const auto &ent : std::filesystem::directory_iterator(musicFolder)) {
if (!ent.is_directory()) {
const auto filePath = std::string(musicFolder) + "/" + ent.path().filename().c_str();
M module-apps/application-antenna/windows/AlgoParamsWindow.cpp => module-apps/application-antenna/windows/AlgoParamsWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include "gui/widgets/Label.hpp"
#include "gui/widgets/Window.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include <Style.hpp>
#include "gui/widgets/BoxLayout.hpp"
#include "../AntennaAppStyle.hpp"
M module-apps/application-antenna/windows/AntennaMainWindow.cpp => module-apps/application-antenna/windows/AntennaMainWindow.cpp +1 -1
@@ 13,7 13,7 @@
#include "gui/widgets/Label.hpp"
#include "gui/widgets/Window.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include <Style.hpp>
#include "../AntennaAppStyle.hpp"
M module-apps/application-antenna/windows/ScanModesWindow.cpp => module-apps/application-antenna/windows/ScanModesWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include "gui/widgets/Label.hpp"
#include "gui/widgets/Window.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include <Style.hpp>
#include "../AntennaAppStyle.hpp"
M module-apps/application-calculator/ApplicationCalculator.cpp => module-apps/application-calculator/ApplicationCalculator.cpp +1 -1
@@ 3,7 3,7 @@
#include "ApplicationCalculator.hpp"
#include "windows/CalculatorMainWindow.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace app
{
M module-apps/application-calculator/data/CalculatorUtility.cpp => module-apps/application-calculator/data/CalculatorUtility.cpp +1 -1
@@ 4,7 4,7 @@
#include "CalculatorUtility.hpp"
#include "application-calculator/widgets/CalculatorStyle.hpp"
#include <module-utils/tinyexpr/tinyexpr.h>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <Utils.hpp>
#include <cmath>
M module-apps/application-calculator/tests/CalculatorUtility_tests.cpp => module-apps/application-calculator/tests/CalculatorUtility_tests.cpp +2 -1
@@ 4,8 4,9 @@
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include "application-calculator/data/CalculatorUtility.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <cstring>
+#include <vfs.hpp>
class vfs vfs;
M module-apps/application-calculator/windows/CalculatorMainWindow.cpp => module-apps/application-calculator/windows/CalculatorMainWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "CalculatorMainWindow.hpp"
#include "application-calculator/widgets/CalculatorStyle.hpp"
#include "application-calculator/data/CalculatorUtility.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-call/widgets/StateIcon.hpp => module-apps/application-call/widgets/StateIcon.hpp +1 -1
@@ 7,7 7,7 @@
#include "Label.hpp"
#include <Style.hpp>
#include <log/log.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-call/windows/CallWindow.cpp => module-apps/application-call/windows/CallWindow.cpp +1 -1
@@ 13,7 13,7 @@
#include "application-call/ApplicationCall.hpp"
#include "application-call/data/CallSwitchData.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include <service-audio/AudioServiceAPI.hpp>
#include <service-cellular/CellularServiceAPI.hpp>
M module-apps/application-call/windows/EmergencyCallWindow.cpp => module-apps/application-call/windows/EmergencyCallWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "../ApplicationCall.hpp"
#include <service-appmgr/model/ApplicationManager.hpp>
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "EmergencyCallWindow.hpp"
namespace gui
M module-apps/application-call/windows/EnterNumberWindow.cpp => module-apps/application-call/windows/EnterNumberWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include <ContactRecord.hpp>
#include <country.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <InputMode.hpp>
#include <service-appmgr/Controller.hpp>
#include <service-cellular/CellularServiceAPI.hpp>
M module-apps/application-calllog/ApplicationCallLog.cpp => module-apps/application-calllog/ApplicationCallLog.cpp +1 -1
@@ 13,7 13,7 @@
#include <service-db/DBMessage.hpp>
#include <Dialog.hpp>
#include <OptionWindow.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <MessageType.hpp>
#include <module-db/queries/calllog/QueryCalllogSetAllRead.hpp>
M module-apps/application-calllog/windows/CallLogDetailsWindow.cpp => module-apps/application-calllog/windows/CallLogDetailsWindow.cpp +1 -1
@@ 14,7 14,7 @@
#include "../ApplicationCallLog.hpp"
#include <service-db/DBMessage.hpp>
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "../data/CallLogInternals.hpp" // TODO: alek: add easier paths
#include "../data/CallLogSwitchData.hpp"
M module-apps/application-calllog/windows/CallLogMainWindow.cpp => module-apps/application-calllog/windows/CallLogMainWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include <application-call/ApplicationCall.hpp>
#include <service-appmgr/model/ApplicationManager.hpp>
#include <service-db/DBCalllogMessage.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <Label.hpp>
#include <Margins.hpp>
#include <Style.hpp>
M module-apps/application-calllog/windows/CallLogOptionsWindow.cpp => module-apps/application-calllog/windows/CallLogOptionsWindow.cpp +1 -1
@@ 2,7 2,7 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "CallLogOptionsWindow.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include <Options.hpp>
#include <module-services/service-db/service-db/DBServiceAPI.hpp>
M module-apps/application-desktop/windows/DesktopMainWindow.cpp => module-apps/application-desktop/windows/DesktopMainWindow.cpp +1 -1
@@ 18,7 18,7 @@
#include <service-time/ServiceTime.hpp>
#include <service-time/TimeMessage.hpp>
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include <application-settings-new/ApplicationSettings.hpp>
M module-apps/application-desktop/windows/LockedInfoWindow.cpp => module-apps/application-desktop/windows/LockedInfoWindow.cpp +1 -1
@@ 13,7 13,7 @@
#include "Names.hpp"
#include <application-phonebook/ApplicationPhonebook.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
using namespace gui;
M => +1 -1
@@ 11,7 11,7 @@
#include <tools/Common.hpp>
#include <Style.hpp>
#include <cassert>
#include <module-utils/i18n/i18n.hpp>
#include <i18n/i18n.hpp>
namespace style::design
{
M module-apps/application-desktop/windows/PinLockBaseWindow.cpp => module-apps/application-desktop/windows/PinLockBaseWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "PinLockBaseWindow.hpp"
#include "application-desktop/data/AppDesktopStyle.hpp"
#include "application-desktop/widgets/PinLock.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include "FontManager.hpp"
M module-apps/application-desktop/windows/PowerOffWindow.cpp => module-apps/application-desktop/windows/PowerOffWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include "log/log.hpp"
// module-utils
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "PowerOffWindow.hpp"
#include "../ApplicationDesktop.hpp"
M module-apps/application-desktop/windows/PukLockBox.cpp => module-apps/application-desktop/windows/PukLockBox.cpp +1 -1
@@ 7,7 7,7 @@
#include "application-desktop/widgets/PinLock.hpp"
#include "application-desktop/data/AppDesktopStyle.hpp"
#include "gui/widgets/Image.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <Style.hpp>
namespace label_style = style::window::pin_lock::pin_label;
M module-apps/application-desktop/windows/Reboot.cpp => module-apps/application-desktop/windows/Reboot.cpp +1 -1
@@ 4,7 4,7 @@
#include "Reboot.hpp"
#include "../ApplicationDesktop.hpp"
#include <Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-desktop/windows/ScreenLockBox.cpp => module-apps/application-desktop/windows/ScreenLockBox.cpp +1 -1
@@ 8,7 8,7 @@
#include "application-desktop/data/AppDesktopStyle.hpp"
#include "gui/widgets/Label.hpp"
#include "gui/widgets/Image.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace label_style = style::window::pin_lock::pin_label;
M module-apps/application-meditation/widgets/IntervalBox.cpp => module-apps/application-meditation/widgets/IntervalBox.cpp +1 -1
@@ 8,7 8,7 @@
#include "TimerProperty.hpp"
#include "InputEvent.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <cassert>
using namespace gui;
M module-apps/application-meditation/widgets/MeditationListItems.cpp => module-apps/application-meditation/widgets/MeditationListItems.cpp +1 -1
@@ 4,7 4,7 @@
#include "MeditationListItems.hpp"
#include "application-meditation/data/Style.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
using namespace gui;
namespace listStyle = style::meditation::itemList;
M module-apps/application-meditation/widgets/TimerProperty.cpp => module-apps/application-meditation/widgets/TimerProperty.cpp +1 -1
@@ 3,7 3,7 @@
#include "TimerProperty.hpp"
#include <application-meditation/data/Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <module-utils/Utils.hpp>
using namespace gui;
M module-apps/application-meditation/windows/MeditationListViewWindows.cpp => module-apps/application-meditation/windows/MeditationListViewWindows.cpp +1 -1
@@ 9,7 9,7 @@
#include "ListView.hpp"
#include "Label.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
using namespace gui;
namespace listViewWindow = style::meditation::listView::window;
M module-apps/application-meditation/windows/MeditationTimerWindow.cpp => module-apps/application-meditation/windows/MeditationTimerWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include "Names.hpp"
#include <cassert>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include "RichTextParser.hpp"
#include "FontManager.hpp"
M module-apps/application-meditation/windows/MeditationWindow.cpp => module-apps/application-meditation/windows/MeditationWindow.cpp +1 -1
@@ 13,7 13,7 @@
#include "InputEvent.hpp"
#include <cassert>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-messages/ApplicationMessages.cpp => module-apps/application-messages/ApplicationMessages.cpp +1 -1
@@ 17,7 17,7 @@
#include <MessageType.hpp>
#include <Dialog.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <memory>
#include <service-db/DBServiceAPI.hpp>
#include <service-db/DBNotificationMessage.hpp>
M module-apps/application-messages/widgets/SMSInputWidget.cpp => module-apps/application-messages/widgets/SMSInputWidget.cpp +1 -1
@@ 7,7 7,7 @@
#include <module-apps/application-messages/ApplicationMessages.hpp>
#include <Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <Font.hpp>
#include <utility>
#include <algorithm>
M module-apps/application-messages/windows/MessagesMainWindow.cpp => module-apps/application-messages/windows/MessagesMainWindow.cpp +1 -1
@@ 13,7 13,7 @@
#include <service-db/DBNotificationMessage.hpp>
#include <service-appmgr/model/ApplicationManager.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <application-phonebook/data/PhonebookItemData.hpp>
#include <Style.hpp>
#include <log/log.hpp>
M module-apps/application-messages/windows/NewMessage.cpp => module-apps/application-messages/windows/NewMessage.cpp +1 -1
@@ 11,7 11,7 @@
#include <application-phonebook/windows/PhonebookSearchResults.hpp>
#include <service-appmgr/Controller.hpp>
#include <service-db/DBServiceAPI.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <BoxLayout.hpp>
#include <Text.hpp>
M module-apps/application-messages/windows/OptionsMessages.cpp => module-apps/application-messages/windows/OptionsMessages.cpp +1 -1
@@ 8,7 8,7 @@
#include <common_data/Clipboard.hpp>
#include <Options.hpp>
#include <OptionWindow.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <Text.hpp>
M module-apps/application-messages/windows/SMSTemplatesWindow.cpp => module-apps/application-messages/windows/SMSTemplatesWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include <service-appmgr/Controller.hpp>
#include <service-db/DBSMSTemplateMessage.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <Style.hpp>
#include <log/log.hpp>
M module-apps/application-messages/windows/SearchResults.cpp => module-apps/application-messages/windows/SearchResults.cpp +1 -1
@@ 12,7 12,7 @@
#include <service-db/QueryMessage.hpp>
#include <service-db/DBMessage.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-messages/windows/SearchStart.cpp => module-apps/application-messages/windows/SearchStart.cpp +1 -1
@@ 3,7 3,7 @@
#include "SearchStart.hpp"
#include "../ApplicationMessages.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <widgets/InputBox.hpp>
#include <cassert>
M module-apps/application-messages/windows/ThreadWindowOptions.cpp => module-apps/application-messages/windows/ThreadWindowOptions.cpp +1 -1
@@ 2,7 2,7 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "ThreadWindowOptions.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include <Options.hpp>
#include <OptionWindow.hpp>
M module-apps/application-music-player/ApplicationMusicPlayer.cpp => module-apps/application-music-player/ApplicationMusicPlayer.cpp +2 -1
@@ 6,9 6,10 @@
#include "windows/MusicPlayerEmptyWindow.hpp"
#include <service-audio/AudioServiceAPI.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <time/ScopedTime.hpp>
+#include <vfs.hpp>
namespace app
{
M module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.cpp => module-apps/application-music-player/windows/MusicPlayerAllSongsWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include <Style.hpp>
#include <cassert>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <service-audio/AudioServiceAPI.hpp>
M module-apps/application-music-player/windows/MusicPlayerEmptyWindow.cpp => module-apps/application-music-player/windows/MusicPlayerEmptyWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "application-music-player/data/MusicPlayerStyle.hpp"
#include <Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <service-audio/AudioServiceAPI.hpp>
M module-apps/application-notes/windows/NoteEditWindow.cpp => module-apps/application-notes/windows/NoteEditWindow.cpp +1 -1
@@ 13,7 13,7 @@
#include <module-apps/application-notes/style/NoteEditStyle.hpp>
#include <module-apps/messages/OptionsWindow.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <module-utils/time/time_conversion.hpp>
#include <module-gui/gui/widgets/BottomBar.hpp>
M module-apps/application-notes/windows/NoteMainWindow.cpp => module-apps/application-notes/windows/NoteMainWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include <InputEvent.hpp>
#include <service-db/DBNotesMessage.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <gui/widgets/Label.hpp>
#include <gui/widgets/BottomBar.hpp>
M module-apps/application-notes/windows/NotePreviewWindow.cpp => module-apps/application-notes/windows/NotePreviewWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include <module-apps/application-notes/windows/NotesOptions.hpp>
#include <module-apps/messages/OptionsWindow.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <module-utils/time/time_conversion.hpp>
#include <Style.hpp>
M module-apps/application-notes/windows/NotesOptions.cpp => module-apps/application-notes/windows/NotesOptions.cpp +1 -1
@@ 9,7 9,7 @@
#include <module-apps/windows/DialogMetadata.hpp>
#include <module-apps/messages/DialogMetadataMessage.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <module-gui/gui/widgets/Text.hpp>
M module-apps/application-notes/windows/SearchEngineWindow.cpp => module-apps/application-notes/windows/SearchEngineWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include <module-apps/application-notes/data/NotesFoundData.hpp>
#include <module-apps/widgets/InputBox.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace app::notes
{
M module-apps/application-phonebook/widgets/ContactFlagsWidget.cpp => module-apps/application-phonebook/widgets/ContactFlagsWidget.cpp +1 -1
@@ 8,7 8,7 @@
#include <Alignment.hpp>
#include <BoxLayout.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <tools/Common.hpp>
#include <Style.hpp>
M module-apps/application-phonebook/widgets/InformationWidget.cpp => module-apps/application-phonebook/widgets/InformationWidget.cpp +1 -1
@@ 7,7 7,7 @@
#include "application-phonebook/data/PhonebookStyle.hpp"
#include <ContactRecord.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-phonebook/widgets/InputBoxWithLabelAndIconWidget.cpp => module-apps/application-phonebook/widgets/InputBoxWithLabelAndIconWidget.cpp +1 -1
@@ 6,7 6,7 @@
#include "application-phonebook/data/PhonebookStyle.hpp"
#include <BottomBar.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <utility>
M module-apps/application-phonebook/widgets/InputLinesWithLabelIWidget.cpp => module-apps/application-phonebook/widgets/InputLinesWithLabelIWidget.cpp +1 -1
@@ 7,7 7,7 @@
#include "application-phonebook/data/PhonebookStyle.hpp"
#include <ContactRecord.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <utility>
namespace gui
M module-apps/application-phonebook/widgets/OutputLinesTextWithLabelWidget.cpp => module-apps/application-phonebook/widgets/OutputLinesTextWithLabelWidget.cpp +1 -1
@@ 7,7 7,7 @@
#include "application-phonebook/data/PhonebookStyle.hpp"
#include <ContactRecord.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/ApplicationSettings.cpp => module-apps/application-settings-new/ApplicationSettings.cpp +1 -1
@@ 28,10 28,10 @@
#include <service-evtmgr/EventManagerServiceAPI.hpp>
#include <service-bluetooth/BluetoothMessage.hpp>
-#include <module-utils/i18n/i18n.hpp>
#include <service-cellular/CellularServiceAPI.hpp>
#include <service-db/Settings.hpp>
#include <module-services/service-db/agents/settings/SystemSettings.hpp>
+#include <i18n/i18n.hpp>
namespace app
{
M module-apps/application-settings-new/widgets/timeWidget.cpp => module-apps/application-settings-new/widgets/timeWidget.cpp +1 -1
@@ 5,7 5,7 @@
#include "SettingsStyle.hpp"
#include <Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/widgets/timeWidget.hpp => module-apps/application-settings-new/widgets/timeWidget.hpp +1 -0
@@ 5,6 5,7 @@
#include <Label.hpp>
#include <Text.hpp>
+#include <chrono>
namespace gui
{
M module-apps/application-settings-new/windows/AddDeviceWindow.cpp => module-apps/application-settings-new/windows/AddDeviceWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <utility>
namespace gui
M module-apps/application-settings-new/windows/AllDevicesWindow.cpp => module-apps/application-settings-new/windows/AllDevicesWindow.cpp +1 -1
@@ 10,7 10,7 @@
#include "DialogMetadataMessage.hpp"
#include <InputEvent.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <service-bluetooth/BluetoothMessage.hpp>
namespace gui
M module-apps/application-settings-new/windows/AppsAndToolsWindow.cpp => module-apps/application-settings-new/windows/AppsAndToolsWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "AppsAndToolsWindow.hpp"
#include <application-settings-new/ApplicationSettings.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <OptionWindow.hpp>
namespace gui
M module-apps/application-settings-new/windows/AutolockWindow.cpp => module-apps/application-settings-new/windows/AutolockWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/BaseSettingsWindow.cpp => module-apps/application-settings-new/windows/BaseSettingsWindow.cpp +1 -1
@@ 3,7 3,7 @@
#include "BaseSettingsWindow.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/BluetoothWindow.cpp => module-apps/application-settings-new/windows/BluetoothWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <service-bluetooth/BluetoothMessage.hpp>
namespace gui
M module-apps/application-settings-new/windows/DisplayAndKeypadWindow.cpp => module-apps/application-settings-new/windows/DisplayAndKeypadWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include "windows/OptionWindow.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/DisplayLightWindow.cpp => module-apps/application-settings-new/windows/DisplayLightWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/FontSizeWindow.cpp => module-apps/application-settings-new/windows/FontSizeWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/InputLanguageWindow.cpp => module-apps/application-settings-new/windows/InputLanguageWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <module-services/service-appmgr/service-appmgr/Controller.hpp>
namespace gui
M module-apps/application-settings-new/windows/KeypadLightWindow.cpp => module-apps/application-settings-new/windows/KeypadLightWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/LockedScreenWindow.cpp => module-apps/application-settings-new/windows/LockedScreenWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/MessagesWindow.cpp => module-apps/application-settings-new/windows/MessagesWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "MessagesWindow.hpp"
#include <application-settings-new/ApplicationSettings.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <OptionWindow.hpp>
#include <OptionSetting.hpp>
M module-apps/application-settings-new/windows/NetworkWindow.cpp => module-apps/application-settings-new/windows/NetworkWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/QuotesAddWindow.cpp => module-apps/application-settings-new/windows/QuotesAddWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <widgets/Text.hpp>
namespace gui
M module-apps/application-settings-new/windows/QuotesMainWindow.cpp => module-apps/application-settings-new/windows/QuotesMainWindow.cpp +1 -1
@@ 8,7 8,7 @@
#include "windows/OptionSetting.hpp"
#include <InputEvent.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <json/json11.hpp>
#include <vfs.hpp>
M module-apps/application-settings-new/windows/SettingsMainWindow.cpp => module-apps/application-settings-new/windows/SettingsMainWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "SettingsMainWindow.hpp"
#include "application-settings-new/ApplicationSettings.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <service-appmgr/Controller.hpp>
M module-apps/application-settings-new/windows/TorchWindow.cpp => module-apps/application-settings-new/windows/TorchWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include "OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings-new/windows/WallpaperWindow.cpp => module-apps/application-settings-new/windows/WallpaperWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "application-settings-new/ApplicationSettings.hpp"
#include "windows/OptionSetting.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings/ApplicationSettings.cpp => module-apps/application-settings/ApplicationSettings.cpp +1 -1
@@ 26,7 26,7 @@
#include "windows/CellularPassthroughWindow.hpp"
#include "windows/SettingsChange.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <service-evtmgr/EventManagerServiceAPI.hpp>
#include <service-bluetooth/BluetoothMessage.hpp>
#include <service-db/Settings.hpp>
M module-apps/application-settings/windows/BtScanWindow.cpp => module-apps/application-settings/windows/BtScanWindow.cpp +1 -1
@@ 8,7 8,7 @@
#include "../ApplicationSettings.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "BtScanWindow.hpp"
#include "Label.hpp"
M module-apps/application-settings/windows/BtWindow.cpp => module-apps/application-settings/windows/BtWindow.cpp +1 -1
@@ 9,7 9,7 @@
#include "../ApplicationSettings.hpp"
#include "../windows/BtScanWindow.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "BtWindow.hpp"
#include "Label.hpp"
M module-apps/application-settings/windows/CellularPassthroughWindow.cpp => module-apps/application-settings/windows/CellularPassthroughWindow.cpp +1 -1
@@ 2,7 2,7 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "CellularPassthroughWindow.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <module-bsp/bsp/cellular/bsp_cellular.hpp>
#include "Label.hpp"
#include <cassert>
M module-apps/application-settings/windows/DateTimeWindow.cpp => module-apps/application-settings/windows/DateTimeWindow.cpp +1 -1
@@ 16,7 16,7 @@
#include "../ApplicationSettings.hpp"
#include "DateTimeWindow.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "time/time_conversion.hpp"
#include "time/time_date_validation.hpp"
M module-apps/application-settings/windows/EinkModeWindow.cpp => module-apps/application-settings/windows/EinkModeWindow.cpp +1 -1
@@ 10,7 10,7 @@
#include "service-appmgr/Controller.hpp"
#include "../ApplicationSettings.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "Label.hpp"
#include "Margins.hpp"
M module-apps/application-settings/windows/FotaWindow.cpp => module-apps/application-settings/windows/FotaWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "Fota.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/application-settings/windows/Info.cpp => module-apps/application-settings/windows/Info.cpp +2 -1
@@ 14,7 14,8 @@
#include <gui/widgets/Margins.hpp>
#include <gui/widgets/Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
+#include <vfs.hpp>
namespace gui
{
M module-apps/application-settings/windows/LanguageWindow.cpp => module-apps/application-settings/windows/LanguageWindow.cpp +1 -1
@@ 7,7 7,7 @@
#include "../ApplicationSettings.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "Label.hpp"
#include "LanguageWindow.hpp"
M module-apps/application-settings/windows/SettingsChange.cpp => module-apps/application-settings/windows/SettingsChange.cpp +1 -1
@@ 3,7 3,7 @@
#include "SettingsChange.hpp"
#include "../ApplicationSettings.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "tools/Common.hpp"
#include <widgets/Text.hpp>
#include <widgets/TextFixedSize.hpp>
M module-apps/application-settings/windows/SettingsMainWindow.cpp => module-apps/application-settings/windows/SettingsMainWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "SettingsMainWindow.hpp"
#include "../ApplicationSettings.hpp"
#include "Info.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include "CellularPassthroughWindow.hpp"
#include "FotaWindow.hpp"
M module-apps/application-settings/windows/SimSelectWindow.cpp => module-apps/application-settings/windows/SimSelectWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "SimSelectWindow.hpp"
#include "Info.hpp"
#include "SettingsMainWindow.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include <common_data/EventStore.hpp>
#include <service-db/DBServiceAPI.hpp>
M module-apps/application-settings/windows/TestMessageWindow.cpp => module-apps/application-settings/windows/TestMessageWindow.cpp +1 -1
@@ 15,7 15,7 @@
#include "../ApplicationSettings.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "Label.hpp"
#include "Margins.hpp"
M module-apps/application-settings/windows/UITestWindow.cpp => module-apps/application-settings/windows/UITestWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "../ApplicationSettings.hpp"
#include "Label.hpp"
#include "Margins.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include "messages/AppMessage.hpp"
#include <service-appmgr/model/ApplicationManager.hpp>
M module-apps/application-special-input/windows/SpecialInputMainWindow.cpp => module-apps/application-special-input/windows/SpecialInputMainWindow.cpp +1 -1
@@ 5,7 5,7 @@
#include "../ApplicationSpecialInput.hpp"
#include "Style.hpp"
#include "messages/AppMessage.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <cassert>
using namespace gui;
M module-apps/widgets/BrightnessBox.cpp => module-apps/widgets/BrightnessBox.cpp +1 -1
@@ 1,7 1,7 @@
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include "BightnessBox.hpp"
namespace gui
M module-apps/widgets/ButtonOnOff.cpp => module-apps/widgets/ButtonOnOff.cpp +1 -1
@@ 4,7 4,7 @@
#include "ButtonOnOff.hpp"
#include <Style.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace gui
{
M module-apps/widgets/ModesBox.cpp => module-apps/widgets/ModesBox.cpp +1 -1
@@ 1,7 1,7 @@
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include "ModesBox.hpp"
namespace gui
M module-apps/windows/AppWindow.cpp => module-apps/windows/AppWindow.cpp +1 -1
@@ 6,7 6,7 @@
#include "InputEvent.hpp"
#include <Style.hpp>
#include <application-desktop/ApplicationDesktop.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <service-appmgr/Controller.hpp>
#include <service-audio/AudioServiceAPI.hpp>
M module-apps/windows/Dialog.cpp => module-apps/windows/Dialog.cpp +1 -1
@@ 4,7 4,7 @@
#include "Dialog.hpp"
#include "DialogMetadataMessage.hpp"
#include <service-appmgr/model/ApplicationManager.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
using namespace gui;
M module-apps/windows/OptionWindow.cpp => module-apps/windows/OptionWindow.cpp +1 -1
@@ 4,7 4,7 @@
#include "OptionWindow.hpp"
#include "Label.hpp"
#include "Margins.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "log/log.hpp"
#include <service-appmgr/model/ApplicationManager.hpp>
#include <Style.hpp>
M module-apps/windows/Options.cpp => module-apps/windows/Options.cpp +1 -1
@@ 5,7 5,7 @@
#include "Text.hpp"
#include "tools/Common.hpp"
#include <cassert>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <utility>
#include <FontManager.hpp>
M module-apps/windows/VolumeWindow.cpp => module-apps/windows/VolumeWindow.cpp +1 -1
@@ 2,7 2,7 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <module-gui/gui/input/InputEvent.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include "VolumeWindow.hpp"
namespace gui
M module-db/Database/sqlite3vfs.cpp => module-db/Database/sqlite3vfs.cpp +1 -0
@@ 119,6 119,7 @@
#include <errno.h>
#include <memory>
#include <cstring>
+#include <filesystem>
#include "FreeRTOS.h"
#include "task.h"
M module-db/Interface/ContactRecord.hpp => module-db/Interface/ContactRecord.hpp +2 -1
@@ 7,7 7,7 @@
#include <Common/Query.hpp>
#include <Tables/ContactsGroups.hpp>
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "Record.hpp"
#include "utf8/UTF8.hpp"
@@ 19,6 19,7 @@
#include <memory>
#include <optional>
#include <set>
+#include <sstream>
struct ContactRecord : public Record
{
M module-db/Interface/SettingsRecord.hpp => module-db/Interface/SettingsRecord.hpp +1 -1
@@ 7,7 7,7 @@
#include "utf8/UTF8.hpp"
#include "../Common/Common.hpp"
#include "../Databases/SettingsDB.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
struct SettingsRecord
{
M module-db/Tables/SettingsTable.hpp => module-db/Tables/SettingsTable.hpp +1 -1
@@ 7,7 7,7 @@
#include "Database/Database.hpp"
#include "utf8/UTF8.hpp"
#include "Common/Common.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
struct SettingsTableRow
{
M module-db/tests/ContactsRecord_tests.cpp => module-db/tests/ContactsRecord_tests.cpp +1 -1
@@ 4,7 4,7 @@
#include <catch2/catch.hpp>
#include "Interface/ContactRecord.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "vfs.hpp"
#include <purefs/filesystem_paths.hpp>
M module-gui/CMakeLists.txt => module-gui/CMakeLists.txt +1 -2
@@ 19,10 19,9 @@ include(gui/widgets/CMakeLists.txt)
include(gui/input/CMakeLists.txt)
include(gui/dom/CMakeLists.txt)
-include_directories( ../module-vfs )
include_directories( ../module-utils )
-target_link_libraries(${PROJECT_NAME} PUBLIC module-utils module-vfs ${TARGET_LIBRARIES} )
+target_link_libraries(${PROJECT_NAME} PUBLIC module-utils ${TARGET_LIBRARIES} )
# Board specific compilation definitions,options,include directories and features
target_compile_definitions(${PROJECT_NAME} PUBLIC ${PROJECT_CONFIG_DEFINITIONS})
M module-gui/gui/core/FontManager.cpp => module-gui/gui/core/FontManager.cpp +13 -11
@@ 6,7 6,9 @@
#include "FontInfo.hpp" // for FontInfo
#include "RawFont.hpp" // for RawFont
#include "log/log.hpp" // for LOG_ERROR, LOG_INFO, LOG_WARN
-#include "vfs.hpp" // for vfs, vfs::DirectoryEntry, vfs::FileAttributes
+#include <Utils.hpp>
+#include <filesystem>
+#include <cstdio>
namespace style::window::font
{
@@ 42,23 44,24 @@ namespace gui
RawFont *FontManager::loadFont(std::string filename)
{
- auto file = vfs.fopen(filename.c_str(), "rb");
+ auto file = std::fopen(filename.c_str(), "rb");
- auto fileSize = vfs.filelength(file);
+ auto fileSize = utils::filesystem::filelength(file);
+ std::rewind(file);
char *fontData = new char[fileSize];
if (fontData == nullptr) {
- vfs.fclose(file);
+ std::fclose(file);
LOG_ERROR(" Failed to allocate temporary font buffer");
return nullptr;
}
// read data to buffer
- auto bytesRead = vfs.fread(fontData, 1, fileSize, file);
+ auto bytesRead = std::fread(fontData, 1, fileSize, file);
// close file
- vfs.fclose(file);
- if (bytesRead != fileSize) {
+ std::fclose(file);
+ if (static_cast<long>(bytesRead) != fileSize) {
LOG_ERROR("Failed to read all file");
delete[] fontData;
return nullptr;
@@ 96,11 99,10 @@ namespace gui
std::vector<std::string> fontFiles;
LOG_INFO("Scanning fonts folder: %s", fontFolder.c_str());
- auto dirList = vfs.listdir(fontFolder.c_str());
- for (vfs::DirectoryEntry ent : dirList) {
- if ((ent.attributes != vfs::FileAttributes::Directory) && hasEnding(ent.fileName, ".mpf")) {
- fontFiles.push_back(fontFolder + "/" + ent.fileName);
+ for (const auto &entry : std::filesystem::directory_iterator(fontFolder)) {
+ if (!std::filesystem::is_directory(entry) && entry.path().extension() == ".mpf") {
+ fontFiles.push_back(entry.path().string());
}
}
M module-gui/gui/core/ImageManager.cpp => module-gui/gui/core/ImageManager.cpp +17 -15
@@ 11,7 11,9 @@
#include <set>
#include <string>
+#include <cstdio>
#include <cstring>
+#include <filesystem>
#include "ImageManager.hpp"
#include "utf8/UTF8.hpp"
@@ 20,7 22,7 @@
#include "ImageMap.hpp"
#include "VecMap.hpp"
#include "PixMap.hpp"
-#include "vfs.hpp"
+#include <Utils.hpp>
namespace gui
{
@@ 82,22 84,22 @@ namespace gui
ImageMap *ImageManager::loadPixMap(std::string filename)
{
- auto file = vfs.fopen(filename.c_str(), "rb");
+ auto file = std::fopen(filename.c_str(), "rb");
- auto fileSize = vfs.filelength(file);
+ auto fileSize = utils::filesystem::filelength(file);
char *data = new char[fileSize];
if (data == nullptr) {
- vfs.fclose(file);
+ std::fclose(file);
LOG_ERROR(" Failed to allocate temporary font buffer");
return nullptr;
}
// read data to buffer
- vfs.fread(data, 1, fileSize, file);
+ std::fread(data, 1, fileSize, file);
// close file
- vfs.fclose(file);
+ std::fclose(file);
// allocate memory for new font
PixMap *pixMap = new PixMap();
@@ 126,22 128,22 @@ namespace gui
ImageMap *ImageManager::loadVecMap(std::string filename)
{
- auto file = vfs.fopen(filename.c_str(), "rb");
+ auto file = std::fopen(filename.c_str(), "rb");
- auto fileSize = vfs.filelength(file);
+ auto fileSize = utils::filesystem::filelength(file);
char *data = new char[fileSize];
if (data == nullptr) {
- vfs.fclose(file);
+ std::fclose(file);
LOG_ERROR(" Failed to allocate temporary font buffer");
return nullptr;
}
// read data to buffer
- vfs.fread(data, 1, fileSize, file);
+ std::fread(data, 1, fileSize, file);
// close file
- vfs.fclose(file);
+ std::fclose(file);
VecMap *vecMap = new VecMap();
if (vecMap->load(reinterpret_cast<uint8_t *>(data), fileSize) != gui::Status::GUI_SUCCESS) {
@@ 171,11 173,11 @@ namespace gui
std::vector<std::string> mapFiles;
LOG_INFO("Scanning %s images folder: %s", ext.c_str(), mapFolder.c_str());
- auto dirList = vfs.listdir(mapFolder.c_str(), ext);
- for (vfs::DirectoryEntry ent : dirList) {
- if (ent.attributes != vfs::FileAttributes::Directory)
- mapFiles.push_back(mapFolder + "/" + ent.fileName);
+ for (const auto &entry : std::filesystem::directory_iterator(mapFolder)) {
+ if (!entry.is_directory() && entry.path().extension() == ext) {
+ mapFiles.push_back(entry.path().string());
+ }
}
LOG_INFO("Total number of images: %u", static_cast<unsigned int>(mapFiles.size()));
M module-gui/gui/input/Profile.cpp => module-gui/gui/input/Profile.cpp +24 -15
@@ 7,19 7,14 @@
#include <sstream>
#include "log/log.hpp"
#include "utf8/UTF8.hpp"
-#include "vfs.hpp"
#include "Profile.hpp"
+#include <Utils.hpp>
namespace gui
{
const uint32_t KeyProfile::none_key = 0;
- KeyProfile::KeyProfile()
- {}
- KeyProfile::~KeyProfile()
- {}
-
Profile::Profile(const std::string &name)
{
LOG_INFO("Create!");
@@ 67,9 62,19 @@ namespace gui
return elems;
}
- bool Profile::load(std::string filename)
+ void Profile::clear()
+ {
+ keys.clear();
+ }
+
+ std::string Profile::getName() const noexcept
+ {
+ return name;
+ }
+
+ bool Profile::load(const std::string &filename)
{
- auto file = vfs.fopen(filename.c_str(), "rb");
+ auto file = std::fopen(filename.c_str(), "rb");
if (file == nullptr) {
LOG_FATAL("no KeyProfile file: %s", filename.c_str());
@@ 89,9 94,8 @@ namespace gui
KeyProfile *pk = nullptr;
KeyProfile tmp;
- while (vfs.eof(file) != true) {
-
- std::string line = trim(vfs.getline(file));
+ while (std::feof(file) != true) {
+ const auto line = trim(utils::filesystem::getline(file));
if ((line[0] == '#') || (line.empty())) {
continue;
}
@@ 141,7 145,7 @@ namespace gui
}
}
- vfs.fclose(file);
+ std::fclose(file);
return true;
}
@@ 177,7 181,7 @@ namespace gui
return elems;
}
- void Profile::addCharacters(KeyProfile *pk, const std::string &s)
+ void Profile::addCharacters(KeyProfile *pk, const std::string &s) const
{
uint32_t charKey;
@@ 203,7 207,7 @@ namespace gui
}
}
}
- void Profile::addTimeouts(KeyProfile *pk, const std::string &s)
+ void Profile::addTimeouts(KeyProfile *pk, const std::string &s) const
{
uint32_t timeout;
std::vector<std::string> vec = split(s, ',');
@@ 219,7 223,12 @@ namespace gui
keys.insert(std::pair<uint32_t, KeyProfile *>(pk->keyCode, pk));
}
- const KeyProfile *Profile::getKeyProfile(uint32_t keyCode)
+ void Profile::setName(const std::string &name)
+ {
+ this->name = name;
+ }
+
+ const KeyProfile *Profile::getKeyProfile(uint32_t keyCode) const
{
auto key = keys.find(keyCode);
if (key != keys.end())
M module-gui/gui/input/Profile.hpp => module-gui/gui/input/Profile.hpp +8 -19
@@ 15,12 15,10 @@ namespace gui
static const uint32_t none_key; /// defaults to 0
uint32_t keyCode = none_key;
bool cyclic = false;
- ;
std::vector<uint32_t> chars;
std::vector<uint32_t> timeouts;
- KeyProfile();
- virtual ~KeyProfile();
+ virtual ~KeyProfile() = default;
void addCharacters(const std::string &s);
void addTimeouts(const std::string &s);
@@ 31,30 29,21 @@ namespace gui
std::string name;
std::map<uint32_t, KeyProfile *> keys = {};
- void addCharacters(KeyProfile *pk, const std::string &s);
- void addTimeouts(KeyProfile *pk, const std::string &s);
+ void addCharacters(KeyProfile *pk, const std::string &s) const;
+ void addTimeouts(KeyProfile *pk, const std::string &s) const;
void addKeyProfile(KeyProfile *pk);
- void setName(std::string name)
- {
- this->name = name;
- };
- const KeyProfile *getKeyProfile(uint32_t keyCode);
+ void setName(const std::string &name);
+ const KeyProfile *getKeyProfile(uint32_t keyCode) const;
public:
- void clear()
- {
- this->keys.clear();
- };
+ void clear();
Profile() = default;
Profile(const std::string &name);
Profile(Profile &&p);
virtual ~Profile();
- std::string getName()
- {
- return name;
- };
- bool load(std::string filename);
+ [[nodiscard]] std::string getName() const noexcept;
+ bool load(const std::string &filename);
uint32_t get(bsp::KeyCodes code, uint32_t times);
};
M module-gui/gui/input/Translator.cpp => module-gui/gui/input/Translator.cpp +58 -1
@@ 3,8 3,9 @@
#include "Translator.hpp"
#include "log/log.hpp"
-#include "vfs.hpp"
#include <algorithm>
+#include <log/log.hpp>
+#include <filesystem>
namespace gui
{
@@ 182,4 183,60 @@ namespace gui
return Profiles::get(keymap).get(key.key_code, times);
}
+ void Profiles::loadProfile(const std::string &filepath)
+ {
+ LOG_INFO("Load profile: %s", filepath.c_str());
+ auto p = Profile(filepath);
+ if (p.getName() != std::string()) {
+ profiles.insert({p.getName(), std::move(p)});
+ }
+ }
+ std::vector<std::string> Profiles::getProfilesList(std::string ext)
+ {
+ std::vector<std::string> profileFiles;
+ LOG_INFO("Scanning %s profiles folder: %s", ext.c_str(), profilesFolder);
+
+ for (const auto &entry : std::filesystem::directory_iterator(profilesFolder)) {
+ if (!std::filesystem::is_directory(entry) && entry.path().extension().string() == ext) {
+ profileFiles.push_back(entry.path().string());
+ }
+ }
+
+ LOG_INFO("Total number of profiles: %u", static_cast<unsigned int>(profileFiles.size()));
+ return profileFiles;
+ }
+
+ void Profiles::init()
+ {
+ std::vector<std::string> profileFiles = getProfilesList(".kprof");
+ for (std::string mapName : profileFiles) {
+ if (std::size(mapName)) {
+ loadProfile(mapName);
+ }
+ }
+ if (std::size(profiles) == 0) {
+ LOG_ERROR("No keyboard profiles loaded");
+ }
+ }
+ Profiles &Profiles::get()
+ {
+ static Profiles *p;
+ if (p == nullptr) {
+ p = new Profiles();
+ p->init();
+ }
+ return *p;
+ }
+ Profile &Profiles::get(const std::string &name)
+ {
+ // if profile not in profile map -> load
+ if (std::size(name) == 0) {
+ LOG_ERROR("Request for non existend profile: %s", name.c_str());
+ return get().empty;
+ }
+ if (get().profiles.find(name) == get().profiles.end()) {
+ get().loadProfile(name);
+ }
+ return get().profiles[name];
+ }
} /* namespace gui */
M module-gui/gui/input/Translator.hpp => module-gui/gui/input/Translator.hpp +6 -61
@@ 12,7 12,6 @@
#include <string>
#include <vector>
#include <common_data/RawKey.hpp>
-#include <vfs.hpp>
namespace gui
{
@@ 71,69 70,15 @@ namespace gui
private:
const char *profilesFolder = "assets/profiles";
std::map<std::string, gui::Profile> profiles = {};
-
- void loadProfile(const std::string &filepath)
- {
- LOG_INFO("Load profile: %s", filepath.c_str());
- auto p = Profile(filepath);
- if (p.getName() != std::string()) {
- profiles.insert({p.getName(), std::move(p)});
- }
- }
-
- std::vector<std::string> getProfilesList(std::string ext)
- {
- std::vector<std::string> profileFiles;
- LOG_INFO("Scanning %s profiles folder: %s", ext.c_str(), profilesFolder);
- auto dirList = vfs.listdir(profilesFolder, ext);
-
- for (vfs::DirectoryEntry ent : dirList) {
- if (ent.attributes != vfs::FileAttributes::Directory) {
- profileFiles.push_back(std::string(profilesFolder) + "/" + ent.fileName);
- }
- }
-
- LOG_INFO("Total number of profiles: %u", static_cast<unsigned int>(profileFiles.size()));
- return profileFiles;
- }
-
- void init()
- {
- std::vector<std::string> profileFiles = getProfilesList(".kprof");
- for (std::string mapName : profileFiles) {
- if (std::size(mapName)) {
- loadProfile(mapName);
- }
- }
- if (std::size(profiles) == 0) {
- LOG_ERROR("No keyboard profiles loaded");
- }
- }
Profile empty;
- public:
- static Profiles &get()
- {
- static Profiles *p;
- if (p == nullptr) {
- p = new Profiles();
- p->init();
- }
- return *p;
- }
+ void loadProfile(const std::string &filepath);
+ std::vector<std::string> getProfilesList(std::string ext);
+ void init();
- static Profile &get(const std::string &name)
- {
- // if profile not in profile map -> load
- if (std::size(name) == 0) {
- LOG_ERROR("Request for non existend profile: %s", name.c_str());
- return get().empty;
- }
- if (get().profiles.find(name) == get().profiles.end()) {
- get().loadProfile(name);
- }
- return get().profiles[name];
- }
+ public:
+ static Profiles &get();
+ static Profile &get(const std::string &name);
};
} /* namespace gui */
M module-gui/gui/widgets/Icon.cpp => module-gui/gui/widgets/Icon.cpp +1 -1
@@ 3,7 3,7 @@
#include "Icon.hpp"
#include "TextParse.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <Style.hpp>
#include <Font.hpp>
M module-gui/gui/widgets/InputMode.cpp => module-gui/gui/widgets/InputMode.cpp +2 -1
@@ 2,8 2,9 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <InputMode.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <map>
+#include <log/log.hpp>
/// input mode strings - as these are stored in json (in files...)
const std::map<InputMode::Mode, std::string> input_mode = {
M module-gui/gui/widgets/Text.cpp => module-gui/gui/widgets/Text.cpp +3 -4
@@ 17,7 17,6 @@
#include "TextParse.hpp"
#include "log/log.hpp"
#include "utf8/UTF8.hpp"
-#include "vfs.hpp"
#include <Style.hpp>
#include <cassert>
#include <FontManager.hpp>
@@ 192,10 191,10 @@ namespace gui
bool Text::saveText(UTF8 path)
{
- if (auto file = vfs.fopen(path.c_str(), "wb")) {
+ if (auto file = std::fopen(path.c_str(), "wb")) {
auto text = getText();
- vfs.fwrite(text.c_str(), text.length(), text.length(), file);
- vfs.fclose(file);
+ std::fwrite(text.c_str(), text.length(), text.length(), file);
+ std::fclose(file);
return true;
}
return false;
M module-gui/test/test-catch-text/CMakeLists.txt => module-gui/test/test-catch-text/CMakeLists.txt +0 -1
@@ 20,7 20,6 @@ add_catch2_executable(
../mock/
LIBS
module-gui
- module-vfs
DEPS
assets
)
M module-gui/test/test-catch-text/main.cpp => module-gui/test/test-catch-text/main.cpp +1 -1
@@ 4,7 4,7 @@
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
#include <vfs.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
class vfs vfs; // needed for compilation, our vfs is global
utils::i18n localize; // needed to load any keymap - these are stored in i18
M module-gui/test/test-catch-text/test-gui-Text.cpp => module-gui/test/test-catch-text/test-gui-Text.cpp +1 -1
@@ 6,7 6,7 @@
#include "Common.hpp"
#include "InitializedFontManager.hpp"
#include "TextParse.hpp"
-#include "module-utils/i18n/i18n.hpp"
+#include <i18n/i18n.hpp>
#include "mock/InitializedFontManager.hpp"
#include <catch2/catch.hpp>
#include <limits>
M module-gui/test/test-google/CMakeLists.txt => module-gui/test/test-google/CMakeLists.txt +1 -2
@@ 12,13 12,12 @@ target_include_directories(${PROJECT_NAME}
PUBLIC
"${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_SOURCE_DIR}/module-utils"
- "${CMAKE_SOURCE_DIR}/module-vfs"
"${CMAKE_SOURCE_DIR}/module-gui/test/"
)
target_link_directories(${PROJECT_NAME} PUBLIC "${PROJECT_LIB_DIRECTORY}")
-target_link_libraries(${PROJECT_NAME} PUBLIC module-vfs module-utils module-gui)
+target_link_libraries(${PROJECT_NAME} PUBLIC module-utils module-gui)
target_link_libraries(${PROJECT_NAME} PUBLIC gtest gtest_main)
M module-services/service-appmgr/model/ApplicationManager.cpp => module-services/service-appmgr/model/ApplicationManager.cpp +1 -1
@@ 13,7 13,7 @@
#include <SystemManager/SystemManager.hpp>
#include <application-call/ApplicationCall.hpp>
#include <application-special-input/ApplicationSpecialInput.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <log/log.hpp>
#include <service-appmgr/messages/Message.hpp>
#include <service-db/DBServiceAPI.hpp>
M module-services/service-appmgr/service-appmgr/Controller.hpp => module-services/service-appmgr/service-appmgr/Controller.hpp +1 -1
@@ 10,7 10,7 @@
#include <module-sys/Service/Service.hpp>
#include <SwitchData.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
#include <memory>
#include <string>
M module-services/service-appmgr/service-appmgr/messages/LanguageChangeRequest.hpp => module-services/service-appmgr/service-appmgr/messages/LanguageChangeRequest.hpp +1 -1
@@ 5,7 5,7 @@
#include "BaseMessage.hpp"
-#include <module-utils/i18n/i18n.hpp>
+#include <i18n/i18n.hpp>
namespace app::manager
{
M module-services/service-db/test/test-service-db-settings-api.cpp => module-services/service-db/test/test-service-db-settings-api.cpp +1 -0
@@ 18,6 18,7 @@
#include "test-service-db-settings-testmsgs.hpp"
#include "test-service-db-settings-testservices.hpp"
#include "test-service-db-settings-testapps.hpp"
+#include <vfs.hpp>
struct vfs_initializer
{
M module-services/service-desktop/endpoints/factoryReset/FactoryReset.cpp => module-services/service-desktop/endpoints/factoryReset/FactoryReset.cpp +15 -6
@@ 2,7 2,9 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "FactoryReset.hpp"
-
+#ifndef TARGET_Linux
+#include <FreeRTOSFATConfig.h>
+#endif
#include <SystemManager/SystemManager.hpp>
#include <log/log.hpp>
#include <purefs/filesystem_paths.hpp>
@@ 13,6 15,8 @@
#include <filesystem>
#include <memory>
#include <vector>
+#include <purefs/filesystem_paths.hpp>
+#include <purefs/fs/filesystem.hpp>
namespace sys
{
@@ 21,6 25,11 @@ namespace sys
namespace FactoryReset
{
+ namespace
+ {
+ inline constexpr auto copy_buf = 8192 * 4;
+ } // namespace
+
static bool CopyFile(std::string sourcefile, std::string targetfile);
static int recurseDepth = 0;
@@ 78,7 87,7 @@ namespace FactoryReset
delpath += direntry.path().string().c_str();
if (std::filesystem::is_directory(direntry)) {
- if (direntry.path().string().compare(PATH_FACTORY) != 0) {
+ if (direntry.path().string().compare(purefs::dir::getFactoryOSPath()) != 0) {
LOG_INFO("FactoryReset: recursively deleting dir %s...", delpath.c_str());
try {
std::filesystem::remove_all(delpath.c_str());
@@ 176,15 185,15 @@ namespace FactoryReset
std::unique_ptr<std::FILE, decltype(lamb)> tf(std::fopen(targetfile.c_str(), "w"), lamb);
if ((sf.get() != nullptr) && (tf.get() != nullptr)) {
- std::unique_ptr<unsigned char[]> buffer(new unsigned char[purefs::buffer::copy_buf]);
+ std::unique_ptr<unsigned char[]> buffer(new unsigned char[copy_buf]);
if (buffer.get() != nullptr) {
- uint32_t loopcount = (utils::filesystem::filelength(sf.get()) / purefs::buffer::copy_buf) + 1u;
- uint32_t readsize = purefs::buffer::copy_buf;
+ uint32_t loopcount = (utils::filesystem::filelength(sf.get()) / copy_buf) + 1u;
+ uint32_t readsize = copy_buf;
for (uint32_t i = 0u; i < loopcount; i++) {
if (i + 1u == loopcount) {
- readsize = utils::filesystem::filelength(sf.get()) % purefs::buffer::copy_buf;
+ readsize = utils::filesystem::filelength(sf.get()) % copy_buf;
}
if (std::fread(buffer.get(), 1, readsize, sf.get()) != readsize) {
M module-services/service-gui/ServiceGUI.cpp => module-services/service-gui/ServiceGUI.cpp +3 -2
@@ 37,6 37,7 @@ extern "C"
#include <list>
#include <memory>
#include <utility>
+#include <purefs/filesystem_paths.hpp>
namespace sgui
{
@@ 52,10 53,10 @@ namespace sgui
transferContext = new gui::Context(screenWidth, screenHeight);
gui::FontManager &fontManager = gui::FontManager::getInstance();
- fontManager.init("assets");
+ fontManager.init(purefs::dir::getCurrentOSPath() / "assets");
gui::ImageManager &imageManager = gui::ImageManager::getInstance();
- imageManager.init("assets");
+ imageManager.init(purefs::dir::getCurrentOSPath() / "assets");
connect(typeid(sgui::DrawMessage),
[&](sys::Message *request) -> sys::MessagePointer { return handleDrawMessage(request); });
M module-services/service-gui/ServiceGUI.hpp => module-services/service-gui/ServiceGUI.hpp +0 -2
@@ 9,8 9,6 @@
#include <gui/core/Context.hpp>
#include <gui/core/Renderer.hpp>
#include <gui/input/Translator.hpp>
-#include <queue.h>
-#include <semphr.h>
#include <Service/Common.hpp>
#include <Service/Message.hpp>
#include <Service/Service.hpp>
M module-utils/Utils.cpp => module-utils/Utils.cpp +38 -3
@@ 2,16 2,26 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include "Utils.hpp"
+#include <purefs/fs/filesystem.hpp>
+#include <crc32/crc32.h>
namespace utils::filesystem
{
+ namespace
+ {
+ inline constexpr auto crc_buf = 1024;
+ } // namespace
+
long int filelength(std::FILE *file) noexcept
{
if (file == nullptr) {
return 0;
}
+ const auto startPosition = std::ftell(file);
std::fseek(file, 0, SEEK_END);
- return std::ftell(file);
+ const auto endPosition = std::ftell(file);
+ std::fseek(file, startPosition, SEEK_SET);
+ return endPosition;
}
void computeCRC32(std::FILE *file, unsigned long *outCrc32) noexcept
@@ 19,13 29,13 @@ namespace utils::filesystem
if (outCrc32 == nullptr)
return;
- auto buf = std::make_unique<unsigned char[]>(purefs::buffer::crc_buf);
+ auto buf = std::make_unique<unsigned char[]>(crc_buf);
size_t bufLen;
*outCrc32 = 0;
while (!std::feof(file)) {
- bufLen = std::fread(buf.get(), 1, purefs::buffer::crc_buf, file);
+ bufLen = std::fread(buf.get(), 1, crc_buf, file);
if (bufLen <= 0)
break;
@@ 50,4 60,29 @@ namespace utils::filesystem
return random_string;
}
+
+ std::string getline(std::FILE *stream, uint32_t length) noexcept
+ {
+ std::uint32_t currentPosition = std::ftell(stream);
+
+ // allocate memory to read number of signs defined by length param. Size of buffer is increased by 1 to add
+ // string's null terminator.
+ auto buffer = std::make_unique<char[]>(length + 1);
+
+ std::uint32_t bytesRead = std::fread(buffer.get(), 1, length, stream);
+
+ // search buffer for /n sign
+ constexpr auto newLineSign = 0x0A;
+ for (std::uint32_t i = 0; i < bytesRead; ++i) {
+ if (buffer[i] == newLineSign) {
+ buffer[i] = 0;
+ std::fseek(stream, currentPosition + i + 1, SEEK_SET);
+ break;
+ }
+ }
+
+ std::string ret = std::string(buffer.get());
+
+ return ret;
+ }
} // namespace utils::filesystem
M module-utils/Utils.hpp => module-utils/Utils.hpp +4 -4
@@ 2,14 2,15 @@
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
-#include "module-utils/i18n/i18n.hpp"
+#include "i18n/i18n.hpp"
#include <algorithm> // std::find_if_not
#include <log/log.hpp>
#include <sstream>
#include <iomanip>
#include <cmath>
+#include <chrono>
#include <random>
-#include "module-utils/time/time_conversion.hpp"
+#include "time/time_conversion.hpp"
#define MAGIC_ENUM_RANGE_MAX 256
#include <magic_enum.hpp>
@@ 245,9 246,8 @@ namespace utils
namespace filesystem
{
[[nodiscard]] long int filelength(std::FILE *file) noexcept;
-
void computeCRC32(std::FILE *file, unsigned long *outCrc32) noexcept;
-
[[nodiscard]] std::string generateRandomId(std::size_t length = 0) noexcept;
+ [[nodiscard]] std::string getline(std::FILE *stream, uint32_t length = 1024) noexcept;
} // namespace filesystem
} // namespace utils
M module-utils/i18n/i18n.cpp => module-utils/i18n/i18n.cpp +14 -12
@@ 1,7 1,12 @@
// Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
+#include "log/log.hpp"
#include "i18n.hpp"
+#include "Utils.hpp"
+#include <cstdio>
+#include <filesystem>
+#include <purefs/filesystem_paths.hpp>
namespace utils
{
@@ 19,26 24,23 @@ namespace utils
i18n localize;
json11::Json LangLoader::createJson(const std::string &filename)
{
- const fs::path path = LanguageDirPath / (filename + extension);
- auto fd = vfs.fopen(path.c_str(), "r");
+ const auto path = LanguageDirPath / (filename + extension);
+ auto fd = std::fopen(path.c_str(), "r");
if (fd == nullptr) {
LOG_FATAL("Error during opening file %s", path.c_str());
return json11::Json();
}
- uint32_t fsize = vfs.filelength(fd);
+ uint32_t fsize = utils::filesystem::filelength(fd);
- auto stream = new char[fsize + 1]; // +1 for NULL terminator
+ auto stream = std::make_unique<char[]>(fsize + 1); // +1 for NULL terminator
- memset(stream, 0, fsize + 1);
-
- vfs.fread(stream, 1, fsize, fd);
+ std::fread(stream.get(), 1, fsize, fd);
std::string err;
- json11::Json js = json11::Json::parse(stream, err);
+ json11::Json js = json11::Json::parse(stream.get(), err);
- delete[] stream;
- vfs.fclose(fd);
+ std::fclose(fd);
// Error
if (err.length() != 0) {
@@ 53,8 55,8 @@ namespace utils
std::vector<Language> LangLoader::getAvailableDisplayLanguages() const
{
std::vector<std::string> languageNames;
- for (const auto &entry : fs::directory_iterator(LanguageDirPath)) {
- languageNames.push_back(fs::path(entry.path()).stem());
+ for (const auto &entry : std::filesystem::directory_iterator(LanguageDirPath)) {
+ languageNames.push_back(std::filesystem::path(entry.path()).stem());
}
return languageNames;
}
M module-utils/i18n/i18n.hpp => module-utils/i18n/i18n.hpp +2 -14
@@ 5,9 5,6 @@
#include "json/json11.hpp"
#include <string>
#include <vfs.hpp>
-#include "log/log.hpp"
-
-#include "thread.hpp"
using Language = std::string;
@@ 16,10 13,7 @@ namespace utils
class LangLoader
{
public:
- LangLoader()
- {}
- virtual ~LangLoader()
- {}
+ virtual ~LangLoader() = default;
std::vector<Language> getAvailableDisplayLanguages() const;
json11::Json createJson(const std::string &filename);
};
@@ 38,14 32,8 @@ namespace utils
public:
static constexpr auto DefaultLanguage = "English";
- // Default constructor, left empty on purpose
- i18n()
- {}
- // Explicit initialization point, default constructor is omitted. This is because LangLoader uses file system
- // which is not available at program's startup.
- virtual ~i18n()
- {}
+ virtual ~i18n() = default;
void setInputLanguage(const Language &lang);
const std::string &getInputLanguage(const std::string &str);
const std::string &get(const std::string &str);
M module-utils/test/test_time_conversion.cpp => module-utils/test/test_time_conversion.cpp +2 -0
@@ 5,6 5,8 @@
#include <time/time_conversion.hpp>
#include <algorithm>
#include <thread.hpp>
+#include <vfs.hpp>
+#include "i18n/i18n.hpp"
namespace
{
M module-utils/test/unittest_duration.cpp => module-utils/test/unittest_duration.cpp +1 -0
@@ 4,6 4,7 @@
#include <cstring>
#include <iostream>
#include <memory>
+#include <vfs.hpp>
#include <unistd.h>
#include "time/time_conversion.hpp"
M module-utils/test/unittest_utils.cpp => module-utils/test/unittest_utils.cpp +1 -0
@@ 11,6 11,7 @@
#include <catch2/catch.hpp>
#include "Utils.hpp"
+#include <vfs.hpp>
class vfs vfs;
M module-utils/time/time_conversion.cpp => module-utils/time/time_conversion.cpp +1 -1
@@ 14,7 14,7 @@
#include <ctime>
#include <iomanip>
#include <locale>
-#include <module-utils/i18n/i18n.hpp>
+#include "i18n/i18n.hpp"
#include "time_locale.hpp"
#include <Utils.hpp>
M module-utils/time/time_locale.hpp => module-utils/time/time_locale.hpp +1 -1
@@ 5,7 5,7 @@
#include <array>
#include <utf8/UTF8.hpp>
-#include <module-utils/i18n/i18n.hpp>
+#include "i18n/i18n.hpp"
#include <log/log.hpp>
namespace utils