Mercurial > minori
comparison src/include/settings.h @ 6:1d82f6e04d7d
Update: add first parts to the settings dialog
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Wed, 16 Aug 2023 00:49:17 -0400 |
| parents | |
| children | 07a9095eaeed |
comparison
equal
deleted
inserted
replaced
| 5:51ae25154b70 | 6:1d82f6e04d7d |
|---|---|
| 1 #ifndef __settings_h | |
| 2 #define __settings_h | |
| 3 #include <QWidget> | |
| 4 #include <QDialog> | |
| 5 #include <QTabWidget> | |
| 6 #include <QLabel> | |
| 7 #include <QLineEdit> | |
| 8 #include <QComboBox> | |
| 9 #include <QHBoxLayout> | |
| 10 #include "sidebar.h" | |
| 11 class SettingsPage : public QWidget { | |
| 12 Q_OBJECT | |
| 13 | |
| 14 public: | |
| 15 SettingsPage(QWidget* parent = nullptr, QString title = ""); | |
| 16 void SetTitle(QString title); | |
| 17 virtual void SaveInfo(); | |
| 18 void AddTab(QWidget* tab, QString title = ""); | |
| 19 | |
| 20 private: | |
| 21 QLabel* page_title; | |
| 22 QTabWidget* tab_widget; | |
| 23 }; | |
| 24 | |
| 25 class SettingsPageServices : public SettingsPage { | |
| 26 public: | |
| 27 SettingsPageServices(QWidget* parent = nullptr); | |
| 28 void SaveInfo() override; | |
| 29 | |
| 30 private: | |
| 31 QWidget* CreateMainPage(); | |
| 32 QWidget* CreateAniListPage(); | |
| 33 QLineEdit* username_entry; | |
| 34 QComboBox* sync_combo_box; | |
| 35 }; | |
| 36 | |
| 37 class SettingsPageApplication : public SettingsPage { | |
| 38 public: | |
| 39 SettingsPageApplication(QWidget* parent = nullptr); | |
| 40 void SaveInfo() override; | |
| 41 | |
| 42 private: | |
| 43 QWidget* CreateAnimeListPage(); | |
| 44 }; | |
| 45 | |
| 46 class SettingsDialog : public QDialog { | |
| 47 Q_OBJECT | |
| 48 | |
| 49 public: | |
| 50 SettingsDialog(QWidget* parent = nullptr); | |
| 51 QWidget* CreateServicesMainPage(QWidget* parent); | |
| 52 void OnSidebar(QListWidgetItem* item); | |
| 53 void OnOK(); | |
| 54 | |
| 55 private: | |
| 56 std::vector<SettingsPage*> pages; | |
| 57 QHBoxLayout* layout; | |
| 58 SideBar* sidebar; | |
| 59 }; | |
| 60 #endif // __settings_h |
