summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/customparserconfigdialog.h
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2015-12-16 21:04:45 +0100
committerAndré Hartmann <aha_1980@gmx.de>2016-01-04 17:54:30 +0000
commit61a87799a33b81dd95984bcb3c6617ec7effef50 (patch)
treec8092f59a1dc41609c722e832ee456575e6845f1 /src/plugins/projectexplorer/customparserconfigdialog.h
parent5a7d3e78db2e9b6a939a896c679091cea77f40d5 (diff)
downloadqt-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.h36
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;
};