Mercurial > minori
comparison include/gui/dialog/settings.h @ 258:862d0d8619f6
*: HUUUGE changes
animia has been renamed to animone, so instead of thinking of a
health condition, you think of a beautiful flower :)
I've also edited some of the code for animone, but I have no idea
if it even works or not because I don't have a mac or windows
machine lying around. whoops!
... anyway, all of the changes divergent from Anisthesia are now
licensed under BSD. it's possible that I could even rewrite most
of the code to where I don't even have to keep the MIT license,
but that's thinking too far into the future
I've been slacking off on implementing the anime seasons page,
mostly out of laziness. I think I'd have to create another db file
specifically for the seasons
anyway, this code is being pushed *primarily* because the hard drive
it's on is failing! yay :)
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Mon, 01 Apr 2024 02:43:44 -0400 |
| parents | 4d461ef7d424 |
| children | 3ec7804abf17 |
comparison
equal
deleted
inserted
replaced
| 257:699a20c57dc8 | 258:862d0d8619f6 |
|---|---|
| 3 | 3 |
| 4 #include "core/anime.h" | 4 #include "core/anime.h" |
| 5 #include "core/config.h" | 5 #include "core/config.h" |
| 6 #include "core/session.h" | 6 #include "core/session.h" |
| 7 #include <QDialog> | 7 #include <QDialog> |
| 8 #include <QListWidget> | |
| 9 #include <QLocale> | |
| 8 #include <QWidget> | 10 #include <QWidget> |
| 9 #include <QLocale> | |
| 10 #include <QListWidget> | |
| 11 | 11 |
| 12 class QLabel; | 12 class QLabel; |
| 13 class QTabWidget; | 13 class QTabWidget; |
| 14 class QStackedWidget; | 14 class QStackedWidget; |
| 15 class SideBar; | 15 class SideBar; |
| 29 void dragMoveEvent(QDragMoveEvent* event) override; | 29 void dragMoveEvent(QDragMoveEvent* event) override; |
| 30 void dropEvent(QDropEvent* event) override; | 30 void dropEvent(QDropEvent* event) override; |
| 31 }; | 31 }; |
| 32 | 32 |
| 33 class SettingsPage : public QWidget { | 33 class SettingsPage : public QWidget { |
| 34 Q_OBJECT | 34 Q_OBJECT |
| 35 | 35 |
| 36 public: | 36 public: |
| 37 SettingsPage(QWidget* parent = nullptr, QString title = ""); | 37 SettingsPage(QWidget* parent = nullptr, QString title = ""); |
| 38 void SetTitle(QString title); | 38 void SetTitle(QString title); |
| 39 virtual void SaveInfo() = 0; | 39 virtual void SaveInfo() = 0; |
| 40 void AddTab(QWidget* tab, QString title = ""); | 40 void AddTab(QWidget* tab, QString title = ""); |
| 41 | 41 |
| 42 private: | 42 private: |
| 43 QLabel* page_title; | 43 QLabel* page_title; |
| 44 QTabWidget* tab_widget; | 44 QTabWidget* tab_widget; |
| 45 }; | 45 }; |
| 46 | 46 |
| 47 class SettingsPageServices final : public SettingsPage { | 47 class SettingsPageServices final : public SettingsPage { |
| 48 Q_OBJECT | 48 Q_OBJECT |
| 49 | 49 |
| 50 public: | 50 public: |
| 51 SettingsPageServices(QWidget* parent = nullptr); | 51 SettingsPageServices(QWidget* parent = nullptr); |
| 52 void SaveInfo() override; | 52 void SaveInfo() override; |
| 53 | 53 |
| 54 private: | 54 private: |
| 55 QWidget* CreateMainPage(); | 55 QWidget* CreateMainPage(); |
| 56 QWidget* CreateAniListPage(); | 56 QWidget* CreateAniListPage(); |
| 57 | 57 |
| 58 decltype(session.config.service) service; | 58 decltype(session.config.service) service; |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 class SettingsPageApplication final : public SettingsPage { | 61 class SettingsPageApplication final : public SettingsPage { |
| 62 Q_OBJECT | 62 Q_OBJECT |
| 63 | 63 |
| 64 public: | 64 public: |
| 65 SettingsPageApplication(QWidget* parent = nullptr); | 65 SettingsPageApplication(QWidget* parent = nullptr); |
| 66 void SaveInfo() override; | 66 void SaveInfo() override; |
| 67 | 67 |
| 68 private: | 68 private: |
| 69 QWidget* CreateAnimeListWidget(); | 69 QWidget* CreateAnimeListWidget(); |
| 70 QWidget* CreateGeneralWidget(); | 70 QWidget* CreateGeneralWidget(); |
| 71 | 71 |
| 72 Themes theme; | 72 Themes theme; |
| 73 QLocale locale; | 73 QLocale locale; |
| 74 | 74 |
| 75 decltype(session.config.anime_list.score_format) format; | 75 decltype(session.config.anime_list.score_format) format; |
| 76 decltype(session.config.anime_list.language) language; | 76 decltype(session.config.anime_list.language) language; |
| 77 decltype(session.config.anime_list.display_aired_episodes) display_aired_episodes; | 77 decltype(session.config.anime_list.display_aired_episodes) display_aired_episodes; |
| 78 decltype(session.config.anime_list.display_available_episodes) display_available_episodes; | 78 decltype(session.config.anime_list.display_available_episodes) display_available_episodes; |
| 79 decltype(session.config.anime_list.highlight_anime_if_available) highlight_anime_if_available; | 79 decltype(session.config.anime_list.highlight_anime_if_available) highlight_anime_if_available; |
| 80 decltype(session.config.anime_list.highlighted_anime_above_others) highlighted_anime_above_others; | 80 decltype(session.config.anime_list.highlighted_anime_above_others) highlighted_anime_above_others; |
| 81 }; | 81 }; |
| 82 | 82 |
| 83 class SettingsPageTorrents final : public SettingsPage { | 83 class SettingsPageTorrents final : public SettingsPage { |
| 84 Q_OBJECT | 84 Q_OBJECT |
| 85 | 85 |
| 86 public: | 86 public: |
| 87 SettingsPageTorrents(QWidget* parent = nullptr); | 87 SettingsPageTorrents(QWidget* parent = nullptr); |
| 88 void SaveInfo() override; | 88 void SaveInfo() override; |
| 89 | 89 |
| 90 private: | 90 private: |
| 91 QWidget* CreateGeneralWidget(); | 91 QWidget* CreateGeneralWidget(); |
| 92 | 92 |
| 93 decltype(session.config.torrents.feed_link) feed_link; | 93 decltype(session.config.torrents.feed_link) feed_link; |
| 94 }; | 94 }; |
| 95 | 95 |
| 96 class SettingsPageRecognition final : public SettingsPage { | 96 class SettingsPageRecognition final : public SettingsPage { |
| 97 Q_OBJECT | 97 Q_OBJECT |
| 98 | 98 |
| 99 public: | 99 public: |
| 100 SettingsPageRecognition(QWidget* parent = nullptr); | 100 SettingsPageRecognition(QWidget* parent = nullptr); |
| 101 void SaveInfo() override; | 101 void SaveInfo() override; |
| 102 | 102 |
| 103 private: | 103 private: |
| 104 QWidget* CreatePlayersWidget(); | 104 QWidget* CreatePlayersWidget(); |
| 105 | 105 |
| 106 decltype(session.config.recognition.detect_media_players) detect_media_players; | 106 decltype(session.config.recognition.detect_media_players) detect_media_players; |
| 107 decltype(session.config.recognition.players) players; | 107 decltype(session.config.recognition.players) players; |
| 108 }; | 108 }; |
| 109 | 109 |
| 110 class SettingsPageLibrary final : public SettingsPage { | 110 class SettingsPageLibrary final : public SettingsPage { |
| 111 Q_OBJECT | 111 Q_OBJECT |
| 112 | 112 |
| 113 public: | 113 public: |
| 114 SettingsPageLibrary(QWidget* parent = nullptr); | 114 SettingsPageLibrary(QWidget* parent = nullptr); |
| 115 void SaveInfo() override; | 115 void SaveInfo() override; |
| 116 | 116 |
| 117 private: | 117 private: |
| 118 QWidget* CreateFoldersWidget(); | 118 QWidget* CreateFoldersWidget(); |
| 119 | 119 |
| 120 decltype(session.config.library.paths) paths; | 120 decltype(session.config.library.paths) paths; |
| 121 decltype(session.config.library.real_time_monitor) real_time_monitor; | 121 decltype(session.config.library.real_time_monitor) real_time_monitor; |
| 122 }; | 122 }; |
| 123 | 123 |
| 124 class SettingsDialog final : public QDialog { | 124 class SettingsDialog final : public QDialog { |
| 125 Q_OBJECT | 125 Q_OBJECT |
| 126 | 126 |
| 127 public: | 127 public: |
| 128 SettingsDialog(QWidget* parent = nullptr); | 128 SettingsDialog(QWidget* parent = nullptr); |
| 129 QWidget* CreateServicesMainPage(QWidget* parent); | 129 QWidget* CreateServicesMainPage(QWidget* parent); |
| 130 void OnOK(); | 130 void OnOK(); |
| 131 | 131 |
| 132 protected: | 132 protected: |
| 133 void showEvent(QShowEvent* event) override; | 133 void showEvent(QShowEvent* event) override; |
| 134 | 134 |
| 135 private: | 135 private: |
| 136 SideBar* sidebar; | 136 SideBar* sidebar; |
| 137 QStackedWidget* stacked; | 137 QStackedWidget* stacked; |
| 138 }; | 138 }; |
| 139 | 139 |
| 140 #endif // __gui__dialog__settings_h | 140 #endif // __gui__dialog__settings_h |
