Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue #402: 'deselect()' on clearing filter #490

Merged
merged 2 commits into from
Oct 21, 2019
Merged

Issue #402: 'deselect()' on clearing filter #490

merged 2 commits into from
Oct 21, 2019

Conversation

petr-nehez
Copy link
Contributor

My first PR as it tourned out that the fix for my issue could be really fast.

@coveralls
Copy link

coveralls commented Oct 18, 2019

Coverage Status

Coverage increased (+0.01%) to 7.103% when pulling 134c452 on petr-nehez:issue-402 into 30fc277 on IJHack:master.

@petr-nehez
Copy link
Contributor Author

@annejan How can I trigger Travis again?
One build timed out...

@codecov
Copy link

codecov bot commented Oct 19, 2019

Codecov Report

Merging #490 into master will increase coverage by 2.21%.
The diff coverage is 0%.

Impacted file tree graph

@@            Coverage Diff            @@
##           master    #490      +/-   ##
=========================================
+ Coverage    7.14%   9.36%   +2.21%     
=========================================
  Files          44      46       +2     
  Lines        2854    2925      +71     
=========================================
+ Hits          204     274      +70     
- Misses       2650    2651       +1
Impacted Files Coverage Δ
src/mainwindow.cpp 0% <0%> (ø) ⬆️
tests/auto/util/tst_util.cpp 100% <0%> (ø)
tests/auto/ui/tst_ui.cpp 100% <0%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 30fc277...134c452. Read the comment docs.

@petr-nehez
Copy link
Contributor Author

What is the problem with codecov?
I don't have no experience with that so far that's why I have no idea what to do with that...

@annejan
Copy link
Member

annejan commented Oct 21, 2019

There is no issue with codecov I should probably remove the bot . .

It is complaining that the code coverage (which is very low anyway) went down with 0.001% or so 😉

@annejan
Copy link
Member

annejan commented Oct 21, 2019

Thank you for this nice and clean fix . .

@annejan annejan merged commit 371ebaf into IJHack:master Oct 21, 2019
@petr-nehez petr-nehez deleted the issue-402 branch October 21, 2019 10:34
@petr-nehez
Copy link
Contributor Author

I am happy to contribute.
I am not a C++ developper at all (my daily job is Java in IntelliJ) and I tried to open the project in CLion but without success to build it.
Do you know whether it is possible to import it into CLion and compile it there?

@annejan
Copy link
Member

annejan commented Oct 21, 2019

Importing into CLion should be trivial . .

Compiling is "just" Makefiles after the qmake step . .

I'll have a quick look at it this afternoon

@annejan
Copy link
Member

annejan commented Oct 21, 2019

Well . . I got this far with the CMakeLists.txt https://github.com/IJHack/QtPass/blob/CMake/CMakeLists.txt

➜  cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/annejan/Projects/qtpass

➜  make

[  1%] Automatic UIC for target qtpasslib
[  1%] Built target qtpasslib_autogen
[  3%] Generating localization/localization_nl_NL.qm
Updating 'localization/localization_nl_NL.qm'...
    Generated 189 translation(s) (189 finished and 0 unfinished)
[  5%] Generating localization/localization_it_IT.qm
Updating 'localization/localization_it_IT.qm'...
    Generated 177 translation(s) (177 finished and 0 unfinished)
    Ignored 12 untranslated source text(s)
[  7%] Generating localization/localization_es_ES.qm
Updating 'localization/localization_es_ES.qm'...
    Generated 99 translation(s) (99 finished and 0 unfinished)
... (etc ...
Scanning dependencies of target qtpasslib
[ 53%] Building CXX object CMakeFiles/qtpasslib.dir/src/configdialog.cpp.o
[ 55%] Building CXX object CMakeFiles/qtpasslib.dir/src/executor.cpp.o
[ 57%] Building CXX object CMakeFiles/qtpasslib.dir/src/filecontent.cpp.o
[ 59%] Building CXX object CMakeFiles/qtpasslib.dir/src/imitatepass.cpp.o
[ 61%] Building CXX object CMakeFiles/qtpasslib.dir/src/keygendialog.cpp.o
[ 62%] Building CXX object CMakeFiles/qtpasslib.dir/src/mainwindow.cpp.o
[ 64%] Building CXX object CMakeFiles/qtpasslib.dir/src/pass.cpp.o
[ 66%] Building CXX object CMakeFiles/qtpasslib.dir/src/passworddialog.cpp.o
[ 68%] Building CXX object CMakeFiles/qtpasslib.dir/src/qprogressindicator.cpp.o
[ 70%] Building CXX object CMakeFiles/qtpasslib.dir/src/qpushbuttonasqrcode.cpp.o
[ 72%] Building CXX object CMakeFiles/qtpasslib.dir/src/qpushbuttonwithclipboard.cpp.o
[ 74%] Building CXX object CMakeFiles/qtpasslib.dir/src/qtpass.cpp.o
[ 75%] Building CXX object CMakeFiles/qtpasslib.dir/src/qtpasssettings.cpp.o
[ 77%] Building CXX object CMakeFiles/qtpasslib.dir/src/realpass.cpp.o
[ 79%] Building CXX object CMakeFiles/qtpasslib.dir/src/settingsconstants.cpp.o
[ 81%] Building CXX object CMakeFiles/qtpasslib.dir/src/simpletransaction.cpp.o
[ 83%] Building CXX object CMakeFiles/qtpasslib.dir/src/singleapplication.cpp.o
[ 85%] Building CXX object CMakeFiles/qtpasslib.dir/src/storemodel.cpp.o
[ 87%] Building CXX object CMakeFiles/qtpasslib.dir/src/trayicon.cpp.o
[ 88%] Building CXX object CMakeFiles/qtpasslib.dir/src/usersdialog.cpp.o
[ 90%] Building CXX object CMakeFiles/qtpasslib.dir/src/util.cpp.o
[ 92%] Building CXX object CMakeFiles/qtpasslib.dir/qtpasslib_autogen/EWIEGA46WW/qrc_resources.cpp.o
[ 94%] Linking CXX static library libqtpasslib.a
[ 94%] Built target qtpasslib
[ 96%] Automatic UIC for target qtpass
[ 96%] Built target qtpass_autogen
[ 98%] Building CXX object CMakeFiles/qtpass.dir/main/main.cpp.o
[100%] Linking CXX executable qtpass
Undefined symbols for architecture x86_64:
  "MainWindow::staticMetaObject", referenced from:
      MainWindow::tr(char const*, char const*, int) in libqtpasslib.a(mainwindow.cpp.o)
      QMetaObject::Connection QObject::connect<void (MainWindow::*)(QString), void (QtPass::*)(QString)>(QtPrivate::FunctionPointer<void (MainWindow::*)(QString)>::Object const*, void (MainWindow::*)(QString), QtPrivate::FunctionPointer<void (QtPass::*)(QString)>::Object const*, void (QtPass::*)(QString), Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
      std::__1::enable_if<(QtPrivate::FunctionPointer<QtPass::setMainWindow()::$_0>::ArgumentCount) == (-(1)), QMetaObject::Connection>::type QObject::connect<void (MainWindow::*)(), QtPass::setMainWindow()::$_0>(QtPrivate::FunctionPointer<void (MainWindow::*)()>::Object const*, void (MainWindow::*)(), QObject const*, QtPass::setMainWindow()::$_0, Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
      std::__1::enable_if<(QtPrivate::FunctionPointer<QtPass::setMainWindow()::$_1>::ArgumentCount) == (-(1)), QMetaObject::Connection>::type QObject::connect<void (MainWindow::*)(QString), QtPass::setMainWindow()::$_1>(QtPrivate::FunctionPointer<void (MainWindow::*)(QString)>::Object const*, void (MainWindow::*)(QString), QObject const*, QtPass::setMainWindow()::$_1, Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
  "MainWindow::passGitInitNeeded()", referenced from:
      ConfigDialog::wizard() in libqtpasslib.a(configdialog.cpp.o)
      QtPass::setMainWindow() in libqtpasslib.a(qtpass.cpp.o)
  "MainWindow::generateGPGKeyPair(QString)", referenced from:
      MainWindow::generateKeyPair(QString, QDialog*) in libqtpasslib.a(mainwindow.cpp.o)
      QtPass::setMainWindow() in libqtpasslib.a(qtpass.cpp.o)
  "MainWindow::passShowHandlerFinished(QString)", referenced from:
      MainWindow::passShowHandler(QString const&) in libqtpasslib.a(mainwindow.cpp.o)
      QtPass::setMainWindow() in libqtpasslib.a(qtpass.cpp.o)
  "StoreModel::staticMetaObject", referenced from:
      StoreModel::tr(char const*, char const*, int) in libqtpasslib.a(storemodel.cpp.o)
  "ImitatePass::endReencryptPath()", referenced from:
      QtPass::setMainWindow() in libqtpasslib.a(qtpass.cpp.o)
      ImitatePass::reencryptPath(QString const&) in libqtpasslib.a(imitatepass.cpp.o)
  "ImitatePass::staticMetaObject", referenced from:
      QMetaObject::Connection QObject::connect<void (ImitatePass::*)(), void (MainWindow::*)()>(QtPrivate::FunctionPointer<void (ImitatePass::*)()>::Object const*, void (ImitatePass::*)(), QtPrivate::FunctionPointer<void (MainWindow::*)()>::Object const*, void (MainWindow::*)(), Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
      ImitatePass::tr(char const*, char const*, int) in libqtpasslib.a(imitatepass.cpp.o)
  "ImitatePass::startReencryptPath()", referenced from:
      QtPass::setMainWindow() in libqtpasslib.a(qtpass.cpp.o)
      ImitatePass::reencryptPath(QString const&) in libqtpasslib.a(imitatepass.cpp.o)
  "UsersDialog::staticMetaObject", referenced from:
      UsersDialog::tr(char const*, char const*, int) in libqtpasslib.a(usersdialog.cpp.o)
  "ConfigDialog::staticMetaObject", referenced from:
      ConfigDialog::tr(char const*, char const*, int) in libqtpasslib.a(configdialog.cpp.o)
  "KeygenDialog::staticMetaObject", referenced from:
      KeygenDialog::tr(char const*, char const*, int) in libqtpasslib.a(keygendialog.cpp.o)
  "QPushButtonAsQRCode::staticMetaObject", referenced from:
      QMetaObject::Connection QObject::connect<void (QPushButtonAsQRCode::*)(QString), void (QtPass::*)(QString const&)>(QtPrivate::FunctionPointer<void (QPushButtonAsQRCode::*)(QString)>::Object const*, void (QPushButtonAsQRCode::*)(QString), QtPrivate::FunctionPointer<void (QtPass::*)(QString const&)>::Object const*, void (QtPass::*)(QString const&), Qt::ConnectionType) in libqtpasslib.a(mainwindow.cpp.o)
  "QPushButtonAsQRCode::clicked(QString)", referenced from:
      MainWindow::addToGridLayout(int, QString const&, QString const&) in libqtpasslib.a(mainwindow.cpp.o)
      QPushButtonAsQRCode::buttonClicked(bool) in libqtpasslib.a(qpushbuttonasqrcode.cpp.o)
  "DeselectableTreeView::emptyClicked()", referenced from:
      MainWindow::MainWindow(QString const&, QWidget*) in libqtpasslib.a(mainwindow.cpp.o)
  "DeselectableTreeView::staticMetaObject", referenced from:
      QMetaObject::Connection QObject::connect<void (DeselectableTreeView::*)(), void (MainWindow::*)()>(QtPrivate::FunctionPointer<void (DeselectableTreeView::*)()>::Object const*, void (DeselectableTreeView::*)(), QtPrivate::FunctionPointer<void (MainWindow::*)()>::Object const*, void (MainWindow::*)(), Qt::ConnectionType) in libqtpasslib.a(mainwindow.cpp.o)
  "QPushButtonWithClipboard::staticMetaObject", referenced from:
      QMetaObject::Connection QObject::connect<void (QPushButtonWithClipboard::*)(QString), void (QtPass::*)(QString const&)>(QtPrivate::FunctionPointer<void (QPushButtonWithClipboard::*)(QString)>::Object const*, void (QPushButtonWithClipboard::*)(QString), QtPrivate::FunctionPointer<void (QtPass::*)(QString const&)>::Object const*, void (QtPass::*)(QString const&), Qt::ConnectionType) in libqtpasslib.a(mainwindow.cpp.o)
  "QPushButtonWithClipboard::clicked(QString)", referenced from:
      MainWindow::addToGridLayout(int, QString const&, QString const&) in libqtpasslib.a(mainwindow.cpp.o)
      QPushButtonWithClipboard::buttonClicked(bool) in libqtpasslib.a(qpushbuttonwithclipboard.cpp.o)
  "Pass::qt_metacall(QMetaObject::Call, int, void**)", referenced from:
      vtable for RealPass in libqtpasslib.a(realpass.cpp.o)
  "Pass::qt_metacast(char const*)", referenced from:
      vtable for RealPass in libqtpasslib.a(realpass.cpp.o)
  "Pass::finishedCopy(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedInit(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedMove(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedShow(QString const&)", referenced from:
      MainWindow::copyPasswordFromTreeview() in libqtpasslib.a(mainwindow.cpp.o)
      PasswordDialog::PasswordDialog(PasswordConfiguration const&, QWidget*) in libqtpasslib.a(passworddialog.cpp.o)
      PasswordDialog::PasswordDialog(QString const&, bool const&, QWidget*) in libqtpasslib.a(passworddialog.cpp.o)
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedInsert(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedRemove(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedGitInit(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedGitPull(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedGitPush(QString const&, QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::processErrorExit(int, QString const&)", referenced from:
      PasswordDialog::PasswordDialog(QString const&, bool const&, QWidget*) in libqtpasslib.a(passworddialog.cpp.o)
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::staticMetaObject", referenced from:
      QMetaObject::Connection QObject::connect<void (Pass::*)(QString const&), void (MainWindow::*)(QString const&)>(QtPrivate::FunctionPointer<void (Pass::*)(QString const&)>::Object const*, void (Pass::*)(QString const&), QtPrivate::FunctionPointer<void (MainWindow::*)(QString const&)>::Object const*, void (MainWindow::*)(QString const&), Qt::ConnectionType) in libqtpasslib.a(mainwindow.cpp.o)
      QMetaObject::Connection QObject::connect<void (Pass::*)(QString const&), void (PasswordDialog::*)(QString const&)>(QtPrivate::FunctionPointer<void (Pass::*)(QString const&)>::Object const*, void (Pass::*)(QString const&), QtPrivate::FunctionPointer<void (PasswordDialog::*)(QString const&)>::Object const*, void (PasswordDialog::*)(QString const&), Qt::ConnectionType) in libqtpasslib.a(passworddialog.cpp.o)
      QMetaObject::Connection QObject::connect<void (Pass::*)(int, QString const&), bool (QWidget::*)()>(QtPrivate::FunctionPointer<void (Pass::*)(int, QString const&)>::Object const*, void (Pass::*)(int, QString const&), QtPrivate::FunctionPointer<bool (QWidget::*)()>::Object const*, bool (QWidget::*)(), Qt::ConnectionType) in libqtpasslib.a(passworddialog.cpp.o)
      Pass::tr(char const*, char const*, int) in libqtpasslib.a(pass.cpp.o)
      QMetaObject::Connection QObject::connect<void (Pass::*)(QProcess::ProcessError), void (QtPass::*)(QProcess::ProcessError)>(QtPrivate::FunctionPointer<void (Pass::*)(QProcess::ProcessError)>::Object const*, void (Pass::*)(QProcess::ProcessError), QtPrivate::FunctionPointer<void (QtPass::*)(QProcess::ProcessError)>::Object const*, void (QtPass::*)(QProcess::ProcessError), Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
      QMetaObject::Connection QObject::connect<void (Pass::*)(int, QString const&), void (QtPass::*)(int, QString const&)>(QtPrivate::FunctionPointer<void (Pass::*)(int, QString const&)>::Object const*, void (Pass::*)(int, QString const&), QtPrivate::FunctionPointer<void (QtPass::*)(int, QString const&)>::Object const*, void (QtPass::*)(int, QString const&), Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
      QMetaObject::Connection QObject::connect<void (Pass::*)(QString, QString), void (MainWindow::*)(QString, QString)>(QtPrivate::FunctionPointer<void (Pass::*)(QString, QString)>::Object const*, void (Pass::*)(QString, QString), QtPrivate::FunctionPointer<void (MainWindow::*)(QString, QString)>::Object const*, void (MainWindow::*)(QString, QString), Qt::ConnectionType) in libqtpasslib.a(qtpass.cpp.o)
      ...
  "Pass::finishedOtpGenerate(QString const&)", referenced from:
      Pass::finished(int, int, QString const&, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::startingExecuteWrapper()", referenced from:
      Pass::Pass() in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::finishedGenerateGPGKeys(QString const&, QString const&)", referenced from:
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::error(QProcess::ProcessError)", referenced from:
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
  "Pass::critical(QString, QString)", referenced from:
      Pass::Generate_b(unsigned int, QString const&) in libqtpasslib.a(pass.cpp.o)
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
      ImitatePass::Insert(QString, QString, bool) in libqtpasslib.a(imitatepass.cpp.o)
      ImitatePass::Init(QString, QList<UserInfo> const&) in libqtpasslib.a(imitatepass.cpp.o)
      ImitatePass::reencryptPath(QString const&) in libqtpasslib.a(imitatepass.cpp.o)
  "Pass::statusMsg(QString, int)", referenced from:
      QtPass::connectPassSignalHandlers(Pass*) in libqtpasslib.a(qtpass.cpp.o)
      ImitatePass::reencryptPath(QString const&) in libqtpasslib.a(imitatepass.cpp.o)
  "QtPass::staticMetaObject", referenced from:
      QtPass::tr(char const*, char const*, int) in libqtpasslib.a(qtpass.cpp.o)
  "Executor::staticMetaObject", referenced from:
      QMetaObject::Connection QObject::connect<void (Executor::*)(int, int, QString const&, QString const&), void (Pass::*)(int, int, QString const&, QString const&)>(QtPrivate::FunctionPointer<void (Executor::*)(int, int, QString const&, QString const&)>::Object const*, void (Executor::*)(int, int, QString const&, QString const&), QtPrivate::FunctionPointer<void (Pass::*)(int, int, QString const&, QString const&)>::Object const*, void (Pass::*)(int, int, QString const&, QString const&), Qt::ConnectionType) in libqtpasslib.a(pass.cpp.o)
      QMetaObject::Connection QObject::connect<void (Executor::*)(), void (Pass::*)()>(QtPrivate::FunctionPointer<void (Executor::*)()>::Object const*, void (Executor::*)(), QtPrivate::FunctionPointer<void (Pass::*)()>::Object const*, void (Pass::*)(), Qt::ConnectionType) in libqtpasslib.a(pass.cpp.o)
  "Executor::finished(int, int, QString const&, QString const&)", referenced from:
      Pass::Pass() in libqtpasslib.a(pass.cpp.o)
      Executor::finished(int, QProcess::ExitStatus) in libqtpasslib.a(executor.cpp.o)
  "Executor::starting()", referenced from:
      Pass::Pass() in libqtpasslib.a(pass.cpp.o)
      Executor::Executor(QObject*) in libqtpasslib.a(executor.cpp.o)
  "TrayIcon::staticMetaObject", referenced from:
      TrayIcon::tr(char const*, char const*, int) in libqtpasslib.a(trayicon.cpp.o)
  "Pass::metaObject() const", referenced from:
      vtable for RealPass in libqtpasslib.a(realpass.cpp.o)
  "typeinfo for Pass", referenced from:
      typeinfo for RealPass in libqtpasslib.a(realpass.cpp.o)
  "vtable for MainWindow", referenced from:
      MainWindow::MainWindow(QString const&, QWidget*) in libqtpasslib.a(mainwindow.cpp.o)
      MainWindow::~MainWindow() in libqtpasslib.a(mainwindow.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for StoreModel", referenced from:
      StoreModel::~StoreModel() in libqtpasslib.a(mainwindow.cpp.o)
      StoreModel::StoreModel() in libqtpasslib.a(storemodel.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for ImitatePass", referenced from:
      ImitatePass::ImitatePass() in libqtpasslib.a(imitatepass.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for UsersDialog", referenced from:
      UsersDialog::UsersDialog(QString, QWidget*) in libqtpasslib.a(usersdialog.cpp.o)
      UsersDialog::~UsersDialog() in libqtpasslib.a(usersdialog.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for ConfigDialog", referenced from:
      ConfigDialog::ConfigDialog(MainWindow*) in libqtpasslib.a(configdialog.cpp.o)
      ConfigDialog::~ConfigDialog() in libqtpasslib.a(configdialog.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for KeygenDialog", referenced from:
      KeygenDialog::KeygenDialog(ConfigDialog*) in libqtpasslib.a(keygendialog.cpp.o)
      KeygenDialog::~KeygenDialog() in libqtpasslib.a(keygendialog.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for PasswordDialog", referenced from:
      PasswordDialog::PasswordDialog(PasswordConfiguration const&, QWidget*) in libqtpasslib.a(passworddialog.cpp.o)
      PasswordDialog::PasswordDialog(QString const&, bool const&, QWidget*) in libqtpasslib.a(passworddialog.cpp.o)
      PasswordDialog::~PasswordDialog() in libqtpasslib.a(passworddialog.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for QProgressIndicator", referenced from:
      QProgressIndicator::QProgressIndicator(QWidget*) in libqtpasslib.a(qprogressindicator.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for QPushButtonAsQRCode", referenced from:
      QPushButtonAsQRCode::QPushButtonAsQRCode(QString const&, QWidget*) in libqtpasslib.a(qpushbuttonasqrcode.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for DeselectableTreeView", referenced from:
      DeselectableTreeView::DeselectableTreeView(QWidget*) in libqtpasslib.a(mainwindow.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for QPushButtonWithClipboard", referenced from:
      QPushButtonWithClipboard::QPushButtonWithClipboard(QString const&, QWidget*) in libqtpasslib.a(qpushbuttonwithclipboard.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for Pass", referenced from:
      Pass::Pass() in libqtpasslib.a(pass.cpp.o)
      Pass::~Pass() in libqtpasslib.a(imitatepass.cpp.o)
      Pass::~Pass() in libqtpasslib.a(realpass.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for QtPass", referenced from:
      QtPass::QtPass(MainWindow*) in libqtpasslib.a(qtpass.cpp.o)
      QtPass::~QtPass() in libqtpasslib.a(qtpass.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for Executor", referenced from:
      Executor::~Executor() in libqtpasslib.a(pass.cpp.o)
      Executor::~Executor() in libqtpasslib.a(imitatepass.cpp.o)
      Executor::Executor(QObject*) in libqtpasslib.a(executor.cpp.o)
      Executor::~Executor() in libqtpasslib.a(realpass.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for TrayIcon", referenced from:
      TrayIcon::TrayIcon(QMainWindow*) in libqtpasslib.a(trayicon.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [qtpass] Error 1
make[1]: *** [CMakeFiles/qtpass.dir/all] Error 2
make: *** [all] Error 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants