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:
@@ -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;
|
||||
|
||||
@@ -23,6 +23,8 @@ public:
|
||||
|
||||
virtual void setErrorCount(ErrorCountInfo info) = 0;
|
||||
virtual void resetErrorLimit() = 0;
|
||||
|
||||
virtual void showErrorHelpMessage() = 0;
|
||||
};
|
||||
|
||||
#endif // ERROR_VIEW_H
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user