// This file is part of RSS Guard. // // Copyright (C) 2011-2014 by Martin Rotter // // RSS Guard is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // RSS Guard is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with RSS Guard. If not, see . #ifndef FORMSETTINGS_H #define FORMSETTINGS_H #include "ui_formsettings.h" #include namespace Ui { class FormSettings; } // Structure holding some initial values. struct TemporarySettings { public: TemporarySettings() : m_dataStorageDataChanged(false) { } bool m_dataStorageDataChanged; }; class FormSettings : public QDialog { Q_OBJECT public: // Constructors and destructors. explicit FormSettings(QWidget *parent = 0); virtual ~FormSettings(); protected: // Does check of controls before dialog can be submitted. bool doSaveCheck(); bool eventFilter(QObject *obj, QEvent *e); protected slots: // Displays "restart" dialog if some critical settings changed. void promptForRestart(); // Saves settings into global configuration. void saveSettings(); void loadInterface(); void saveInterface(); void onSkinSelected(QTreeWidgetItem *current, QTreeWidgetItem *previous); void loadGeneral(); void saveGeneral(); void loadDataStorage(); void saveDataStorage(); void mysqlTestConnection(); void onMysqlHostnameChanged(const QString &new_hostname); void onMysqlUsernameChanged(const QString &new_username); void onMysqlPasswordChanged(const QString &new_password); void onMysqlDataStorageEdited(); void selectSqlBackend(int index); void loadLanguage(); void saveLanguage(); void loadShortcuts(); void saveShortcuts(); void loadBrowser(); void saveBrowser(); void changeDefaultBrowserArguments(int index); void selectBrowserExecutable(); void loadProxy(); void saveProxy(); void displayProxyPassword(int state); void onProxyTypeChanged(int index); void loadFeedsMessages(); void saveFeedsMessages(); private: Ui::FormSettings *m_ui; TemporarySettings m_initialSettings; QStringList m_changedDataTexts; }; #endif // FORMSETTINGS_H