ProjectExplorer: inline customparserconfigdialog.ui

Also fix label buddies on the "Warning" page.

Change-Id: If2f62021fe0f5820ea23a49f6235065dbe17126c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2022-08-01 14:15:14 +02:00
parent ffcf85958f
commit 39e38bfdff
5 changed files with 253 additions and 555 deletions

View File

@@ -33,7 +33,7 @@ add_qtc_plugin(ProjectExplorer
currentprojectfind.cpp currentprojectfind.h currentprojectfind.cpp currentprojectfind.h
customexecutablerunconfiguration.cpp customexecutablerunconfiguration.h customexecutablerunconfiguration.cpp customexecutablerunconfiguration.h
customparser.cpp customparser.h customparser.cpp customparser.h
customparserconfigdialog.cpp customparserconfigdialog.h customparserconfigdialog.ui customparserconfigdialog.cpp customparserconfigdialog.h
customparserssettingspage.cpp customparserssettingspage.h customparserssettingspage.cpp customparserssettingspage.h
customtoolchain.cpp customtoolchain.h customtoolchain.cpp customtoolchain.h
customwizard/customwizard.cpp customwizard/customwizard.h customwizard/customwizard.cpp customwizard/customwizard.h

View File

@@ -24,50 +24,206 @@
****************************************************************************/ ****************************************************************************/
#include "customparserconfigdialog.h" #include "customparserconfigdialog.h"
#include "ui_customparserconfigdialog.h"
#include <utils/layoutbuilder.h>
#include <utils/theme/theme.h> #include <utils/theme/theme.h>
#include <QApplication>
#include <QCheckBox>
#include <QDialog>
#include <QDialogButtonBox>
#include <QFormLayout>
#include <QGridLayout>
#include <QGroupBox>
#include <QHBoxLayout>
#include <QLabel>
#include <QLineEdit>
#include <QLineEdit> #include <QLineEdit>
#include <QPushButton> #include <QPushButton>
#include <QRegularExpression> #include <QRegularExpression>
#include <QSpacerItem>
#include <QSpinBox>
#include <QTabWidget>
#include <QVBoxLayout>
namespace ProjectExplorer { namespace ProjectExplorer::Internal {
namespace Internal {
CustomParserConfigDialog::CustomParserConfigDialog(QWidget *parent) : CustomParserConfigDialog::CustomParserConfigDialog(QWidget *parent)
QDialog(parent), : QDialog(parent)
ui(new Ui::CustomParserConfigDialog)
{ {
ui->setupUi(this); resize(516, 480);
setWindowTitle(tr("Custom Parser"));
connect(ui->errorPattern, &QLineEdit::textChanged, this, &CustomParserConfigDialog::changed); m_errorPattern = new QLineEdit;
connect(ui->errorOutputMessage, &QLineEdit::textChanged, auto label_1 = new QLabel(tr("&Error message capture pattern:"));
label_1->setBuddy(m_errorPattern);
auto label = new QLabel(tr("&File name:"));
auto label_2 = new QLabel(tr("&Line number:"));
auto label_3 = new QLabel(tr("&Message:"));
m_errorFileNameCap = new QSpinBox;
m_errorFileNameCap->setMaximum(9);
m_errorFileNameCap->setValue(1);
m_errorLineNumberCap = new QSpinBox;
m_errorLineNumberCap->setMaximum(9);
m_errorLineNumberCap->setValue(2);
m_errorMessageCap = new QSpinBox;
m_errorMessageCap->setMaximum(9);
m_errorMessageCap->setValue(3);
label->setBuddy(m_errorFileNameCap);
label_2->setBuddy(m_errorLineNumberCap);
label_3->setBuddy(m_errorMessageCap);
m_errorStdOutChannel = new QCheckBox(tr("Standard output"));
m_errorStdErrChannel = new QCheckBox(tr("Standard error"));
auto label_5 = new QLabel(tr("E&rror message:"));
m_errorOutputMessage = new QLineEdit;
m_errorFileNameTest = new QLabel;
m_errorLineNumberTest = new QLabel;
m_errorMessageTest = new QLabel;
label_5->setBuddy(m_errorOutputMessage);
m_warningPattern = new QLineEdit;
auto label_11 = new QLabel(tr("&File name:"));
auto label_12 = new QLabel(tr("&Line number:"));
auto label_13 = new QLabel(tr("&Message:"));
m_warningLineNumberCap = new QSpinBox;
m_warningLineNumberCap->setMaximum(9);
m_warningLineNumberCap->setValue(2);
m_warningMessageCap = new QSpinBox;
m_warningMessageCap->setMaximum(9);
m_warningMessageCap->setValue(3);
m_warningFileNameCap = new QSpinBox;
m_warningFileNameCap->setMaximum(9);
m_warningFileNameCap->setValue(1);
label_11->setBuddy(m_warningFileNameCap);
label_12->setBuddy(m_warningLineNumberCap);
label_13->setBuddy(m_warningMessageCap);
m_warningStdOutChannel = new QCheckBox(tr("Standard output"));
m_warningStdErrChannel = new QCheckBox(tr("Standard error"));
auto label_14 = new QLabel(tr("Warning message:"));
m_warningOutputMessage = new QLineEdit;
m_warningFileNameTest = new QLabel;
m_warningLineNumberTest = new QLabel;
m_warningMessageTest = new QLabel;
label_14->setBuddy(m_warningOutputMessage);
auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
using namespace Utils::Layouting;
auto tabWarning = new QWidget;
Column {
tr("Warning message capture pattern:"),
m_warningPattern,
Group {
title(tr("Capture Positions")),
Grid {
label_11, label_12, label_13, br,
m_warningFileNameCap, m_warningLineNumberCap, m_warningMessageCap
}
},
Group {
title(tr("Capture Output Channels")),
Row { m_warningStdOutChannel, m_warningStdErrChannel }
},
Group {
title(tr("Test")),
Column {
label_14,
m_warningOutputMessage,
Form {
tr("File name:"), m_warningFileNameTest, br,
tr("Line number:"), m_warningLineNumberTest, br,
tr("Message:"), m_warningMessageTest
}
}
}
}.attachTo(tabWarning);
auto tabError = new QWidget;
Column {
label_1,
m_errorPattern,
Group {
title(tr("Capture Positions")),
Grid {
label, label_2, label_3, br,
m_errorFileNameCap, m_errorLineNumberCap, m_errorMessageCap
}
},
Group {
title(tr("Capture Output Channels")),
Row { m_errorStdOutChannel, m_errorStdErrChannel }
},
Group {
title(tr("Test")),
Column {
label_5,
m_errorOutputMessage,
Form {
tr("File name:"), m_errorFileNameTest, br,
tr("Line number:"), m_errorLineNumberTest, br,
tr("Message:"), m_errorMessageTest
}
}
},
}.attachTo(tabError);
auto tabWidget = new QTabWidget(this);
tabWidget->addTab(tabError, tr("Error"));
tabWidget->addTab(tabWarning, tr("Warning"));
tabWidget->setCurrentIndex(0);
Column {
tabWidget,
st,
buttonBox
}.attachTo(this);
connect(m_errorPattern, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->errorFileNameCap, &QSpinBox::valueChanged, connect(m_errorOutputMessage, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->errorLineNumberCap, &QSpinBox::valueChanged, connect(m_errorFileNameCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->errorMessageCap, &QSpinBox::valueChanged, connect(m_errorLineNumberCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->warningPattern, &QLineEdit::textChanged, this, &CustomParserConfigDialog::changed); connect(m_errorMessageCap, &QSpinBox::valueChanged,
connect(ui->warningOutputMessage, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->warningFileNameCap, &QSpinBox::valueChanged, connect(m_warningPattern, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->warningLineNumberCap, &QSpinBox::valueChanged, connect(m_warningOutputMessage, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(ui->warningMessageCap, &QSpinBox::valueChanged, connect(m_warningFileNameCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed); this, &CustomParserConfigDialog::changed);
connect(m_warningLineNumberCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed);
connect(m_warningMessageCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed);
connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
changed(); changed();
m_dirty = false; m_dirty = false;
} }
CustomParserConfigDialog::~CustomParserConfigDialog() CustomParserConfigDialog::~CustomParserConfigDialog() = default;
{
delete ui;
}
void CustomParserConfigDialog::setExampleSettings() void CustomParserConfigDialog::setExampleSettings()
{ {
@@ -81,9 +237,9 @@ void CustomParserConfigDialog::setExampleSettings()
setWarningLineNumberCap(2); setWarningLineNumberCap(2);
setWarningMessageCap(3); setWarningMessageCap(3);
setWarningChannel(CustomParserExpression::ParseBothChannels); setWarningChannel(CustomParserExpression::ParseBothChannels);
ui->errorOutputMessage->setText( m_errorOutputMessage->setText(
QLatin1String("#error /home/user/src/test.c:891: Unknown identifier `test`")); QLatin1String("#error /home/user/src/test.c:891: Unknown identifier `test`"));
ui->warningOutputMessage->setText( m_warningOutputMessage->setText(
QLatin1String("#warning /home/user/src/test.c:49: Unreferenced variable `test`")); QLatin1String("#warning /home/user/src/test.c:49: Unreferenced variable `test`"));
} }
@@ -128,136 +284,136 @@ CustomParserSettings CustomParserConfigDialog::settings() const
void CustomParserConfigDialog::setErrorPattern(const QString &errorPattern) void CustomParserConfigDialog::setErrorPattern(const QString &errorPattern)
{ {
ui->errorPattern->setText(errorPattern); m_errorPattern->setText(errorPattern);
} }
QString CustomParserConfigDialog::errorPattern() const QString CustomParserConfigDialog::errorPattern() const
{ {
return ui->errorPattern->text(); return m_errorPattern->text();
} }
void CustomParserConfigDialog::setErrorFileNameCap(int fileNameCap) void CustomParserConfigDialog::setErrorFileNameCap(int fileNameCap)
{ {
ui->errorFileNameCap->setValue(fileNameCap); m_errorFileNameCap->setValue(fileNameCap);
} }
int CustomParserConfigDialog::errorFileNameCap() const int CustomParserConfigDialog::errorFileNameCap() const
{ {
return ui->errorFileNameCap->value(); return m_errorFileNameCap->value();
} }
void CustomParserConfigDialog::setErrorLineNumberCap(int lineNumberCap) void CustomParserConfigDialog::setErrorLineNumberCap(int lineNumberCap)
{ {
ui->errorLineNumberCap->setValue(lineNumberCap); m_errorLineNumberCap->setValue(lineNumberCap);
} }
int CustomParserConfigDialog::errorLineNumberCap() const int CustomParserConfigDialog::errorLineNumberCap() const
{ {
return ui->errorLineNumberCap->value(); return m_errorLineNumberCap->value();
} }
void CustomParserConfigDialog::setErrorMessageCap(int messageCap) void CustomParserConfigDialog::setErrorMessageCap(int messageCap)
{ {
ui->errorMessageCap->setValue(messageCap); m_errorMessageCap->setValue(messageCap);
} }
int CustomParserConfigDialog::errorMessageCap() const int CustomParserConfigDialog::errorMessageCap() const
{ {
return ui->errorMessageCap->value(); return m_errorMessageCap->value();
} }
void CustomParserConfigDialog::setErrorChannel(CustomParserExpression::CustomParserChannel errorChannel) void CustomParserConfigDialog::setErrorChannel(CustomParserExpression::CustomParserChannel errorChannel)
{ {
ui->errorStdErrChannel->setChecked( m_errorStdErrChannel->setChecked(
errorChannel & static_cast<int>(CustomParserExpression::ParseStdErrChannel)); errorChannel & static_cast<int>(CustomParserExpression::ParseStdErrChannel));
ui->errorStdOutChannel->setChecked( m_errorStdOutChannel->setChecked(
errorChannel & static_cast<int>(CustomParserExpression::ParseStdOutChannel)); errorChannel & static_cast<int>(CustomParserExpression::ParseStdOutChannel));
} }
CustomParserExpression::CustomParserChannel CustomParserConfigDialog::errorChannel() const CustomParserExpression::CustomParserChannel CustomParserConfigDialog::errorChannel() const
{ {
if (ui->errorStdErrChannel->isChecked() && !ui->errorStdOutChannel->isChecked()) if (m_errorStdErrChannel->isChecked() && !m_errorStdOutChannel->isChecked())
return CustomParserExpression::ParseStdErrChannel; return CustomParserExpression::ParseStdErrChannel;
if (ui->errorStdOutChannel->isChecked() && !ui->errorStdErrChannel->isChecked()) if (m_errorStdOutChannel->isChecked() && !m_errorStdErrChannel->isChecked())
return CustomParserExpression::ParseStdOutChannel; return CustomParserExpression::ParseStdOutChannel;
return CustomParserExpression::ParseBothChannels; return CustomParserExpression::ParseBothChannels;
} }
void CustomParserConfigDialog::setErrorExample(const QString &errorExample) void CustomParserConfigDialog::setErrorExample(const QString &errorExample)
{ {
ui->errorOutputMessage->setText(errorExample); m_errorOutputMessage->setText(errorExample);
} }
QString CustomParserConfigDialog::errorExample() const QString CustomParserConfigDialog::errorExample() const
{ {
return ui->errorOutputMessage->text(); return m_errorOutputMessage->text();
} }
void CustomParserConfigDialog::setWarningPattern(const QString &warningPattern) void CustomParserConfigDialog::setWarningPattern(const QString &warningPattern)
{ {
ui->warningPattern->setText(warningPattern); m_warningPattern->setText(warningPattern);
} }
QString CustomParserConfigDialog::warningPattern() const QString CustomParserConfigDialog::warningPattern() const
{ {
return ui->warningPattern->text(); return m_warningPattern->text();
} }
void CustomParserConfigDialog::setWarningFileNameCap(int warningFileNameCap) void CustomParserConfigDialog::setWarningFileNameCap(int warningFileNameCap)
{ {
ui->warningFileNameCap->setValue(warningFileNameCap); m_warningFileNameCap->setValue(warningFileNameCap);
} }
int CustomParserConfigDialog::warningFileNameCap() const int CustomParserConfigDialog::warningFileNameCap() const
{ {
return ui->warningFileNameCap->value(); return m_warningFileNameCap->value();
} }
void CustomParserConfigDialog::setWarningLineNumberCap(int warningLineNumberCap) void CustomParserConfigDialog::setWarningLineNumberCap(int warningLineNumberCap)
{ {
ui->warningLineNumberCap->setValue(warningLineNumberCap); m_warningLineNumberCap->setValue(warningLineNumberCap);
} }
int CustomParserConfigDialog::warningLineNumberCap() const int CustomParserConfigDialog::warningLineNumberCap() const
{ {
return ui->warningLineNumberCap->value(); return m_warningLineNumberCap->value();
} }
void CustomParserConfigDialog::setWarningMessageCap(int warningMessageCap) void CustomParserConfigDialog::setWarningMessageCap(int warningMessageCap)
{ {
ui->warningMessageCap->setValue(warningMessageCap); m_warningMessageCap->setValue(warningMessageCap);
} }
int CustomParserConfigDialog::warningMessageCap() const int CustomParserConfigDialog::warningMessageCap() const
{ {
return ui->warningMessageCap->value(); return m_warningMessageCap->value();
} }
void CustomParserConfigDialog::setWarningChannel(CustomParserExpression::CustomParserChannel warningChannel) void CustomParserConfigDialog::setWarningChannel(CustomParserExpression::CustomParserChannel warningChannel)
{ {
ui->warningStdErrChannel->setChecked( m_warningStdErrChannel->setChecked(
warningChannel & static_cast<int>(CustomParserExpression::ParseStdErrChannel)); warningChannel & static_cast<int>(CustomParserExpression::ParseStdErrChannel));
ui->warningStdOutChannel->setChecked( m_warningStdOutChannel->setChecked(
warningChannel & static_cast<int>(CustomParserExpression::ParseStdOutChannel)); warningChannel & static_cast<int>(CustomParserExpression::ParseStdOutChannel));
} }
CustomParserExpression::CustomParserChannel CustomParserConfigDialog::warningChannel() const CustomParserExpression::CustomParserChannel CustomParserConfigDialog::warningChannel() const
{ {
if (ui->warningStdErrChannel->isChecked() && !ui->warningStdOutChannel->isChecked()) if (m_warningStdErrChannel->isChecked() && !m_warningStdOutChannel->isChecked())
return CustomParserExpression::ParseStdErrChannel; return CustomParserExpression::ParseStdErrChannel;
if (ui->warningStdOutChannel->isChecked() && !ui->warningStdErrChannel->isChecked()) if (m_warningStdOutChannel->isChecked() && !m_warningStdErrChannel->isChecked())
return CustomParserExpression::ParseStdOutChannel; return CustomParserExpression::ParseStdOutChannel;
return CustomParserExpression::ParseBothChannels; return CustomParserExpression::ParseBothChannels;
} }
void CustomParserConfigDialog::setWarningExample(const QString &warningExample) void CustomParserConfigDialog::setWarningExample(const QString &warningExample)
{ {
ui->warningOutputMessage->setText(warningExample); m_warningOutputMessage->setText(warningExample);
} }
QString CustomParserConfigDialog::warningExample() const QString CustomParserConfigDialog::warningExample() const
{ {
return ui->warningOutputMessage->text(); return m_warningOutputMessage->text();
} }
bool CustomParserConfigDialog::isDirty() const bool CustomParserConfigDialog::isDirty() const
@@ -305,27 +461,26 @@ void CustomParserConfigDialog::changed()
QRegularExpressionMatch match; QRegularExpressionMatch match;
QString errorMessage; QString errorMessage;
if (checkPattern(ui->errorPattern, ui->errorOutputMessage->text(), &errorMessage, &match)) { if (checkPattern(m_errorPattern, m_errorOutputMessage->text(), &errorMessage, &match)) {
ui->errorFileNameTest->setText(match.captured(ui->errorFileNameCap->value())); m_errorFileNameTest->setText(match.captured(m_errorFileNameCap->value()));
ui->errorLineNumberTest->setText(match.captured(ui->errorLineNumberCap->value())); m_errorLineNumberTest->setText(match.captured(m_errorLineNumberCap->value()));
ui->errorMessageTest->setText(match.captured(ui->errorMessageCap->value())); m_errorMessageTest->setText(match.captured(m_errorMessageCap->value()));
} else { } else {
ui->errorFileNameTest->setText(errorMessage); m_errorFileNameTest->setText(errorMessage);
ui->errorLineNumberTest->setText(errorMessage); m_errorLineNumberTest->setText(errorMessage);
ui->errorMessageTest->setText(errorMessage); m_errorMessageTest->setText(errorMessage);
} }
if (checkPattern(ui->warningPattern, ui->warningOutputMessage->text(), &errorMessage, &match)) { if (checkPattern(m_warningPattern, m_warningOutputMessage->text(), &errorMessage, &match)) {
ui->warningFileNameTest->setText(match.captured(ui->warningFileNameCap->value())); m_warningFileNameTest->setText(match.captured(m_warningFileNameCap->value()));
ui->warningLineNumberTest->setText(match.captured(ui->warningLineNumberCap->value())); m_warningLineNumberTest->setText(match.captured(m_warningLineNumberCap->value()));
ui->warningMessageTest->setText(match.captured(ui->warningMessageCap->value())); m_warningMessageTest->setText(match.captured(m_warningMessageCap->value()));
} else { } else {
ui->warningFileNameTest->setText(errorMessage); m_warningFileNameTest->setText(errorMessage);
ui->warningLineNumberTest->setText(errorMessage); m_warningLineNumberTest->setText(errorMessage);
ui->warningMessageTest->setText(errorMessage); m_warningMessageTest->setText(errorMessage);
} }
m_dirty = true; m_dirty = true;
} }
} // namespace Internal } // ProjectExplorer::Internal
} // namespace ProjectExplorer

View File

@@ -30,13 +30,13 @@
#include <QDialog> #include <QDialog>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
class QCheckBox;
class QLabel;
class QLineEdit; class QLineEdit;
class QSpinBox;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace ProjectExplorer { namespace ProjectExplorer::Internal {
namespace Internal {
namespace Ui { class CustomParserConfigDialog; }
class CustomParserConfigDialog : public QDialog class CustomParserConfigDialog : public QDialog
{ {
@@ -49,6 +49,7 @@ public:
void setExampleSettings(); void setExampleSettings();
void setSettings(const CustomParserSettings &settings); void setSettings(const CustomParserSettings &settings);
CustomParserSettings settings() const; CustomParserSettings settings() const;
void setErrorPattern(const QString &errorPattern); void setErrorPattern(const QString &errorPattern);
QString errorPattern() const; QString errorPattern() const;
void setErrorFileNameCap(int errorFileNameCap); void setErrorFileNameCap(int errorFileNameCap);
@@ -61,6 +62,7 @@ public:
CustomParserExpression::CustomParserChannel errorChannel() const; CustomParserExpression::CustomParserChannel errorChannel() const;
void setErrorExample(const QString &errorExample); void setErrorExample(const QString &errorExample);
QString errorExample() const; QString errorExample() const;
void setWarningPattern(const QString &warningPattern); void setWarningPattern(const QString &warningPattern);
QString warningPattern() const; QString warningPattern() const;
void setWarningFileNameCap(int warningFileNameCap); void setWarningFileNameCap(int warningFileNameCap);
@@ -82,9 +84,29 @@ private:
bool checkPattern(QLineEdit *pattern, const QString &outputText, bool checkPattern(QLineEdit *pattern, const QString &outputText,
QString *errorMessage, QRegularExpressionMatch *match); QString *errorMessage, QRegularExpressionMatch *match);
Ui::CustomParserConfigDialog *ui; QLineEdit *m_errorPattern;
QSpinBox *m_errorFileNameCap;
QSpinBox *m_errorLineNumberCap;
QSpinBox *m_errorMessageCap;
QCheckBox *m_errorStdOutChannel;
QCheckBox *m_errorStdErrChannel;
QLineEdit *m_errorOutputMessage;
QLabel *m_errorFileNameTest;
QLabel *m_errorLineNumberTest;
QLabel *m_errorMessageTest;
QLineEdit *m_warningPattern;
QSpinBox *m_warningLineNumberCap;
QSpinBox *m_warningMessageCap;
QSpinBox *m_warningFileNameCap;
QCheckBox *m_warningStdOutChannel;
QCheckBox *m_warningStdErrChannel;
QLineEdit *m_warningOutputMessage;
QLabel *m_warningFileNameTest;
QLabel *m_warningLineNumberTest;
QLabel *m_warningMessageTest;
bool m_dirty; bool m_dirty;
}; };
} // namespace Internal } // ProjectExplorer::Internal
} // namespace ProjectExplorer

View File

@@ -1,479 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ProjectExplorer::Internal::CustomParserConfigDialog</class>
<widget class="QDialog" name="ProjectExplorer::Internal::CustomParserConfigDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>516</width>
<height>480</height>
</rect>
</property>
<property name="windowTitle">
<string>Custom Parser</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tabError">
<attribute name="title">
<string>Error</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>&amp;Error message capture pattern:</string>
</property>
<property name="buddy">
<cstring>errorPattern</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="errorPattern">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="errorCapturePositionsGroup">
<property name="title">
<string>Capture Positions</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>&amp;File name:</string>
</property>
<property name="buddy">
<cstring>errorFileNameCap</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_2">
<property name="text">
<string>&amp;Line number:</string>
</property>
<property name="buddy">
<cstring>errorLineNumberCap</cstring>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_3">
<property name="text">
<string>&amp;Message:</string>
</property>
<property name="buddy">
<cstring>errorMessageCap</cstring>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="errorFileNameCap">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="errorLineNumberCap">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="errorMessageCap">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="errorCaptureChannelsGroup">
<property name="title">
<string>Capture Output Channels</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QCheckBox" name="errorStdOutChannel">
<property name="text">
<string>Standard output</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="errorStdErrChannel">
<property name="text">
<string>Standard error</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="errorTestGroup">
<property name="title">
<string>Test</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>E&amp;rror message:</string>
</property>
<property name="buddy">
<cstring>errorOutputMessage</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="errorOutputMessage">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>File name:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="errorFileNameTest">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Line number:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="errorLineNumberTest">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Message:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="errorMessageTest">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabWarning">
<attribute name="title">
<string>Warning</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Warning message capture pattern:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="warningPattern">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="warningCapturePositionsGroup">
<property name="title">
<string>Capture Positions</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="2">
<widget class="QSpinBox" name="warningLineNumberCap">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QSpinBox" name="warningMessageCap">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_12">
<property name="text">
<string>&amp;Line number:</string>
</property>
<property name="buddy">
<cstring>errorLineNumberCap</cstring>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>&amp;File name:</string>
</property>
<property name="buddy">
<cstring>errorFileNameCap</cstring>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QSpinBox" name="warningFileNameCap">
<property name="maximum">
<number>9</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="label_13">
<property name="text">
<string>&amp;Message:</string>
</property>
<property name="buddy">
<cstring>errorMessageCap</cstring>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="warningOutputChannelsGroup">
<property name="title">
<string>Capture Output Channels</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QCheckBox" name="warningStdOutChannel">
<property name="text">
<string>Standard output</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="warningStdErrChannel">
<property name="text">
<string>Standard error</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="warningTestGroup">
<property name="title">
<string>Test</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QLabel" name="label_14">
<property name="text">
<string>Warning message:</string>
</property>
<property name="buddy">
<cstring>errorOutputMessage</cstring>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="warningOutputMessage">
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>File name:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="warningFileNameTest">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>Line number:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="warningLineNumberTest">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Message:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="warningMessageTest">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>22</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>errorPattern</tabstop>
<tabstop>errorFileNameCap</tabstop>
<tabstop>errorLineNumberCap</tabstop>
<tabstop>errorMessageCap</tabstop>
<tabstop>errorStdOutChannel</tabstop>
<tabstop>errorStdErrChannel</tabstop>
<tabstop>errorOutputMessage</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>warningPattern</tabstop>
<tabstop>warningFileNameCap</tabstop>
<tabstop>warningLineNumberCap</tabstop>
<tabstop>warningMessageCap</tabstop>
<tabstop>warningStdOutChannel</tabstop>
<tabstop>warningStdErrChannel</tabstop>
<tabstop>warningOutputMessage</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>ProjectExplorer::Internal::CustomParserConfigDialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>320</x>
<y>341</y>
</hint>
<hint type="destinationlabel">
<x>386</x>
<y>289</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>ProjectExplorer::Internal::CustomParserConfigDialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>277</x>
<y>350</y>
</hint>
<hint type="destinationlabel">
<x>421</x>
<y>255</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@@ -50,7 +50,7 @@ Project {
"currentprojectfind.cpp", "currentprojectfind.h", "currentprojectfind.cpp", "currentprojectfind.h",
"customexecutablerunconfiguration.cpp", "customexecutablerunconfiguration.h", "customexecutablerunconfiguration.cpp", "customexecutablerunconfiguration.h",
"customparser.cpp", "customparser.h", "customparser.cpp", "customparser.h",
"customparserconfigdialog.cpp", "customparserconfigdialog.h", "customparserconfigdialog.ui", "customparserconfigdialog.cpp", "customparserconfigdialog.h",
"customparserssettingspage.cpp", "customparserssettingspage.h", "customparserssettingspage.cpp", "customparserssettingspage.h",
"customtoolchain.cpp", "customtoolchain.h", "customtoolchain.cpp", "customtoolchain.h",
"dependenciespanel.cpp", "dependenciespanel.h", "dependenciespanel.cpp", "dependenciespanel.h",