QtPass 1.6.0
Multi-platform GUI for pass, the standard unix password manager.
Loading...
Searching...
No Matches
configdialog.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2014 Anne Jan Brouwer
2// SPDX-License-Identifier: GPL-3.0-or-later
3#ifndef SRC_CONFIGDIALOG_H_
4#define SRC_CONFIGDIALOG_H_
5
6#include "enums.h"
8
9#include <QDialog>
10
11namespace Ui {
12struct UserInfo;
13
14class ConfigDialog;
15} // namespace Ui
16
23class MainWindow;
24class QCloseEvent;
25class QTableWidgetItem;
34class ConfigDialog : public QDialog {
35 Q_OBJECT
36
37public:
38 explicit ConfigDialog(MainWindow *parent);
39 ~ConfigDialog() override;
40
41 void useSelection(bool useSelection);
42 void useAutoclear(bool useAutoclear);
44 auto getProfiles() -> QHash<QString, QHash<QString, QString>>;
45 void wizard();
46 void genKey(const QString &, QDialog *);
47 void useTrayIcon(bool useSystray);
48 void useGit(bool useGit);
49 void useOtp(bool useOtp);
50 void useQrencode(bool useQrencode);
51 void setPwgenPath(const QString &);
52 void usePwgen(bool usePwgen);
55 void useTemplate(bool useTemplate);
56
57protected:
58 void closeEvent(QCloseEvent *event) override;
59
60private slots:
61 void on_accepted();
62 void on_autodetectButton_clicked();
63 void on_radioButtonNative_clicked();
64 void on_radioButtonPass_clicked();
65 void on_toolButtonGit_clicked();
66 void on_toolButtonGpg_clicked();
67 void on_pushButtonGenerateKey_clicked();
68 void on_toolButtonPwgen_clicked();
69 void on_toolButtonPass_clicked();
70 void on_toolButtonStore_clicked();
71 void on_comboBoxClipboard_activated(int);
72 void on_passwordCharTemplateSelector_activated(int);
73 void on_checkBoxSelection_clicked();
74 void on_checkBoxAutoclear_clicked();
75 void on_checkBoxAutoclearPanel_clicked();
76 void on_addButton_clicked();
77 void on_deleteButton_clicked();
78 void on_checkBoxUseTrayIcon_clicked();
79 void on_checkBoxUseGit_clicked();
80 void on_checkBoxUsePwgen_clicked();
81 void on_checkBoxUseTemplate_clicked();
82 void onProfileTableItemChanged(QTableWidgetItem *item);
83
84private:
85 QScopedPointer<Ui::ConfigDialog> ui;
86
87 auto getSecretKeys() -> QStringList;
88
89 void setGitPath(const QString &);
90 void setProfiles(QHash<QString, QHash<QString, QString>>, const QString &);
91 void usePass(bool usePass);
92
93 void setGroupBoxState();
94 auto selectExecutable() -> QString;
95 auto selectFolder() -> QString;
96 // QMessageBox::critical with hack to avoid crashes with
97 // Qt 5.4.1 when QApplication::exec was not yet called
98 void criticalMessage(const QString &title, const QString &text);
99
100 auto isPassOtpAvailable() -> bool;
101 auto isQrencodeAvailable() -> bool;
102 void validate(QTableWidgetItem *item = nullptr);
103
104 auto checkGpgExistence() -> bool;
105 auto checkSecretKeys() -> bool;
106 auto checkPasswordStore() -> bool;
107 void handleGpgIdFile();
108
109 MainWindow *mainWindow;
110};
111
112#endif // SRC_CONFIGDIALOG_H_
The ConfigDialog handles the configuration interface.
void setPasswordConfiguration(const PasswordConfiguration &config)
auto getProfiles() -> QHash< QString, QHash< QString, QString > >
ConfigDialog::getProfiles return profile list.
~ConfigDialog() override
ConfigDialog::~ConfigDialog config destructor, makes sure the mainWindow knows about git,...
void useOtp(bool useOtp)
ConfigDialog::useOtp set preference for using otp plugin.
void useGit(bool useGit)
ConfigDialog::useGit set preference for using git.
void useAutoclearPanel(bool useAutoclearPanel)
ConfigDialog::useAutoclearPanel set the panel autoclear use from MainWindow.
void useAutoclear(bool useAutoclear)
ConfigDialog::useAutoclear set the clipboard autoclear use from MainWindow.
void useQrencode(bool useQrencode)
ConfigDialog::useQrencode set preference for using qrencode plugin.
void useTemplate(bool useTemplate)
ConfigDialog::useTemplate set preference for using templates.
ConfigDialog(MainWindow *parent)
ConfigDialog::ConfigDialog this sets up the configuration screen.
void setPwgenPath(const QString &)
ConfigDialog::setPwgenPath set pwgen executable path. Enable or disable related options in the interf...
auto getPasswordConfiguration() -> PasswordConfiguration
void useTrayIcon(bool useSystray)
ConfigDialog::useTrayIcon set preference for using trayicon. Enable or disable related checkboxes acc...
void usePwgen(bool usePwgen)
ConfigDialog::usePwgen set preference for using pwgen (can be overruled by empty pwgenPath)....
void wizard()
ConfigDialog::wizard first-time use wizard.
void closeEvent(QCloseEvent *event) override
ConfigDialog::closeEvent close this window.
void useSelection(bool useSelection)
ConfigDialog::useSelection set the clipboard type use from MainWindow.
void genKey(const QString &, QDialog *)
ConfigDialog::genKey tunnel function to make MainWindow generate a gpg key pair.
The MainWindow class does way too much, not only is it a switchboard, configuration handler and more,...
Definition mainwindow.h:51
Holds the Password configuration settings.
Stores key info lines including validity, creation date and more.
Definition userinfo.h:13