Line data Source code
1 : // SPDX-FileCopyrightText: 2016 Anne Jan Brouwer
2 : // SPDX-License-Identifier: GPL-3.0-or-later
3 : #ifndef SRC_USERSDIALOG_H_
4 : #define SRC_USERSDIALOG_H_
5 :
6 : #include "userinfo.h"
7 :
8 : #include <QDialog>
9 : #include <QList>
10 :
11 : namespace Ui {
12 : class UsersDialog;
13 : }
14 :
15 : class QCloseEvent;
16 : class QKeyEvent;
17 : class QListWidgetItem;
18 :
19 : /*!
20 : \class UsersDialog
21 : \brief Handles listing and editing of GPG users.
22 :
23 : Selection of whom to encrypt to.
24 : */
25 : class UsersDialog : public QDialog {
26 0 : Q_OBJECT
27 :
28 : public:
29 : explicit UsersDialog(QString dir, QWidget *parent = nullptr);
30 : ~UsersDialog();
31 :
32 : public slots:
33 : void accept();
34 :
35 : protected:
36 : void closeEvent(QCloseEvent *event);
37 : void keyPressEvent(QKeyEvent *event);
38 :
39 : private slots:
40 : void itemChange(QListWidgetItem *item);
41 : void on_lineEdit_textChanged(const QString &filter);
42 : void on_checkBox_clicked();
43 :
44 : private:
45 : Ui::UsersDialog *ui;
46 : QList<UserInfo> m_userList;
47 : QString m_dir;
48 :
49 : void populateList(const QString &filter = QString());
50 : };
51 :
52 : #endif // SRC_USERSDIALOG_H_
|