logic: Fixed issues when indexing via CLI (issue #718)

* show proper error message in console when project configuration has issues
* quit when project configuration is wrong
* show indexing progress as self-updating percentage
This commit is contained in:
Eberhard Graether
2019-08-26 16:34:54 +02:00
parent 5a97c88a69
commit 733ef0ea04
8 changed files with 43 additions and 57 deletions
+14 -5
View File
@@ -7,18 +7,27 @@ QtCoreApplication::QtCoreApplication(int argc, char **argv )
{
}
QtCoreApplication::~QtCoreApplication()
{
}
void QtCoreApplication::handleMessage(MessageQuitApplication* message)
{
std::cout << "quit" << std::endl;
std::cout << "Quitting" << std::endl;
emit quit();
}
void QtCoreApplication::handleMessage(MessageIndexingStatus* message)
{
if (message->showProgress)
{
std::cout << message->progressPercent << "% " << '\r' << std::flush;
}
}
void QtCoreApplication::handleMessage(MessageStatus* message)
{
if (message->isError)
{
std::wcout << L"ERROR: ";
}
for (const std::wstring& status : message->stati())
{
std::wcout << status << std::endl;
+4 -1
View File
@@ -3,6 +3,7 @@
#include <QCoreApplication>
#include "MessageIndexingStatus.h"
#include "MessageListener.h"
#include "MessageQuitApplication.h"
#include "MessageStatus.h"
@@ -10,16 +11,18 @@
class QtCoreApplication
: public QCoreApplication
, public MessageListener<MessageQuitApplication>
, public MessageListener<MessageIndexingStatus>
, public MessageListener<MessageStatus>
{
Q_OBJECT
public:
QtCoreApplication(int argc, char **argv);
virtual ~QtCoreApplication();
virtual ~QtCoreApplication() = default;
private:
virtual void handleMessage(MessageQuitApplication* message);
virtual void handleMessage(MessageIndexingStatus* message);
virtual void handleMessage(MessageStatus* message);
};