/*************************************************************************** * This file is part of netctl-gui * * * * netctl-gui 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. * * * * netctl-gui 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 netctl-gui. If not, see http://www.gnu.org/licenses/ * ***************************************************************************/ #ifndef SETTINGSWINDOW_H #define SETTINGSWINDOW_H #include #include #include class MainWindow; namespace Ui { class SettingsWindow; } class SettingsWindow : public QMainWindow { Q_OBJECT public: explicit SettingsWindow(QWidget *parent = 0, const bool debugCmd = false, const QString configFile = QString("")); ~SettingsWindow(); QMap getDefault(); QMap getSettings(QString fileName = QString("")); public slots: void closeWindow(); void restoreSettings(); void setDefault(); void showWindow(); private slots: void addGroups(); void addLanguages(); void applyHelperGroup(); void changePage(QTreeWidgetItem *current, QTreeWidgetItem *previous); void saveSettings(); void setHelperGroup(); void setTray(); void updateHelper(); // buttons void selectAbstractSomething(); void startHelper(); private: bool debug; QString file; Ui::SettingsWindow *ui; void createActions(); int indexByToolBarPosition(const Qt::ToolBarArea area); Qt::ToolBarArea indexToToolBarPosition(const int index); // ESC pressed event void keyPressEvent(QKeyEvent *pressedKey); QMap readSettings(); void setSettings(const QMap config); }; #endif /* SETTINGSWINDOW_H */