ui: Explain differences of errors and how to fix them (issue #501)

* added help button next to filters in error table
* added menu action Help -> Fixing Errors
* added help button on indexing dialog
* show help message after first time indexing with errors, if not seen already
This commit is contained in:
Eberhard Graether
2017-11-09 12:01:33 +01:00
parent 0cf64d338b
commit dc16b3f45b
15 changed files with 166 additions and 16 deletions
+1
View File
@@ -418,6 +418,7 @@ add_files(
utility/messaging/type/MessageSearch.h
utility/messaging/type/MessageSearchAutocomplete.h
utility/messaging/type/MessageSearchFullText.h
utility/messaging/type/MessageShowErrorHelpMessage.h
utility/messaging/type/MessageShowErrors.h
utility/messaging/type/MessageShowReference.h
utility/messaging/type/MessageShowScope.h
@@ -1,6 +1,7 @@
#include "component/controller/ErrorController.h"
#include "data/access/StorageAccess.h"
#include "settings/ApplicationSettings.h"
ErrorController::ErrorController(StorageAccess* storageAccess)
: m_storageAccess(storageAccess)
@@ -46,6 +47,29 @@ void ErrorController::handleMessage(MessageNewErrors* message)
}
void ErrorController::handleMessage(MessageShowErrorHelpMessage* message)
{
ApplicationSettings* appSettings = ApplicationSettings::getInstance().get();
if (!message->force && appSettings->getSeenErrorHelpMessage())
{
return;
}
if (!message->force)
{
ErrorCountInfo info = m_storageAccess->getErrorCount();
if (!info.total)
{
return;
}
}
appSettings->setSeenErrorHelpMessage(true);
appSettings->save();
getView()->showErrorHelpMessage();
}
void ErrorController::handleMessage(MessageShowErrors* message)
{
if (message->errorId)
@@ -5,6 +5,7 @@
#include "utility/messaging/type/MessageClearErrorCount.h"
#include "utility/messaging/type/MessageFinishedParsing.h"
#include "utility/messaging/type/MessageNewErrors.h"
#include "utility/messaging/type/MessageShowErrorHelpMessage.h"
#include "utility/messaging/type/MessageShowErrors.h"
#include "component/controller/Controller.h"
@@ -17,6 +18,7 @@ class ErrorController
, public MessageListener<MessageClearErrorCount>
, public MessageListener<MessageFinishedParsing>
, public MessageListener<MessageNewErrors>
, public MessageListener<MessageShowErrorHelpMessage>
, public MessageListener<MessageShowErrors>
{
public:
@@ -27,6 +29,7 @@ private:
virtual void handleMessage(MessageClearErrorCount* message);
virtual void handleMessage(MessageFinishedParsing* message);
virtual void handleMessage(MessageNewErrors* message);
virtual void handleMessage(MessageShowErrorHelpMessage* message);
virtual void handleMessage(MessageShowErrors* message);
ErrorView* getView() const;
+2
View File
@@ -23,6 +23,8 @@ public:
virtual void setErrorCount(ErrorCountInfo info) = 0;
virtual void resetErrorLimit() = 0;
virtual void showErrorHelpMessage() = 0;
};
#endif // ERROR_VIEW_H
+10
View File
@@ -506,6 +506,16 @@ void ApplicationSettings::setUpdateVersion(const Version& version)
}
}
bool ApplicationSettings::getSeenErrorHelpMessage() const
{
return getValue<bool>("user/seen_error_help_message", false);
}
void ApplicationSettings::setSeenErrorHelpMessage(bool seen)
{
setValue<bool>("user/seen_error_help_message", seen);
}
int ApplicationSettings::getPluginPort() const
{
return getValue<int>("network/plugin_port", 6666);
+3
View File
@@ -141,6 +141,9 @@ public:
Version getUpdateVersion() const;
void setUpdateVersion(const Version& version);
bool getSeenErrorHelpMessage() const;
void setSeenErrorHelpMessage(bool seen);
// network
int getPluginPort() const;
void setPluginPort(const int pluginPort);
@@ -0,0 +1,23 @@
#ifndef MESSAGE_SHOW_ERROR_HELP_MESSAGE_H
#define MESSAGE_SHOW_ERROR_HELP_MESSAGE_H
#include "utility/messaging/Message.h"
class MessageShowErrorHelpMessage:
public Message<MessageShowErrorHelpMessage>
{
public:
MessageShowErrorHelpMessage(bool force = false)
: force(force)
{
}
static const std::string getStaticType()
{
return "MessageShowErrorHelpMessage";
}
const bool force;
};
#endif // MESSAGE_SHOW_ERROR_HELP_MESSAGE_H