configdialog.h 3.48 KB
Newer Older
1 2
#ifndef CONFIGDIALOG_H_
#define CONFIGDIALOG_H_
3

4 5
#include "mainwindow.h"
#include <QCloseEvent>
6 7
#include <QDialog>
#include <QFileDialog>
8
#include <QTableWidgetItem>
9 10

namespace Ui {
11 12
struct UserInfo;

13
class ConfigDialog;
14 15
}

16 17 18 19 20 21
/*!
    \class ConfigDialog
    \brief The ConfigDialog handles the configuration interface.

    This class should also take the handling from the MainWindow class.
*/
22 23
class ConfigDialog : public QDialog {
  Q_OBJECT
24

25
public:
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
  explicit ConfigDialog(MainWindow *parent);
  ~ConfigDialog();
  void setPassPath(QString);
  void setGitPath(QString);
  void setGpgPath(QString);
  void setStorePath(QString);
  void setProfiles(QHash<QString, QString>, QString);
  void usePass(bool usePass);
  void useClipboard(MainWindow::clipBoardType);
  void useAutoclear(bool useAutoclear);
  void setAutoclear(int seconds);
  void useAutoclearPanel(bool useAutoclearPanel);
  void setAutoclearPanel(int seconds);
  void hidePassword(bool hidePassword);
  void hideContent(bool hideContent);
  void addGPGId(bool addGPGId);
  QString getPassPath();
  QString getGitPath();
  QString getGpgPath();
  QString getStorePath();
  QHash<QString, QString> getProfiles();
  bool usePass();
  MainWindow::clipBoardType useClipboard();
  bool useAutoclear();
  int getAutoclear();
  bool useAutoclearPanel();
  int getAutoclearPanel();
  bool hidePassword();
  bool hideContent();
  bool addGPGId();
  void wizard();
  void genKey(QString, QDialog *);
  bool useTrayIcon();
  bool hideOnClose();
  bool startMinimized();
  void useTrayIcon(bool useTrayIdon);
  void hideOnClose(bool hideOnClose);
  void startMinimized(bool startMinimized);
  void useGit(bool useGit);
  bool useGit();
  QString getPwgenPath();
  void setPwgenPath(QString);
  void usePwgen(bool usePwgen);
69 70 71
  void avoidCapitals(bool avoidCapitals);
  void avoidNumbers(bool avoidNumbers);
  void lessRandom(bool lessRandom);
72 73 74 75
  void useSymbols(bool useSymbols);
  void setPasswordLength(int pwLen);
  void setPasswordChars(QString);
  bool usePwgen();
76 77 78
  bool avoidCapitals();
  bool avoidNumbers();
  bool lessRandom();
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
  bool useSymbols();
  int getPasswordLength();
  QString getPasswordChars();
  bool useTemplate();
  void useTemplate(bool useTemplate);
  QString getTemplate();
  void setTemplate(QString);
  void templateAllFields(bool templateAllFields);
  bool templateAllFields();
  bool autoPull();
  void autoPull(bool autoPull);
  bool autoPush();
  void autoPush(bool autoPush);
  bool alwaysOnTop();
  void alwaysOnTop(bool alwaysOnTop);
94

95
protected:
96
  void closeEvent(QCloseEvent *event);
97

98
private slots:
99 100 101 102 103 104 105
  void on_radioButtonNative_clicked();
  void on_radioButtonPass_clicked();
  void on_toolButtonGit_clicked();
  void on_toolButtonGpg_clicked();
  void on_toolButtonPwgen_clicked();
  void on_toolButtonPass_clicked();
  void on_toolButtonStore_clicked();
Philip Rinn's avatar
Philip Rinn committed
106
  void on_comboBoxClipboard_activated(int);
107 108 109 110 111 112 113 114
  void on_checkBoxAutoclear_clicked();
  void on_checkBoxAutoclearPanel_clicked();
  void on_addButton_clicked();
  void on_deleteButton_clicked();
  void on_checkBoxUseTrayIcon_clicked();
  void on_checkBoxUseGit_clicked();
  void on_checkBoxUsePwgen_clicked();
  void on_checkBoxUseTemplate_clicked();
115

116
private:
117 118 119 120 121 122 123 124
  QScopedPointer<Ui::ConfigDialog> ui;
  void setGroupBoxState();
  QString selectExecutable();
  QString selectFolder();
  // QMessageBox::critical with hack to avoid crashes with
  // Qt 5.4.1 when QApplication::exec was not yet called
  void criticalMessage(const QString &title, const QString &text);
  MainWindow *mainWindow;
125 126
};

127
#endif // CONFIGDIALOG_H_