forked from qt-creator/qt-creator
Tasks: Make the linking of compile output to Tasks more robust
Clicking on error messages is supposed to jump to the editor. And "Show Output" on the task is supposed to select the error in the output. The old code just registered the task for the last line of output. This broke for every parser that allowed for error messages that spanned multiple lines. And was obviously also incorrect for tasks that weren't generated due to compile output. Fix both of those issues by giving the IOutputParsers more control on which lines are linked to a task. Task-number: QTCREATORBUG-14136 Change-Id: I095922c9875620dabfb7d406f6b152c8a9b25b62 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
#include <coreplugin/ioutputpane.h>
|
||||
|
||||
#include <QHash>
|
||||
#include <QPair>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
class QPlainTextEdit;
|
||||
@@ -79,7 +80,7 @@ public:
|
||||
void goToPrev();
|
||||
bool canNavigate() const;
|
||||
|
||||
void registerPositionOf(const Task &task);
|
||||
void registerPositionOf(const Task &task, int linkedOutputLines, int skipLines);
|
||||
bool knowsPositionOf(const Task &task);
|
||||
void showPositionOf(const Task &task);
|
||||
|
||||
@@ -90,7 +91,7 @@ private slots:
|
||||
|
||||
private:
|
||||
CompileOutputTextEdit *m_outputWindow;
|
||||
QHash<unsigned int, int> m_taskPositions;
|
||||
QHash<unsigned int, QPair<int, int>> m_taskPositions;
|
||||
ShowOutputTaskHandler * m_handler;
|
||||
QToolButton *m_cancelBuildButton;
|
||||
Utils::AnsiEscapeCodeHandler *m_escapeCodeHandler;
|
||||
|
||||
Reference in New Issue
Block a user