diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2015-12-16 21:04:45 +0100 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2016-01-04 17:54:30 +0000 |
commit | 61a87799a33b81dd95984bcb3c6617ec7effef50 (patch) | |
tree | c8092f59a1dc41609c722e832ee456575e6845f1 /src/plugins/projectexplorer/customparserconfigdialog.h | |
parent | 5a7d3e78db2e9b6a939a896c679091cea77f40d5 (diff) | |
download | qt-creator-61a87799a33b81dd95984bcb3c6617ec7effef50.tar.gz |
CustomParser: Add warning parser and output channel filter
There have been several requests on the mailing list or the
bug tracker to support parsing warnings for alien compilers
(sometimes slightly modified GCC).
Instead of natively supporting every compiler, users of less
frequently used compilers should use the custom parser to
parse errors and warnings.
The output channel filter for error and warning parser allows
to scan standard output, standard error or both channels.
Also added tests for twisted capture positions.
Task-number: QTCREATORBUG-11003
Change-Id: I5a5bd6f88cf21cde1c74962225067d4543693678
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/plugins/projectexplorer/customparserconfigdialog.h')
-rw-r--r-- | src/plugins/projectexplorer/customparserconfigdialog.h | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/plugins/projectexplorer/customparserconfigdialog.h b/src/plugins/projectexplorer/customparserconfigdialog.h index 8c8118badc..b272ff5204 100644 --- a/src/plugins/projectexplorer/customparserconfigdialog.h +++ b/src/plugins/projectexplorer/customparserconfigdialog.h @@ -35,6 +35,10 @@ #include <QDialog> +QT_BEGIN_NAMESPACE +class QLineEdit; +QT_END_NAMESPACE + namespace ProjectExplorer { namespace Internal { @@ -53,18 +57,38 @@ public: CustomParserSettings settings() const; void setErrorPattern(const QString &errorPattern); QString errorPattern() const; - void setFileNameCap(int fileNameCap); - int fileNameCap() const; - void setLineNumberCap(int lineNumberCap); - int lineNumberCap() const; - void setMessageCap(int messageCap); - int messageCap() const; + void setErrorFileNameCap(int errorFileNameCap); + int errorFileNameCap() const; + void setErrorLineNumberCap(int errorLineNumberCap); + int errorLineNumberCap() const; + void setErrorMessageCap(int errorMessageCap); + int errorMessageCap() const; + void setErrorChannel(CustomParserExpression::CustomParserChannel errorChannel); + CustomParserExpression::CustomParserChannel errorChannel() const; + void setErrorExample(const QString &errorExample); + QString errorExample() const; + void setWarningPattern(const QString &warningPattern); + QString warningPattern() const; + void setWarningFileNameCap(int warningFileNameCap); + int warningFileNameCap() const; + void setWarningLineNumberCap(int warningLineNumberCap); + int warningLineNumberCap() const; + void setWarningMessageCap(int warningMessageCap); + int warningMessageCap() const; + void setWarningChannel(CustomParserExpression::CustomParserChannel warningChannel); + CustomParserExpression::CustomParserChannel warningChannel() const; + void setWarningExample(const QString &warningExample); + QString warningExample() const; + bool isDirty() const; private slots: void changed(); private: + bool checkPattern(QLineEdit *pattern, const QString &outputText, + QString *errorMessage, QRegularExpressionMatch *match); + Ui::CustomParserConfigDialog *ui; bool m_dirty; }; |