diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 5a0afb0c5..69a492e17 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -44,8 +44,7 @@ MainWindow::MainWindow(const QString &searchText, QWidget *parent) #endif ui->setupUi(this); - m_qtPass = new QtPass(); - m_qtPass->setMainWindow(this); + m_qtPass = new QtPass(this); // register shortcut ctrl/cmd + Q to close the main window new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this, SLOT(close())); @@ -119,6 +118,10 @@ MainWindow::MainWindow(const QString &searchText, QWidget *parent) QTimer::singleShot(10, this, SLOT(focusInput())); ui->lineEdit->setText(searchText); + + if (!m_qtPass->init()) + // no working config so this should just quit + QApplication::quit(); } MainWindow::~MainWindow() { delete m_qtPass; } diff --git a/src/qtpass.cpp b/src/qtpass.cpp index 1c2070521..22366c060 100644 --- a/src/qtpass.cpp +++ b/src/qtpass.cpp @@ -22,13 +22,9 @@ #include "debughelper.h" #endif -QtPass::QtPass() : clippedText(QString()), freshStart(true) { - if (!setup()) { - // no working config so this should quit without config anything - QApplication::quit(); - {} - } - +QtPass::QtPass(MainWindow *mainWindow) : m_mainWindow(mainWindow), + clippedText(QString()), + freshStart(true) { setClipboardTimer(); clearClipboardTimer.setSingleShot(true); connect(&clearClipboardTimer, SIGNAL(timeout()), this, @@ -36,6 +32,8 @@ QtPass::QtPass() : clippedText(QString()), freshStart(true) { QObject::connect(qApp, &QApplication::aboutToQuit, this, &QtPass::clearClipboard); + + setMainWindow(); } /** @@ -55,10 +53,10 @@ QtPass::~QtPass() { } /** - * @brief QtPass::setup make sure we are ready to go as soon as + * @brief QtPass::init make sure we are ready to go as soon as * possible */ -bool QtPass::setup() { +bool QtPass::init() { QString passStore = QtPassSettings::getPassStore(Util::findPasswordStore()); QtPassSettings::setPassStore(passStore); @@ -111,8 +109,7 @@ bool QtPass::setup() { return true; } -void QtPass::setMainWindow(MainWindow *mW) { - m_mainWindow = mW; +void QtPass::setMainWindow(void) { m_mainWindow->restoreWindow(); fusedav.setParent(m_mainWindow); diff --git a/src/qtpass.h b/src/qtpass.h index 05470d83a..064edfce6 100644 --- a/src/qtpass.h +++ b/src/qtpass.h @@ -11,10 +11,10 @@ class QtPass : public QObject { Q_OBJECT public: - QtPass(); + QtPass(MainWindow *mainWindow); ~QtPass(); - void setMainWindow(MainWindow *mW); + bool init(); void setClippedText(const QString &, const QString &p_output = QString()); void clearClippedText(); void setClipboardTimer(); @@ -30,7 +30,7 @@ class QtPass : public QObject { QString clippedText; bool freshStart; - bool setup(); + void setMainWindow(); void connectPassSignalHandlers(Pass *pass); void mountWebDav();