QtPass 1.6.0
Multi-platform GUI for pass, the standard unix password manager.
Loading...
Searching...
No Matches
qtpass.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2018 Anne Jan Brouwer
2// SPDX-License-Identifier: GPL-3.0-or-later
3#ifndef SRC_QTPASS_H_
4#define SRC_QTPASS_H_
5
6#include <QDialog>
7#include <QMimeData>
8#include <QObject>
9#include <QPixmap>
10#include <QProcess>
11#include <QTimer>
12
13class MainWindow;
14class Pass;
119
126auto buildClipboardMimeData(const QString &text) -> QMimeData *;
127
133static inline auto dwordBytes(quint32 value) -> QByteArray {
134 return QByteArray(reinterpret_cast<const char *>(&value), sizeof(value));
135}
136
137class QtPass : public QObject {
138 Q_OBJECT
139
140public:
141 QtPass(MainWindow *mainWindow);
142 ~QtPass();
143
144 auto init() -> bool;
145 void setClippedText(const QString &, const QString &p_output = QString());
146 void clearClippedText();
147 void setClipboardTimer();
148 auto isFreshStart() -> bool { return this->freshStart; }
149 void setFreshStart(const bool &fs) { this->freshStart = fs; }
150
151private:
152 MainWindow *m_mainWindow;
153
154 QProcess fusedav;
155
156 QTimer clearClipboardTimer;
157 QString clippedText;
158 bool freshStart;
159
160 void setMainWindow();
161 void connectPassSignalHandlers(Pass *pass);
162 void mountWebDav();
163
164signals:
165
166public slots:
167 void clearClipboard();
168 void copyTextToClipboard(const QString &text);
169 void showTextAsQRCode(const QString &text);
170
171public:
172 static QDialog *createQRCodePopup(const QPixmap &image);
173
174private slots:
175 void processError(QProcess::ProcessError);
176 void processErrorExit(int exitCode, const QString &);
177 void processFinished(const QString &, const QString &);
178
179 void passStoreChanged(const QString &, const QString &);
180 void passShowHandlerFinished(QString output);
181
182 void doGitPush();
183 void finishedInsert(const QString &, const QString &);
184 void onKeyGenerationComplete(const QString &p_output,
185 const QString &p_errout);
186
187 void showInTextBrowser(QString output, const QString &prefix = QString(),
188 const QString &postfix = QString());
189};
190
191#endif // SRC_QTPASS_H_
The MainWindow class does way too much, not only is it a switchboard, configuration handler and more,...
Definition mainwindow.h:51
Abstract base class for password store operations.
Definition pass.h:35
void clearClippedText()
Clears the stored clipped text.
Definition qtpass.cpp:438
void setClipboardTimer()
Sets the clipboard clear timer based on autoclear settings.
Definition qtpass.cpp:443
auto isFreshStart() -> bool
Definition qtpass.h:148
void clearClipboard()
MainWindow::clearClipboard remove clipboard contents.
Definition qtpass.cpp:451
void setFreshStart(const bool &fs)
Definition qtpass.h:149
~QtPass()
QtPass::~QtPass destroy!
Definition qtpass.cpp:59
void setClippedText(const QString &, const QString &p_output=QString())
Sets the text to be stored in clipboard and handles clipboard operations.
Definition qtpass.cpp:426
QtPass(MainWindow *mainWindow)
Constructs a QtPass instance.
Definition qtpass.cpp:36
static QDialog * createQRCodePopup(const QPixmap &image)
QtPass::createQRCodePopup creates a popup dialog with the given QR code image. This is extracted for ...
Definition qtpass.cpp:549
void copyTextToClipboard(const QString &text)
MainWindow::copyTextToClipboard copies text to your clipboard.
Definition qtpass.cpp:499
auto init() -> bool
QtPass::init make sure we are ready to go as soon as possible.
Definition qtpass.cpp:76
void showTextAsQRCode(const QString &text)
displays the text as qrcode
Definition qtpass.cpp:521
auto buildClipboardMimeData(const QString &text) -> QMimeData *
Build clipboard MIME data with platform-specific security hints.
Definition qtpass.cpp:477