GUI: Output debug errors to log view.
Debug errors were not shown anywhere in the GUI, they were just ignored. This commit adds new signal for those debug errors and directs them to checking log. Solves ticket #1898 (GUI: Handle internal errors from lib)
This commit is contained in:
parent
35afc4c63f
commit
20a4f1e195
|
@ -37,3 +37,12 @@ ErrorItem::ErrorItem(const ErrorLine &line)
|
|||
severity = line.severity;
|
||||
msg = line.msg;
|
||||
}
|
||||
|
||||
QString ErrorItem::ToString() const
|
||||
{
|
||||
QString str = file + " - " + id + " - " + severity +"\n";
|
||||
str += " " + msg;
|
||||
for (int i = 0; i < files.size(); i++)
|
||||
str += " " + files[i] + ": " + lines[i] + "\n";
|
||||
return str;
|
||||
}
|
||||
|
|
|
@ -39,6 +39,12 @@ public:
|
|||
ErrorItem(const ErrorLine &line);
|
||||
~ErrorItem() { }
|
||||
|
||||
/**
|
||||
* @brief Convert error item to string.
|
||||
* @return Error item as string.
|
||||
*/
|
||||
QString ToString() const;
|
||||
|
||||
QString file;
|
||||
QStringList files;
|
||||
QList<unsigned int> lines;
|
||||
|
|
|
@ -819,6 +819,14 @@ void MainWindow::Log(const QString &logline)
|
|||
}
|
||||
}
|
||||
|
||||
void MainWindow::DebugError(const ErrorItem &item)
|
||||
{
|
||||
if (mLogView)
|
||||
{
|
||||
mLogView->AppendLine(item.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::EnableProjectActions(bool enable)
|
||||
{
|
||||
mUI.mActionCloseProjectFile->setEnabled(enable);
|
||||
|
|
|
@ -36,6 +36,7 @@ class ThreadHandler;
|
|||
class LogView;
|
||||
class HelpWindow;
|
||||
class Project;
|
||||
class ErrorItem;
|
||||
|
||||
/// @addtogroup GUI
|
||||
/// @{
|
||||
|
@ -218,6 +219,12 @@ protected slots:
|
|||
*/
|
||||
void Log(const QString &logline);
|
||||
|
||||
/**
|
||||
* @brief Handle new debug error.
|
||||
*
|
||||
*/
|
||||
void DebugError(const ErrorItem &item);
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
|
|
|
@ -146,6 +146,9 @@ void ThreadHandler::Initialize(ResultsView *view)
|
|||
|
||||
connect(&mResults, SIGNAL(Log(const QString &)),
|
||||
parent(), SLOT(Log(const QString &)));
|
||||
|
||||
connect(&mResults, SIGNAL(Error(const ErrorItem &)),
|
||||
parent(), SLOT(Error(const ErrorItem &)));
|
||||
}
|
||||
|
||||
void ThreadHandler::LoadSettings(QSettings &settings)
|
||||
|
|
|
@ -71,7 +71,10 @@ void ThreadResult::reportErr(const ErrorLogger::ErrorMessage &msg)
|
|||
item.msg = QString(msg._msg.c_str());
|
||||
item.severity = QString::fromStdString(Severity::toString(msg._severity));
|
||||
|
||||
if (msg._severity != Severity::debug)
|
||||
emit Error(item);
|
||||
else
|
||||
emit DebugError(item);
|
||||
}
|
||||
|
||||
QString ThreadResult::GetNextFile()
|
||||
|
|
|
@ -100,6 +100,13 @@ signals:
|
|||
*/
|
||||
void Log(const QString &logline);
|
||||
|
||||
/**
|
||||
* @brief Signal of a debug error
|
||||
*
|
||||
* @param item Error data
|
||||
*/
|
||||
void DebugError(const ErrorItem &item);
|
||||
|
||||
protected:
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue