1 /*********************************************************************** 2 * 3 * Copyright (C) 2007-2008 Graeme Gott <graeme@gottcode.org> 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 ***********************************************************************/ 19 20 #ifndef SETTINGS_H 21 #define SETTINGS_H 22 23 #include <QDialog> 24 class QCheckBox; 25 class QComboBox; 26 class QLabel; 27 class QPushButton; 28 class Theme; 29 30 class Settings : public QDialog 31 { 32 Q_OBJECT 33 public: 34 Settings(QWidget* parent = 0); 35 ~Settings(); 36 37 signals: 38 void settingsChanged(); 39 40 public slots: 41 virtual void accept(); 42 43 private slots: 44 void themeSelected(const QString& theme); 45 void addTheme(); 46 void removeTheme(); 47 48 private: 49 void loadSettings(); 50 void generatePreview(); 51 52 QCheckBox* m_gameplay_path; 53 QCheckBox* m_gameplay_steps; 54 QCheckBox* m_gameplay_time; 55 QCheckBox* m_gameplay_smooth; 56 57 QComboBox* m_themes_selector; 58 QLabel* m_themes_preview; 59 QPushButton* m_themes_remove_button; 60 Theme* m_theme; 61 }; 62 63 #endif // SETTINGS_H 64