File indexing completed on 2024-10-13 04:54:40
0001 /* 0002 SPDX-FileCopyrightText: 2020 Michail Vourlakos <mvourlakos@gmail.com> 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef DETAILSDIALOG_H 0007 #define DETAILSDIALOG_H 0008 0009 // local 0010 #include "../generic/genericdialog.h" 0011 #include "../settingsdialog/settingsdialog.h" 0012 0013 // Qt 0014 #include <QDialog> 0015 #include <QObject> 0016 0017 namespace Ui { 0018 class DetailsDialog; 0019 } 0020 0021 namespace Latte { 0022 namespace Settings { 0023 namespace Controller { 0024 class Layouts; 0025 } 0026 namespace Handler { 0027 class DetailsHandler; 0028 } 0029 } 0030 } 0031 0032 namespace Latte { 0033 namespace Settings { 0034 namespace Dialog { 0035 0036 class DetailsDialog : public GenericDialog 0037 { 0038 Q_OBJECT 0039 0040 public: 0041 DetailsDialog(SettingsDialog *parent, Controller::Layouts *controller); 0042 ~DetailsDialog(); 0043 0044 Latte::Corona *corona() const; 0045 0046 Ui::DetailsDialog *ui() const; 0047 Controller::Layouts *layoutsController() const; 0048 0049 protected: 0050 void accept() override; 0051 0052 private slots: 0053 void loadConfig(); 0054 void saveConfig(); 0055 0056 void onOk(); 0057 void onCancel(); 0058 void onReset(); 0059 0060 void updateApplyButtonsState(); 0061 0062 private: 0063 SettingsDialog *m_parentDlg{nullptr}; 0064 Ui::DetailsDialog *m_ui; 0065 Controller::Layouts *m_layoutsController{nullptr}; 0066 0067 Handler::DetailsHandler *m_handler; 0068 0069 //! properties 0070 QSize m_windowSize; 0071 0072 //! storage 0073 KConfigGroup m_storage; 0074 }; 0075 0076 } 0077 } 0078 } 0079 0080 #endif