diff --git a/.cache/clangd/index/ConditionalCircularLinkedList.cpp.FD87E6BCC915CCD1.idx b/.cache/clangd/index/ConditionalCircularLinkedList.cpp.FD87E6BCC915CCD1.idx new file mode 100644 index 0000000..70f80b3 Binary files /dev/null and b/.cache/clangd/index/ConditionalCircularLinkedList.cpp.FD87E6BCC915CCD1.idx differ diff --git a/.cache/clangd/index/ConditionalCircularLinkedList.h.B8C8DDA6C2A08E88.idx b/.cache/clangd/index/ConditionalCircularLinkedList.h.B8C8DDA6C2A08E88.idx new file mode 100644 index 0000000..0a775e3 Binary files /dev/null and b/.cache/clangd/index/ConditionalCircularLinkedList.h.B8C8DDA6C2A08E88.idx differ diff --git a/.cache/clangd/index/DatabaseManager.cpp.A503032B25B9DAAF.idx b/.cache/clangd/index/DatabaseManager.cpp.A503032B25B9DAAF.idx new file mode 100644 index 0000000..153c422 Binary files /dev/null and b/.cache/clangd/index/DatabaseManager.cpp.A503032B25B9DAAF.idx differ diff --git a/.cache/clangd/index/DatabaseManager.h.23E39B73DE500DF4.idx b/.cache/clangd/index/DatabaseManager.h.23E39B73DE500DF4.idx new file mode 100644 index 0000000..0dd1c5f Binary files /dev/null and b/.cache/clangd/index/DatabaseManager.h.23E39B73DE500DF4.idx differ diff --git a/.cache/clangd/index/FloatingControls.cpp.9D6FC09D4D6F0FCF.idx b/.cache/clangd/index/FloatingControls.cpp.9D6FC09D4D6F0FCF.idx new file mode 100644 index 0000000..e119601 Binary files /dev/null and b/.cache/clangd/index/FloatingControls.cpp.9D6FC09D4D6F0FCF.idx differ diff --git a/.cache/clangd/index/FloatingControls.h.D700FFEBDCCA4F1D.idx b/.cache/clangd/index/FloatingControls.h.D700FFEBDCCA4F1D.idx new file mode 100644 index 0000000..a6c0e1c Binary files /dev/null and b/.cache/clangd/index/FloatingControls.h.D700FFEBDCCA4F1D.idx differ diff --git a/.cache/clangd/index/HomePage.cpp.9F3A1A2E76067ACC.idx b/.cache/clangd/index/HomePage.cpp.9F3A1A2E76067ACC.idx new file mode 100644 index 0000000..3599da6 Binary files /dev/null and b/.cache/clangd/index/HomePage.cpp.9F3A1A2E76067ACC.idx differ diff --git a/.cache/clangd/index/HomePage.h.CF8699CD8CEC90BC.idx b/.cache/clangd/index/HomePage.h.CF8699CD8CEC90BC.idx new file mode 100644 index 0000000..f8c7f76 Binary files /dev/null and b/.cache/clangd/index/HomePage.h.CF8699CD8CEC90BC.idx differ diff --git a/.cache/clangd/index/LocalFolderPage.cpp.54733FBF83D2A274.idx b/.cache/clangd/index/LocalFolderPage.cpp.54733FBF83D2A274.idx new file mode 100644 index 0000000..46b41d5 Binary files /dev/null and b/.cache/clangd/index/LocalFolderPage.cpp.54733FBF83D2A274.idx differ diff --git a/.cache/clangd/index/LocalFolderPage.h.D9CD5A943852BAF0.idx b/.cache/clangd/index/LocalFolderPage.h.D9CD5A943852BAF0.idx new file mode 100644 index 0000000..680b806 Binary files /dev/null and b/.cache/clangd/index/LocalFolderPage.h.D9CD5A943852BAF0.idx differ diff --git a/.cache/clangd/index/MainWidget.cpp.5DFC36EBDED209E4.idx b/.cache/clangd/index/MainWidget.cpp.5DFC36EBDED209E4.idx new file mode 100644 index 0000000..1d0159c Binary files /dev/null and b/.cache/clangd/index/MainWidget.cpp.5DFC36EBDED209E4.idx differ diff --git a/.cache/clangd/index/MainWidget.h.9D6875C73901EEB4.idx b/.cache/clangd/index/MainWidget.h.9D6875C73901EEB4.idx new file mode 100644 index 0000000..c38b51d Binary files /dev/null and b/.cache/clangd/index/MainWidget.h.9D6875C73901EEB4.idx differ diff --git a/.cache/clangd/index/MainWindow.cpp.6F03657BD43A954A.idx b/.cache/clangd/index/MainWindow.cpp.6F03657BD43A954A.idx new file mode 100644 index 0000000..a0a3f78 Binary files /dev/null and b/.cache/clangd/index/MainWindow.cpp.6F03657BD43A954A.idx differ diff --git a/.cache/clangd/index/MainWindow.h.86D281384F92517D.idx b/.cache/clangd/index/MainWindow.h.86D281384F92517D.idx new file mode 100644 index 0000000..47291d4 Binary files /dev/null and b/.cache/clangd/index/MainWindow.h.86D281384F92517D.idx differ diff --git a/.cache/clangd/index/MusicPlayer.cpp.35246BE0F9B744D8.idx b/.cache/clangd/index/MusicPlayer.cpp.35246BE0F9B744D8.idx new file mode 100644 index 0000000..905e549 Binary files /dev/null and b/.cache/clangd/index/MusicPlayer.cpp.35246BE0F9B744D8.idx differ diff --git a/.cache/clangd/index/MusicPlayer.h.55673DB92FB3CBAC.idx b/.cache/clangd/index/MusicPlayer.h.55673DB92FB3CBAC.idx new file mode 100644 index 0000000..5d87329 Binary files /dev/null and b/.cache/clangd/index/MusicPlayer.h.55673DB92FB3CBAC.idx differ diff --git a/.cache/clangd/index/NavButton.cpp.232950D13D6E2515.idx b/.cache/clangd/index/NavButton.cpp.232950D13D6E2515.idx new file mode 100644 index 0000000..7d95c65 Binary files /dev/null and b/.cache/clangd/index/NavButton.cpp.232950D13D6E2515.idx differ diff --git a/.cache/clangd/index/NavButton.h.B2661538EA8CB03C.idx b/.cache/clangd/index/NavButton.h.B2661538EA8CB03C.idx new file mode 100644 index 0000000..8dc277a Binary files /dev/null and b/.cache/clangd/index/NavButton.h.B2661538EA8CB03C.idx differ diff --git a/.cache/clangd/index/Page.h.7236B7411CB0711C.idx b/.cache/clangd/index/Page.h.7236B7411CB0711C.idx new file mode 100644 index 0000000..e76b2cc Binary files /dev/null and b/.cache/clangd/index/Page.h.7236B7411CB0711C.idx differ diff --git a/.cache/clangd/index/PageButton.cpp.BCA2460698AE4C50.idx b/.cache/clangd/index/PageButton.cpp.BCA2460698AE4C50.idx new file mode 100644 index 0000000..9425ff5 Binary files /dev/null and b/.cache/clangd/index/PageButton.cpp.BCA2460698AE4C50.idx differ diff --git a/.cache/clangd/index/PageButton.h.511EB232CEA388B7.idx b/.cache/clangd/index/PageButton.h.511EB232CEA388B7.idx new file mode 100644 index 0000000..98993dd Binary files /dev/null and b/.cache/clangd/index/PageButton.h.511EB232CEA388B7.idx differ diff --git a/.cache/clangd/index/PageManager.cpp.1B1901F3F7E349D2.idx b/.cache/clangd/index/PageManager.cpp.1B1901F3F7E349D2.idx new file mode 100644 index 0000000..df123dc Binary files /dev/null and b/.cache/clangd/index/PageManager.cpp.1B1901F3F7E349D2.idx differ diff --git a/.cache/clangd/index/PageManager.h.540F872042D01058.idx b/.cache/clangd/index/PageManager.h.540F872042D01058.idx new file mode 100644 index 0000000..83faf51 Binary files /dev/null and b/.cache/clangd/index/PageManager.h.540F872042D01058.idx differ diff --git a/.cache/clangd/index/PageNavModule.cpp.B8A5436AE1D26BC0.idx b/.cache/clangd/index/PageNavModule.cpp.B8A5436AE1D26BC0.idx new file mode 100644 index 0000000..0945e88 Binary files /dev/null and b/.cache/clangd/index/PageNavModule.cpp.B8A5436AE1D26BC0.idx differ diff --git a/.cache/clangd/index/PageNavModule.h.A94ED7D15479146B.idx b/.cache/clangd/index/PageNavModule.h.A94ED7D15479146B.idx new file mode 100644 index 0000000..a02b697 Binary files /dev/null and b/.cache/clangd/index/PageNavModule.h.A94ED7D15479146B.idx differ diff --git a/.cache/clangd/index/PlaylistButton.cpp.D5C68B99FD7FDD82.idx b/.cache/clangd/index/PlaylistButton.cpp.D5C68B99FD7FDD82.idx new file mode 100644 index 0000000..7f92cb1 Binary files /dev/null and b/.cache/clangd/index/PlaylistButton.cpp.D5C68B99FD7FDD82.idx differ diff --git a/.cache/clangd/index/PlaylistButton.h.9600C49697E3BC79.idx b/.cache/clangd/index/PlaylistButton.h.9600C49697E3BC79.idx new file mode 100644 index 0000000..c5cc8b7 Binary files /dev/null and b/.cache/clangd/index/PlaylistButton.h.9600C49697E3BC79.idx differ diff --git a/.cache/clangd/index/PlaylistNavModule.cpp.974D2EF27CEAA00B.idx b/.cache/clangd/index/PlaylistNavModule.cpp.974D2EF27CEAA00B.idx new file mode 100644 index 0000000..c663a3d Binary files /dev/null and b/.cache/clangd/index/PlaylistNavModule.cpp.974D2EF27CEAA00B.idx differ diff --git a/.cache/clangd/index/PlaylistNavModule.h.73386ED7039B9D14.idx b/.cache/clangd/index/PlaylistNavModule.h.73386ED7039B9D14.idx new file mode 100644 index 0000000..aa9cf15 Binary files /dev/null and b/.cache/clangd/index/PlaylistNavModule.h.73386ED7039B9D14.idx differ diff --git a/.cache/clangd/index/PlaylistPage.cpp.C16327D31185E2F1.idx b/.cache/clangd/index/PlaylistPage.cpp.C16327D31185E2F1.idx new file mode 100644 index 0000000..79fed89 Binary files /dev/null and b/.cache/clangd/index/PlaylistPage.cpp.C16327D31185E2F1.idx differ diff --git a/.cache/clangd/index/PlaylistPage.h.3202C9FD0097ABBA.idx b/.cache/clangd/index/PlaylistPage.h.3202C9FD0097ABBA.idx new file mode 100644 index 0000000..95eb717 Binary files /dev/null and b/.cache/clangd/index/PlaylistPage.h.3202C9FD0097ABBA.idx differ diff --git a/.cache/clangd/index/QOverlayout.cpp.B4E1724C37909521.idx b/.cache/clangd/index/QOverlayout.cpp.B4E1724C37909521.idx new file mode 100644 index 0000000..cebddd6 Binary files /dev/null and b/.cache/clangd/index/QOverlayout.cpp.B4E1724C37909521.idx differ diff --git a/.cache/clangd/index/QOverlayout.h.35ABCC70DC986F47.idx b/.cache/clangd/index/QOverlayout.h.35ABCC70DC986F47.idx new file mode 100644 index 0000000..0cf743b Binary files /dev/null and b/.cache/clangd/index/QOverlayout.h.35ABCC70DC986F47.idx differ diff --git a/.cache/clangd/index/SettingsPage.cpp.0F7B559628C24FAD.idx b/.cache/clangd/index/SettingsPage.cpp.0F7B559628C24FAD.idx new file mode 100644 index 0000000..bb9309d Binary files /dev/null and b/.cache/clangd/index/SettingsPage.cpp.0F7B559628C24FAD.idx differ diff --git a/.cache/clangd/index/SettingsPage.h.4C6A7DAE17AA1AE9.idx b/.cache/clangd/index/SettingsPage.h.4C6A7DAE17AA1AE9.idx new file mode 100644 index 0000000..f72e8f5 Binary files /dev/null and b/.cache/clangd/index/SettingsPage.h.4C6A7DAE17AA1AE9.idx differ diff --git a/.cache/clangd/index/SongHistory.hpp.46F986F57DCF6132.idx b/.cache/clangd/index/SongHistory.hpp.46F986F57DCF6132.idx new file mode 100644 index 0000000..a795930 Binary files /dev/null and b/.cache/clangd/index/SongHistory.hpp.46F986F57DCF6132.idx differ diff --git a/.cache/clangd/index/SongQueue.cpp.E3B5F5C8C8F97897.idx b/.cache/clangd/index/SongQueue.cpp.E3B5F5C8C8F97897.idx new file mode 100644 index 0000000..ae202aa Binary files /dev/null and b/.cache/clangd/index/SongQueue.cpp.E3B5F5C8C8F97897.idx differ diff --git a/.cache/clangd/index/SongQueue.h.E8386E8A98EC7134.idx b/.cache/clangd/index/SongQueue.h.E8386E8A98EC7134.idx new file mode 100644 index 0000000..cdf04a1 Binary files /dev/null and b/.cache/clangd/index/SongQueue.h.E8386E8A98EC7134.idx differ diff --git a/.cache/clangd/index/SvgToPixmap.hpp.26FC7AEAAFB57F5A.idx b/.cache/clangd/index/SvgToPixmap.hpp.26FC7AEAAFB57F5A.idx new file mode 100644 index 0000000..a620d8f Binary files /dev/null and b/.cache/clangd/index/SvgToPixmap.hpp.26FC7AEAAFB57F5A.idx differ diff --git a/.cache/clangd/index/audio.cpp.D0B3798878719D8D.idx b/.cache/clangd/index/audio.cpp.D0B3798878719D8D.idx new file mode 100644 index 0000000..a36530b Binary files /dev/null and b/.cache/clangd/index/audio.cpp.D0B3798878719D8D.idx differ diff --git a/.cache/clangd/index/audio.h.F9F96F778B99E274.idx b/.cache/clangd/index/audio.h.F9F96F778B99E274.idx new file mode 100644 index 0000000..17442ea Binary files /dev/null and b/.cache/clangd/index/audio.h.F9F96F778B99E274.idx differ diff --git a/.cache/clangd/index/main.cpp.6CC56DDB3575B3B3.idx b/.cache/clangd/index/main.cpp.6CC56DDB3575B3B3.idx new file mode 100644 index 0000000..b83d0bf Binary files /dev/null and b/.cache/clangd/index/main.cpp.6CC56DDB3575B3B3.idx differ diff --git a/.cache/clangd/index/song.cpp.0710647CC76D17C2.idx b/.cache/clangd/index/song.cpp.0710647CC76D17C2.idx new file mode 100644 index 0000000..6a34ce7 Binary files /dev/null and b/.cache/clangd/index/song.cpp.0710647CC76D17C2.idx differ diff --git a/.cache/clangd/index/song.h.B99CA1C6DB8FDD85.idx b/.cache/clangd/index/song.h.B99CA1C6DB8FDD85.idx new file mode 100644 index 0000000..18be783 Binary files /dev/null and b/.cache/clangd/index/song.h.B99CA1C6DB8FDD85.idx differ diff --git a/CMakeLists.txt b/CMakeLists.txt index d74d2a1..4da0f8e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,7 @@ target_link_libraries(CryliaPlayer PRIVATE ${SDL_LIBRARIES} ${SDL_MIXER_LIBRARY} PkgConfig::LIBAV + fmt ) install(TARGETS CryliaPlayer diff --git a/src/View/Modules/PageNavModule/PageNavModule.cpp b/src/View/Modules/PageNavModule/PageNavModule.cpp index 3bebd8c..9cc59d8 100755 --- a/src/View/Modules/PageNavModule/PageNavModule.cpp +++ b/src/View/Modules/PageNavModule/PageNavModule.cpp @@ -2,10 +2,10 @@ PageNavModule::PageNavModule(QWidget* parent) : QFrame(parent), - home(new PageNavigator(new HomePage( ), "Home", ":icons/home-outline.svg", "#81D4FA")), - localFiles(new PageNavigator(new LocalFolderPage( ), "Local Files", ":icons/folder-outline.svg", "#FFE082")), - playlist(new PageNavigator(new PlaylistPage( ), "Playlist", ":icons/magnify.svg", "#CE93D8")), - settings(new PageNavigator(new SettingsPage( ), "Settings", ":icons/magnify.svg", "#C5E1A5")) { + home(new PageButton(QString("Home"), QString("#81D4FA"), QString(":icons/home-outline.svg"), new HomePage( ), this)), + localFiles(new PageButton("Local Files", QString("#FFE082"), QString(":icons/folder-outline.svg"), new LocalFolderPage( ), this)), + playlist(new PageButton("Playlist", QString("#CE93D8"), QString(":icons/magnify.svg"), new PlaylistPage( ), this)), + settings(new PageButton("Settings", QString("#C5E1A5"), QString(":icons/magnify.svg"), new SettingsPage( ), this)) { this->setStyleSheet(R"( background-color: #282828; @@ -23,35 +23,35 @@ PageNavModule::PageNavModule(QWidget* parent) : layout->addWidget(localFiles); layout->addWidget(playlist); - home->select( ); + home->Select( ); PageManager& pageManager = PageManager::getInstance( ); - connect(home, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->select( ); - localFiles->unselect( ); - playlist->unselect( ); - settings->unselect( ); + connect(home, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Select( ); + localFiles->Unselect( ); + playlist->Unselect( ); + settings->Unselect( ); emit pageManager.ActivePageChanged(page); }); - connect(localFiles, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->unselect( ); - localFiles->select( ); - playlist->unselect( ); - settings->unselect( ); + connect(localFiles, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Unselect( ); + localFiles->Select( ); + playlist->Unselect( ); + settings->Unselect( ); emit pageManager.ActivePageChanged(page); }); - connect(playlist, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->unselect( ); - localFiles->unselect( ); - playlist->select( ); - settings->unselect( ); + connect(playlist, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Unselect( ); + localFiles->Unselect( ); + playlist->Select( ); + settings->Unselect( ); emit pageManager.ActivePageChanged(page); }); - connect(settings, &PageNavigator::SelectedChanged, [&pageManager, this](Page* page) { - home->unselect( ); - localFiles->unselect( ); - playlist->unselect( ); - settings->select( ); + connect(settings, &NavButton::SelectedChanged, [&pageManager, this](Page* page) { + home->Unselect( ); + localFiles->Unselect( ); + playlist->Unselect( ); + settings->Select( ); emit pageManager.ActivePageChanged(page); }); } diff --git a/src/View/Modules/PageNavModule/PageNavModule.h b/src/View/Modules/PageNavModule/PageNavModule.h index 8fce25a..20871e1 100755 --- a/src/View/Modules/PageNavModule/PageNavModule.h +++ b/src/View/Modules/PageNavModule/PageNavModule.h @@ -4,8 +4,10 @@ #include #include #include +#include -#include "../../Widgets/PageNavigator/PageNavigator.h" +#include "../../Widgets/NavigatorButton/NavButton.h" +#include "../../Widgets/NavigatorButton/PageButton/PageButton.h" #include "../../Tools/SvgToPixmap.hpp" #include "../../Pages/Home/HomePage.h" #include "../../Pages/Playlist/PlaylistPage.h" @@ -16,12 +18,12 @@ class PageNavModule : public QFrame { Q_OBJECT private: - QVector* pages; + QVector* pages; - PageNavigator* home; - PageNavigator* localFiles; - PageNavigator* playlist; - PageNavigator* settings; + NavButton* home; + NavButton* localFiles; + NavButton* playlist; + NavButton* settings; public: PageNavModule(QWidget* parent = nullptr); diff --git a/src/View/Pages/Home/HomePage.cpp b/src/View/Pages/Home/HomePage.cpp index 500ebb8..4dd8e5b 100644 --- a/src/View/Pages/Home/HomePage.cpp +++ b/src/View/Pages/Home/HomePage.cpp @@ -3,7 +3,7 @@ HomePage::HomePage(QWidget* parent) : Page(parent) { setStyleSheet(R"( - background-color: #28FF28; + background-color: #282828; border-radius: 12px; )"); diff --git a/src/View/Pages/LocalFolder/LocalFolderPage.cpp b/src/View/Pages/LocalFolder/LocalFolderPage.cpp index 0efacaf..552cb7e 100644 --- a/src/View/Pages/LocalFolder/LocalFolderPage.cpp +++ b/src/View/Pages/LocalFolder/LocalFolderPage.cpp @@ -3,7 +3,7 @@ LocalFolderPage::LocalFolderPage(QWidget* parent) : Page(parent) { setStyleSheet(R"( - background-color: #FF2828; + background-color: #282828; border-radius: 12px; )"); diff --git a/src/View/Pages/Playlist/PlaylistPage.cpp b/src/View/Pages/Playlist/PlaylistPage.cpp index a036a31..36f9d4a 100755 --- a/src/View/Pages/Playlist/PlaylistPage.cpp +++ b/src/View/Pages/Playlist/PlaylistPage.cpp @@ -3,7 +3,7 @@ PlaylistPage::PlaylistPage(QWidget* parent) :Page(parent) { setStyleSheet(R"( - background-color: #2828ff; + background-color: #282828; border-radius: 12px; )"); diff --git a/src/View/Widgets/NavigationButton/NavigationButton.cpp b/src/View/Widgets/NavigationButton/NavigationButton.cpp deleted file mode 100644 index e5bf25b..0000000 --- a/src/View/Widgets/NavigationButton/NavigationButton.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "NavigationButton.h" - -NavigationButton::NavigationButton( ) { } - -NavigationButton::~NavigationButton( ) { } - -void setSelected(NavigationButton* newSelected); -NavigationButton getSelected( ) { } - -void NavigationButton::select( ) { } -void NavigationButton::unselect( ) { } diff --git a/src/View/Widgets/NavigationButton/NavigationButton.h b/src/View/Widgets/NavigationButton/NavigationButton.h deleted file mode 100644 index 2772088..0000000 --- a/src/View/Widgets/NavigationButton/NavigationButton.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include -#include -#include - -class NavigationButton : public QPushButton { - Q_OBJECT -private: - QLabel* m_icon; - QLabel* m_name; - QString* m_colorHex; - - static NavigationButton* m_selected; - -public: - static void setSelected(NavigationButton* newSelected); - static NavigationButton* getSelected( ); - - NavigationButton( ); - ~NavigationButton( ); - -signals: - void unselected( ); - void selected( ); - -private slots: - void select( ); - void unselect( ); - -}; diff --git a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp b/src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp deleted file mode 100644 index a7689d5..0000000 --- a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "PagesButton.h" - -PagesButton::PagesButton( ) { } -PagesButton::~PagesButton( ) { } diff --git a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.h b/src/View/Widgets/NavigationButton/PagesButton/PagesButton.h deleted file mode 100644 index 6f72cd1..0000000 --- a/src/View/Widgets/NavigationButton/PagesButton/PagesButton.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../NavigationButton.h" - -class PagesButton : NavigationButton { -private: - -public: - PagesButton( ); - ~PagesButton( ); -}; diff --git a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp b/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp deleted file mode 100644 index 6016e2d..0000000 --- a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "PlaylistButton.h" - -PlaylistButton::PlaylistButton( ) { } -PlaylistButton::~PlaylistButton( ) { } diff --git a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h b/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h deleted file mode 100644 index 43c2584..0000000 --- a/src/View/Widgets/NavigationButton/PlaylistButton/PlaylistButton.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../NavigationButton.h" - -class PlaylistButton : NavigationButton { -private: - -public: - PlaylistButton( ); - ~PlaylistButton( ); -}; diff --git a/src/View/Widgets/PageNavigator/PageNavigator.cpp b/src/View/Widgets/NavigatorButton/NavButton.cpp similarity index 50% rename from src/View/Widgets/PageNavigator/PageNavigator.cpp rename to src/View/Widgets/NavigatorButton/NavButton.cpp index 260eda5..b178ebb 100644 --- a/src/View/Widgets/PageNavigator/PageNavigator.cpp +++ b/src/View/Widgets/NavigatorButton/NavButton.cpp @@ -1,20 +1,7 @@ -#include "PageNavigator.h" -#include +#include "NavButton.h" -class SquareIcon : public QLabel { -public: - QSize sizeHint( ) const override { - QSize hint = QLabel::sizeHint( ); - int side = qMin(hint.width( ), hint.height( )); - return QSize(side, side); - } -}; - -PageNavigator::PageNavigator(Page* page, QString text, QString icon, QString color, QWidget* parent) - :page(page), m_text(new QLabel(text)), m_icon(new SquareIcon( )), m_color(color), m_iconPath(icon) { - - - QSvgRenderer renderer(icon); +void NavButton::setupButton( ) { + QSvgRenderer renderer(iconPath); QPixmap pixmap(32, 32); pixmap.fill(Qt::transparent); @@ -30,10 +17,10 @@ PageNavigator::PageNavigator(Page* page, QString text, QString icon, QString col m_icon->setObjectName("icon"); m_text->setObjectName("Text"); - setObjectName("PageNavigator"); + setObjectName("NavButton"); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setStyleSheet(R"( - #PageNavigator{ + #NavButton{ border: 4px solid #414141; border-radius: 6px; } @@ -60,30 +47,15 @@ PageNavigator::PageNavigator(Page* page, QString text, QString icon, QString col } -void PageNavigator::unselect( ) { - setStyleSheet(R"( - #PageNavigator{ - border: 4px solid #414141; - border-radius: 6px; - } - #Text{ - color: #E0E0E0; - } - )"); +NavButton::NavButton(QString text, QString color, QString icon_path, Page* page, QWidget* parent = nullptr) : + QPushButton(parent), + m_text(new QLabel(text)), + m_color(new QString(color)), + m_icon(new SquareIcon( )), + page(page), + iconPath(icon_path), + color(color) { + setupButton( ); } -void PageNavigator::select( ) { - setStyleSheet(R"( - #PageNavigator{ - border: 4px solid )" + m_color + R"(; - border-radius: 6px; - } - #Text{ - color: #E0E0E0; - } - )"); -} - -QString PageNavigator::GetText( ) { - return m_text->text( ); -} +NavButton::~NavButton( ) { } diff --git a/src/View/Widgets/NavigatorButton/NavButton.h b/src/View/Widgets/NavigatorButton/NavButton.h new file mode 100644 index 0000000..649c3fe --- /dev/null +++ b/src/View/Widgets/NavigatorButton/NavButton.h @@ -0,0 +1,48 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include + +#include "../../../View/Pages/Page.h" + +class SquareIcon : public QLabel { +public: + QSize sizeHint( ) const override { + QSize hint = QLabel::sizeHint( ); + int side = qMin(hint.width( ), hint.height( )); + return QSize(side, side); + } +}; + +class NavButton : public QPushButton { + Q_OBJECT +protected: + QLabel* m_text; + SquareIcon* m_icon; + QString* m_color; + + Page* page; + + QString iconPath; + QString color; +private: + void setupButton( ); +public: + NavButton(QString, QString, QString, Page*, QWidget*); + NavButton(QString, QString, QPixmap, Page*, QWidget*); + ~NavButton( ); + + void SetText(QString newText) { m_text->setText(newText); } + QString GetText( ) { return m_text->text( ); } + + virtual void Select( ) = 0; + virtual void Unselect( ) = 0; + +signals: + void SelectedChanged(Page* page); +}; diff --git a/src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp b/src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp new file mode 100644 index 0000000..0b0bb63 --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PageButton/PageButton.cpp @@ -0,0 +1,31 @@ +#include "PageButton.h" + +PageButton::PageButton(QString text, QString color, QString path, Page* page, QWidget* parent = nullptr) : + NavButton(text, color, path, page, parent) { } + +PageButton::~PageButton( ) { } + + +void PageButton::Select( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid )" + color + R"(; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} + +void PageButton::Unselect( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid #414141; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} diff --git a/src/View/Widgets/NavigatorButton/PageButton/PageButton.h b/src/View/Widgets/NavigatorButton/PageButton/PageButton.h new file mode 100644 index 0000000..0bdf26c --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PageButton/PageButton.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../NavButton.h" + +class PageButton : public NavButton { + +public: + PageButton(QString, QString, QString, Page*, QWidget*); + PageButton(QString, QString, QPixmap, Page*, QWidget*); + ~PageButton( ); + + void Select( ); + void Unselect( ); +}; + diff --git a/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp new file mode 100644 index 0000000..01fd435 --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.cpp @@ -0,0 +1,30 @@ +#include "PlaylistButton.h" + +void PlaylistButton::Select( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid )" + color + R"(; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} + +void PlaylistButton::Unselect( ) { + setStyleSheet(R"( + #NavButton{ + border: 4px solid #414141; + border-radius: 6px; + } + #Text{ + color: #E0E0E0; + } + )"); +} + +PlaylistButton::PlaylistButton(QString text, QString color, QString path, Page* page, QWidget* parent = nullptr) : + NavButton(text, color, path, page, parent) { } + +PlaylistButton::~PlaylistButton( ) { } diff --git a/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h new file mode 100644 index 0000000..bff6b00 --- /dev/null +++ b/src/View/Widgets/NavigatorButton/PlaylistButton/PlaylistButton.h @@ -0,0 +1,16 @@ +#pragma once + +#include "../NavButton.h" + +class PlaylistButton : public NavButton { +private: + //!Add Associated Playlist +public: + PlaylistButton(QString, QString, QString, Page*, QWidget*); + PlaylistButton(QString, QString, QPixmap, Page*, QWidget*); + ~PlaylistButton( ); + + void Select( ); + void Unselect( ); +}; + diff --git a/src/View/Widgets/PageNavigator/PageNavigator.h b/src/View/Widgets/PageNavigator/PageNavigator.h deleted file mode 100644 index 566b911..0000000 --- a/src/View/Widgets/PageNavigator/PageNavigator.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include - -#include "../../Tools/SvgToPixmap.hpp" -#include "../../Pages/Page.h" - -class PageNavigator :public QPushButton { - Q_OBJECT -private: - QLabel* m_text; - QLabel* m_icon; - QString m_iconPath; - QString m_color; - Page* page; - -public: - PageNavigator(Page* page, QString text, QString icon, QString color, QWidget* parent = nullptr); - - void unselect( ); - void select( ); - - QString GetText( ); - -signals: - void SelectedChanged(Page* page); -}; diff --git a/src/main.cpp b/src/main.cpp index 6e0d5a1..a488350 100755 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,11 +3,12 @@ #include #include #include +#include bool CheckValidFile(std::filesystem::path path) { //Allow to start with a song if (!std::filesystem::exists(path) || !std::filesystem::is_regular_file(path)) { - std::cerr << "ERROR: Path or file doesn't exist / is valid" << std::endl; + fmt::print("ERROR: Path or file doesn't exist / is valid"); return false; } std::string extension = path.extension( ).string( );