rssguard/src/gui/formsettings.h
2014-09-19 08:31:25 +02:00

105 lines
2.7 KiB
C++

// This file is part of RSS Guard.
//
// Copyright (C) 2011-2014 by Martin Rotter <rotter.martinos@gmail.com>
//
// 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 <http://www.gnu.org/licenses/>.
#ifndef FORMSETTINGS_H
#define FORMSETTINGS_H
#include "ui_formsettings.h"
#include <QDialog>
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