All Classes Namespaces Functions Variables Enumerations Properties Pages
preferencesdialog.h
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 #ifndef PREFERENCESDIALOG_H
18 #define PREFERENCESDIALOG_H
19 
20 #include <QDialog>
21 
22 class PreferenceManager;
23 class QListWidgetItem;
24 
25 namespace Ui {
26 class PreferencesDialog;
27 }
28 
29 class PreferencesDialog : public QDialog
30 {
31  Q_OBJECT
32 
33 public:
34  explicit PreferencesDialog(QWidget* parent);
35  ~PreferencesDialog() override;
36 
37  void init(PreferenceManager* m);
38  void updateRecentListBtn(bool isEmpty);
39 
40 public slots:
41  void changePage(QListWidgetItem* current, QListWidgetItem* previous);
42 
43 signals:
44  void windowOpacityChange(int);
45  void soundScrubChanged(bool b);
46  void soundScrubMsecChanged(int mSec);
47  void curveOpacityChange(int);
48  void clearRecentList();
49  void updateRecentFileListBtn();
50 
51 protected:
52  void closeEvent(QCloseEvent*) override;
53 
54 private:
55  Ui::PreferencesDialog* ui = nullptr;
56 
57  PreferenceManager* mPrefManager = nullptr;
58 };
59 
60 #endif // PREFERENCESDIALOG_H
Q_OBJECTQ_OBJECT
QObject * parent() const const