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
customexecutablerunconfiguration.cpp customexecutablerunconfiguration.h
customparser.cpp customparser.h
customparserconfigdialog.cpp customparserconfigdialog.h customparserconfigdialog.ui
customparserconfigdialog.cpp customparserconfigdialog.h
customparserssettingspage.cpp customparserssettingspage.h
customtoolchain.cpp customtoolchain.h
customwizard/customwizard.cpp customwizard/customwizard.h

View File

@@ -24,50 +24,206 @@
****************************************************************************/
#include "customparserconfigdialog.h"
#include "ui_customparserconfigdialog.h"
#include <utils/layoutbuilder.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 <QPushButton>
#include <QRegularExpression>
#include <QSpacerItem>
#include <QSpinBox>
#include <QTabWidget>
#include <QVBoxLayout>
namespace ProjectExplorer {
namespace Internal {
namespace ProjectExplorer::Internal {
CustomParserConfigDialog::CustomParserConfigDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::CustomParserConfigDialog)
CustomParserConfigDialog::CustomParserConfigDialog(QWidget *parent)
: QDialog(parent)
{
ui->setupUi(this);
resize(516, 480);
setWindowTitle(tr("Custom Parser"));
connect(ui->errorPattern, &QLineEdit::textChanged, this, &CustomParserConfigDialog::changed);
connect(ui->errorOutputMessage, &QLineEdit::textChanged,
m_errorPattern = new QLineEdit;
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);
connect(ui->errorFileNameCap, &QSpinBox::valueChanged,
connect(m_errorOutputMessage, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed);
connect(ui->errorLineNumberCap, &QSpinBox::valueChanged,
connect(m_errorFileNameCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed);
connect(ui->errorMessageCap, &QSpinBox::valueChanged,
connect(m_errorLineNumberCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed);
connect(ui->warningPattern, &QLineEdit::textChanged, this, &CustomParserConfigDialog::changed);
connect(ui->warningOutputMessage, &QLineEdit::textChanged,
connect(m_errorMessageCap, &QSpinBox::valueChanged,
this, &CustomParserConfigDialog::changed);
connect(ui->warningFileNameCap, &QSpinBox::valueChanged,
connect(m_warningPattern, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed);
connect(ui->warningLineNumberCap, &QSpinBox::valueChanged,
connect(m_warningOutputMessage, &QLineEdit::textChanged,
this, &CustomParserConfigDialog::changed);
connect(ui->warningMessageCap, &QSpinBox::valueChanged,
connect(m_warningFileNameCap, &QSpinBox::valueChanged,
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();
m_dirty = false;
}
CustomParserConfigDialog::~CustomParserConfigDialog()
{
delete ui;
}
CustomParserConfigDialog::~CustomParserConfigDialog() = default;
void CustomParserConfigDialog::setExampleSettings()
{
@@ -81,9 +237,9 @@ void CustomParserConfigDialog::setExampleSettings()
setWarningLineNumberCap(2);
setWarningMessageCap(3);
setWarningChannel(CustomParserExpression::ParseBothChannels);
ui->errorOutputMessage->setText(
m_errorOutputMessage->setText(
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`"));
}
@@ -128,136 +284,136 @@ CustomParserSettings CustomParserConfigDialog::settings() const
void CustomParserConfigDialog::setErrorPattern(const QString &errorPattern)
{
ui->errorPattern->setText(errorPattern);
m_errorPattern->setText(errorPattern);
}
QString CustomParserConfigDialog::errorPattern() const
{
return ui->errorPattern->text();
return m_errorPattern->text();
}
void CustomParserConfigDialog::setErrorFileNameCap(int fileNameCap)
{
ui->errorFileNameCap->setValue(fileNameCap);
m_errorFileNameCap->setValue(fileNameCap);
}
int CustomParserConfigDialog::errorFileNameCap() const
{
return ui->errorFileNameCap->value();
return m_errorFileNameCap->value();
}
void CustomParserConfigDialog::setErrorLineNumberCap(int lineNumberCap)
{
ui->errorLineNumberCap->setValue(lineNumberCap);
m_errorLineNumberCap->setValue(lineNumberCap);
}
int CustomParserConfigDialog::errorLineNumberCap() const
{
return ui->errorLineNumberCap->value();
return m_errorLineNumberCap->value();
}
void CustomParserConfigDialog::setErrorMessageCap(int messageCap)
{
ui->errorMessageCap->setValue(messageCap);
m_errorMessageCap->setValue(messageCap);
}
int CustomParserConfigDialog::errorMessageCap() const
{
return ui->errorMessageCap->value();
return m_errorMessageCap->value();
}
void CustomParserConfigDialog::setErrorChannel(CustomParserExpression::CustomParserChannel errorChannel)
{
ui->errorStdErrChannel->setChecked(
m_errorStdErrChannel->setChecked(
errorChannel & static_cast<int>(CustomParserExpression::ParseStdErrChannel));
ui->errorStdOutChannel->setChecked(
m_errorStdOutChannel->setChecked(
errorChannel & static_cast<int>(CustomParserExpression::ParseStdOutChannel));
}
CustomParserExpression::CustomParserChannel CustomParserConfigDialog::errorChannel() const
{
if (ui->errorStdErrChannel->isChecked() && !ui->errorStdOutChannel->isChecked())
if (m_errorStdErrChannel->isChecked() && !m_errorStdOutChannel->isChecked())
return CustomParserExpression::ParseStdErrChannel;
if (ui->errorStdOutChannel->isChecked() && !ui->errorStdErrChannel->isChecked())
if (m_errorStdOutChannel->isChecked() && !m_errorStdErrChannel->isChecked())
return CustomParserExpression::ParseStdOutChannel;
return CustomParserExpression::ParseBothChannels;
}
void CustomParserConfigDialog::setErrorExample(const QString &errorExample)
{
ui->errorOutputMessage->setText(errorExample);
m_errorOutputMessage->setText(errorExample);
}
QString CustomParserConfigDialog::errorExample() const
{
return ui->errorOutputMessage->text();
return m_errorOutputMessage->text();
}
void CustomParserConfigDialog::setWarningPattern(const QString &warningPattern)
{
ui->warningPattern->setText(warningPattern);
m_warningPattern->setText(warningPattern);
}
QString CustomParserConfigDialog::warningPattern() const
{
return ui->warningPattern->text();
return m_warningPattern->text();
}
void CustomParserConfigDialog::setWarningFileNameCap(int warningFileNameCap)
{
ui->warningFileNameCap->setValue(warningFileNameCap);
m_warningFileNameCap->setValue(warningFileNameCap);
}
int CustomParserConfigDialog::warningFileNameCap() const
{
return ui->warningFileNameCap->value();
return m_warningFileNameCap->value();
}
void CustomParserConfigDialog::setWarningLineNumberCap(int warningLineNumberCap)
{
ui->warningLineNumberCap->setValue(warningLineNumberCap);
m_warningLineNumberCap->setValue(warningLineNumberCap);
}
int CustomParserConfigDialog::warningLineNumberCap() const
{
return ui->warningLineNumberCap->value();
return m_warningLineNumberCap->value();
}
void CustomParserConfigDialog::setWarningMessageCap(int warningMessageCap)
{
ui->warningMessageCap->setValue(warningMessageCap);
m_warningMessageCap->setValue(warningMessageCap);
}
int CustomParserConfigDialog::warningMessageCap() const
{
return ui->warningMessageCap->value();
return m_warningMessageCap->value();
}
void CustomParserConfigDialog::setWarningChannel(CustomParserExpression::CustomParserChannel warningChannel)
{
ui->warningStdErrChannel->setChecked(
m_warningStdErrChannel->setChecked(
warningChannel & static_cast<int>(CustomParserExpression::ParseStdErrChannel));
ui->warningStdOutChannel->setChecked(
m_warningStdOutChannel->setChecked(
warningChannel & static_cast<int>(CustomParserExpression::ParseStdOutChannel));
}
CustomParserExpression::CustomParserChannel CustomParserConfigDialog::warningChannel() const
{
if (ui->warningStdErrChannel->isChecked() && !ui->warningStdOutChannel->isChecked())
if (m_warningStdErrChannel->isChecked() && !m_warningStdOutChannel->isChecked())
return CustomParserExpression::ParseStdErrChannel;
if (ui->warningStdOutChannel->isChecked() && !ui->warningStdErrChannel->isChecked())
if (m_warningStdOutChannel->isChecked() && !m_warningStdErrChannel->isChecked())
return CustomParserExpression::ParseStdOutChannel;
return CustomParserExpression::ParseBothChannels;
}
void CustomParserConfigDialog::setWarningExample(const QString &warningExample)
{
ui->warningOutputMessage->setText(warningExample);
m_warningOutputMessage->setText(warningExample);
}
QString CustomParserConfigDialog::warningExample() const
{
return ui->warningOutputMessage->text();
return m_warningOutputMessage->text();
}
bool CustomParserConfigDialog::isDirty() const
@@ -305,27 +461,26 @@ void CustomParserConfigDialog::changed()
QRegularExpressionMatch match;
QString errorMessage;
if (checkPattern(ui->errorPattern, ui->errorOutputMessage->text(), &errorMessage, &match)) {
ui->errorFileNameTest->setText(match.captured(ui->errorFileNameCap->value()));
ui->errorLineNumberTest->setText(match.captured(ui->errorLineNumberCap->value()));
ui->errorMessageTest->setText(match.captured(ui->errorMessageCap->value()));
if (checkPattern(m_errorPattern, m_errorOutputMessage->text(), &errorMessage, &match)) {
m_errorFileNameTest->setText(match.captured(m_errorFileNameCap->value()));
m_errorLineNumberTest->setText(match.captured(m_errorLineNumberCap->value()));
m_errorMessageTest->setText(match.captured(m_errorMessageCap->value()));
} else {
ui->errorFileNameTest->setText(errorMessage);
ui->errorLineNumberTest->setText(errorMessage);
ui->errorMessageTest->setText(errorMessage);
m_errorFileNameTest->setText(errorMessage);
m_errorLineNumberTest->setText(errorMessage);
m_errorMessageTest->setText(errorMessage);
}
if (checkPattern(ui->warningPattern, ui->warningOutputMessage->text(), &errorMessage, &match)) {
ui->warningFileNameTest->setText(match.captured(ui->warningFileNameCap->value()));
ui->warningLineNumberTest->setText(match.captured(ui->warningLineNumberCap->value()));
ui->warningMessageTest->setText(match.captured(ui->warningMessageCap->value()));
if (checkPattern(m_warningPattern, m_warningOutputMessage->text(), &errorMessage, &match)) {
m_warningFileNameTest->setText(match.captured(m_warningFileNameCap->value()));
m_warningLineNumberTest->setText(match.captured(m_warningLineNumberCap->value()));
m_warningMessageTest->setText(match.captured(m_warningMessageCap->value()));
} else {
ui->warningFileNameTest->setText(errorMessage);
ui->warningLineNumberTest->setText(errorMessage);
ui->warningMessageTest->setText(errorMessage);
m_warningFileNameTest->setText(errorMessage);
m_warningLineNumberTest->setText(errorMessage);
m_warningMessageTest->setText(errorMessage);
}
m_dirty = true;
}
} // namespace Internal
} // namespace ProjectExplorer
} // ProjectExplorer::Internal

View File

@@ -30,13 +30,13 @@
#include <QDialog>
QT_BEGIN_NAMESPACE
class QCheckBox;
class QLabel;
class QLineEdit;
class QSpinBox;
QT_END_NAMESPACE
namespace ProjectExplorer {
namespace Internal {
namespace Ui { class CustomParserConfigDialog; }
namespace ProjectExplorer::Internal {
class CustomParserConfigDialog : public QDialog
{
@@ -49,6 +49,7 @@ public:
void setExampleSettings();
void setSettings(const CustomParserSettings &settings);
CustomParserSettings settings() const;
void setErrorPattern(const QString &errorPattern);
QString errorPattern() const;
void setErrorFileNameCap(int errorFileNameCap);
@@ -61,6 +62,7 @@ public:
CustomParserExpression::CustomParserChannel errorChannel() const;
void setErrorExample(const QString &errorExample);
QString errorExample() const;
void setWarningPattern(const QString &warningPattern);
QString warningPattern() const;
void setWarningFileNameCap(int warningFileNameCap);
@@ -82,9 +84,29 @@ private:
bool checkPattern(QLineEdit *pattern, const QString &outputText,
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;
};
} // namespace Internal
} // namespace ProjectExplorer
} // ProjectExplorer::Internal

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",
"customexecutablerunconfiguration.cpp", "customexecutablerunconfiguration.h",
"customparser.cpp", "customparser.h",
"customparserconfigdialog.cpp", "customparserconfigdialog.h", "customparserconfigdialog.ui",
"customparserconfigdialog.cpp", "customparserconfigdialog.h",
"customparserssettingspage.cpp", "customparserssettingspage.h",
"customtoolchain.cpp", "customtoolchain.h",
"dependenciespanel.cpp", "dependenciespanel.h",