mirror of
https://github.com/reactos/CMake.git
synced 2024-12-14 07:09:22 +00:00
Merge topic '16204-regex-explorer-match-all'
4164078c
cmake-gui: Add MATCHALL option to Regex Explorer
This commit is contained in:
commit
914728f8d7
@ -64,10 +64,32 @@ void RegexExplorer::on_inputText_textChanged()
|
||||
return;
|
||||
}
|
||||
|
||||
std::string matchingText;
|
||||
|
||||
if (matchAll->isChecked()) {
|
||||
const char* p = m_text.c_str();
|
||||
while (m_regexParser.find(p)) {
|
||||
std::string::size_type l = m_regexParser.start();
|
||||
std::string::size_type r = m_regexParser.end();
|
||||
if (r - l == 0) {
|
||||
// matched empty string
|
||||
clearMatch();
|
||||
return;
|
||||
}
|
||||
if (!matchingText.empty()) {
|
||||
matchingText += ";";
|
||||
}
|
||||
matchingText += std::string(p + l, r - l);
|
||||
p += r;
|
||||
}
|
||||
} else {
|
||||
matchingText = m_regexParser.match(0);
|
||||
}
|
||||
|
||||
#ifdef QT_NO_STL
|
||||
QString matchText = m_regexParser.match(0).c_str();
|
||||
QString matchText = matchingText.c_str();
|
||||
#else
|
||||
QString matchText = QString::fromStdString(m_regexParser.match(0));
|
||||
QString matchText = QString::fromStdString(matchingText);
|
||||
#endif
|
||||
match0->setPlainText(matchText);
|
||||
|
||||
@ -95,8 +117,16 @@ void RegexExplorer::on_matchNumber_currentIndexChanged(int index)
|
||||
matchN->setPlainText(match);
|
||||
}
|
||||
|
||||
void RegexExplorer::on_matchAll_toggled(bool checked)
|
||||
{
|
||||
Q_UNUSED(checked);
|
||||
|
||||
on_inputText_textChanged();
|
||||
}
|
||||
|
||||
void RegexExplorer::clearMatch()
|
||||
{
|
||||
m_matched = false;
|
||||
match0->clear();
|
||||
matchN->clear();
|
||||
}
|
||||
|
@ -22,6 +22,7 @@ private slots:
|
||||
void on_regularExpression_textChanged(const QString& text);
|
||||
void on_inputText_textChanged();
|
||||
void on_matchNumber_currentIndexChanged(int index);
|
||||
void on_matchAll_toggled(bool checked);
|
||||
|
||||
private:
|
||||
static void setStatusColor(QWidget* widget, bool successful);
|
||||
|
@ -104,11 +104,38 @@
|
||||
<widget class="QLineEdit" name="regularExpression"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Complete Match</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Complete Match</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="matchAll">
|
||||
<property name="text">
|
||||
<string>Match All</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPlainTextEdit" name="match0">
|
||||
|
Loading…
Reference in New Issue
Block a user