/* * Copyright (C) 2012 Felix Geyer * * This program 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 2 or (at your option) * version 3 of the License. * * This program 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 this program. If not, see . */ #ifndef KEEPASSX_DATABASESETTINGSWIDGET_H #define KEEPASSX_DATABASESETTINGSWIDGET_H #include "config-keepassx.h" #include "gui/DialogyWidget.h" #include #include #include class Database; class DatabaseSettingsWidgetGeneral; class DatabaseSettingsWidgetEncryption; class DatabaseSettingsWidgetMasterKey; #ifdef WITH_XC_BROWSER class DatabaseSettingsWidgetBrowser; #endif class QTabWidget; namespace Ui { class DatabaseSettingsDialog; } class DatabaseSettingsDialog : public DialogyWidget { Q_OBJECT public: explicit DatabaseSettingsDialog(QWidget* parent = nullptr); ~DatabaseSettingsDialog() override; Q_DISABLE_COPY(DatabaseSettingsDialog); void load(QSharedPointer db); void showMasterKeySettings(); signals: void editFinished(bool accepted); private slots: void save(); void reject(); void pageChanged(); void toggleAdvancedMode(bool advanced); private: enum Page { General = 0, Security = 1 }; QSharedPointer m_db; const QScopedPointer m_ui; QPointer m_generalWidget; QPointer m_securityTabWidget; QPointer m_masterKeyWidget; QPointer m_encryptionWidget; #ifdef WITH_XC_BROWSER QPointer m_browserWidget; #endif }; #endif // KEEPASSX_DATABASESETTINGSWIDGET_H