mirror of
https://github.com/epasveer/seer.git
synced 2026-08-29 16:40:42 +08:00
Improved wild carding in source browser.
Works now for Qt5. Hide 'ignored' files from source browser.
This commit is contained in:
@@ -249,14 +249,14 @@ QStringList SeerConfigDialog::sourceAlternateDirectories () const {
|
||||
return _sourceConfigPage->alternateDirectories();
|
||||
}
|
||||
|
||||
void SeerConfigDialog::setSourceIgnoreDirectories (const QStringList& ignoreDirectories) {
|
||||
void SeerConfigDialog::setSourceIgnoreFilePatterns (const QStringList& filePatterns) {
|
||||
|
||||
_sourceConfigPage->setIgnoreDirectories(ignoreDirectories);
|
||||
_sourceConfigPage->setIgnoreFilePatterns(filePatterns);
|
||||
}
|
||||
|
||||
QStringList SeerConfigDialog::sourceIgnoreDirectories () const {
|
||||
QStringList SeerConfigDialog::sourceIgnoreFilePatterns () const {
|
||||
|
||||
return _sourceConfigPage->ignoreDirectories();
|
||||
return _sourceConfigPage->ignoreFilePatterns();
|
||||
}
|
||||
|
||||
void SeerConfigDialog::setSourceMiscFilePatterns (const QStringList& filePatterns) {
|
||||
|
||||
@@ -70,8 +70,8 @@ class SeerConfigDialog : public QDialog, protected Ui::SeerConfigDialogForm {
|
||||
void setSourceAlternateDirectories (const QStringList& alternateDirectories);
|
||||
QStringList sourceAlternateDirectories () const;
|
||||
|
||||
void setSourceIgnoreDirectories (const QStringList& ignoreDirectories);
|
||||
QStringList sourceIgnoreDirectories () const;
|
||||
void setSourceIgnoreFilePatterns (const QStringList& filePatterns);
|
||||
QStringList sourceIgnoreFilePatterns () const;
|
||||
|
||||
void setSourceMiscFilePatterns (const QStringList& filePatterns);
|
||||
QStringList sourceMiscFilePatterns () const;
|
||||
|
||||
@@ -3177,6 +3177,8 @@ const QStringList& SeerGdbWidget::sourceIgnoreDirectories() const {
|
||||
void SeerGdbWidget::setSourceIgnoreDirectories (const QStringList& ignoreDirectories) {
|
||||
|
||||
editorManager()->setEditorIgnoreDirectories(ignoreDirectories);
|
||||
|
||||
sourceLibraryManagerWidget->sourceBrowserWidget()->setIgnoreFilePatterns(ignoreDirectories);
|
||||
}
|
||||
|
||||
void SeerGdbWidget::setSourceMiscFilePatterns (const QStringList& filePatterns) {
|
||||
@@ -3209,6 +3211,16 @@ const QStringList& SeerGdbWidget::sourceHeaderFilePatterns () const {
|
||||
return sourceLibraryManagerWidget->sourceBrowserWidget()->headerFilePatterns();
|
||||
}
|
||||
|
||||
void SeerGdbWidget::setSourceIgnoreFilePatterns (const QStringList& filePatterns) {
|
||||
|
||||
sourceLibraryManagerWidget->sourceBrowserWidget()->setIgnoreFilePatterns(filePatterns);
|
||||
}
|
||||
|
||||
const QStringList& SeerGdbWidget::sourceIgnoreFilePatterns () const {
|
||||
|
||||
return sourceLibraryManagerWidget->sourceBrowserWidget()->ignoreFilePatterns();
|
||||
}
|
||||
|
||||
void SeerGdbWidget::setAssemblyShowAssemblyTabOnStartup (bool flag) {
|
||||
|
||||
_assemblyShowAssemblyTabOnStartup = flag;
|
||||
|
||||
@@ -134,6 +134,9 @@ class SeerGdbWidget : public QWidget, protected Ui::SeerGdbWidgetForm {
|
||||
void setSourceHeaderFilePatterns (const QStringList& filePatterns);
|
||||
const QStringList& sourceHeaderFilePatterns () const;
|
||||
|
||||
void setSourceIgnoreFilePatterns (const QStringList& filePatterns);
|
||||
const QStringList& sourceIgnoreFilePatterns () const;
|
||||
|
||||
void setAssemblyShowAssemblyTabOnStartup (bool flag);
|
||||
bool assemblyShowAssemblyTabOnStartup () const;
|
||||
|
||||
|
||||
@@ -614,7 +614,7 @@ void SeerMainWindow::handleSettingsConfiguration () {
|
||||
dlg.setEditorHighlighterSettings(gdbWidget->editorManager()->editorHighlighterSettings());
|
||||
dlg.setEditorHighlighterEnabled(gdbWidget->editorManager()->editorHighlighterEnabled());
|
||||
dlg.setSourceAlternateDirectories(gdbWidget->sourceAlternateDirectories());
|
||||
dlg.setSourceIgnoreDirectories(gdbWidget->sourceIgnoreDirectories());
|
||||
dlg.setSourceIgnoreFilePatterns(gdbWidget->sourceIgnoreFilePatterns());
|
||||
dlg.setSourceMiscFilePatterns(gdbWidget->sourceMiscFilePatterns());
|
||||
dlg.setSourceSourceFilePatterns(gdbWidget->sourceSourceFilePatterns());
|
||||
dlg.setSourceHeaderFilePatterns(gdbWidget->sourceHeaderFilePatterns());
|
||||
@@ -654,7 +654,7 @@ void SeerMainWindow::handleSettingsConfiguration () {
|
||||
gdbWidget->editorManager()->setEditorHighlighterSettings(dlg.editorHighlighterSettings());
|
||||
gdbWidget->editorManager()->setEditorHighlighterEnabled(dlg.editorHighlighterEnabled());
|
||||
gdbWidget->setSourceAlternateDirectories(dlg.sourceAlternateDirectories());
|
||||
gdbWidget->setSourceIgnoreDirectories(dlg.sourceIgnoreDirectories());
|
||||
gdbWidget->setSourceIgnoreFilePatterns(dlg.sourceIgnoreFilePatterns());
|
||||
gdbWidget->setSourceMiscFilePatterns(dlg.sourceMiscFilePatterns());
|
||||
gdbWidget->setSourceSourceFilePatterns(dlg.sourceSourceFilePatterns());
|
||||
gdbWidget->setSourceHeaderFilePatterns(dlg.sourceHeaderFilePatterns());
|
||||
|
||||
@@ -77,6 +77,16 @@ const QStringList& SeerSourceBrowserWidget::headerFilePatterns () const {
|
||||
return _headerFilePatterns;
|
||||
}
|
||||
|
||||
void SeerSourceBrowserWidget::setIgnoreFilePatterns (const QStringList& patterns) {
|
||||
|
||||
_ignoreFilePatterns = patterns;
|
||||
}
|
||||
|
||||
const QStringList& SeerSourceBrowserWidget::ignoreFilePatterns () const {
|
||||
|
||||
return _ignoreFilePatterns;
|
||||
}
|
||||
|
||||
void SeerSourceBrowserWidget::handleText (const QString& text) {
|
||||
|
||||
QApplication::setOverrideCursor(Qt::BusyCursor);
|
||||
@@ -128,7 +138,10 @@ void SeerSourceBrowserWidget::handleText (const QString& text) {
|
||||
|
||||
// See which pattern the file matches. Put the file under that folder.
|
||||
// If no match, put it in 'misc'.
|
||||
if (Seer::matchesWildcard(miscFilePatterns(), fullname_text)) {
|
||||
|
||||
if (Seer::matchesWildcard(ignoreFilePatterns(), fullname_text)) {
|
||||
continue;
|
||||
}else if (Seer::matchesWildcard(miscFilePatterns(), fullname_text)) {
|
||||
_miscFilesItems->addChild(item);
|
||||
}else if (Seer::matchesWildcard(sourceFilePatterns(), fullname_text)) {
|
||||
_sourceFilesItems->addChild(item);
|
||||
|
||||
@@ -22,6 +22,9 @@ class SeerSourceBrowserWidget : public QWidget, protected Ui::SeerSourceBrowserW
|
||||
void setHeaderFilePatterns (const QStringList& patterns);
|
||||
const QStringList& headerFilePatterns () const;
|
||||
|
||||
void setIgnoreFilePatterns (const QStringList& patterns);
|
||||
const QStringList& ignoreFilePatterns () const;
|
||||
|
||||
public slots:
|
||||
void handleText (const QString& text);
|
||||
void refresh ();
|
||||
@@ -43,5 +46,6 @@ class SeerSourceBrowserWidget : public QWidget, protected Ui::SeerSourceBrowserW
|
||||
QStringList _sourceFilePatterns;
|
||||
QStringList _headerFilePatterns;
|
||||
QStringList _miscFilePatterns;
|
||||
QStringList _ignoreFilePatterns;
|
||||
};
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@ SeerSourceConfigPage::SeerSourceConfigPage(QWidget* parent) : QWidget(parent) {
|
||||
alternateDirectoriesTreeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
alternateDirectoriesTreeWidget->resizeColumnToContents(0); // directory
|
||||
|
||||
ignoreDirectoriesTreeWidget->clear();
|
||||
ignoreDirectoriesTreeWidget->setSortingEnabled(false);
|
||||
ignoreDirectoriesTreeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
ignoreDirectoriesTreeWidget->resizeColumnToContents(0); // directory
|
||||
ignoreFilePatternsTreeWidget->clear();
|
||||
ignoreFilePatternsTreeWidget->setSortingEnabled(false);
|
||||
ignoreFilePatternsTreeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
ignoreFilePatternsTreeWidget->resizeColumnToContents(0); // file pattern
|
||||
|
||||
miscFilePatternsTreeWidget->clear();
|
||||
miscFilePatternsTreeWidget->setSortingEnabled(false);
|
||||
@@ -42,8 +42,8 @@ SeerSourceConfigPage::SeerSourceConfigPage(QWidget* parent) : QWidget(parent) {
|
||||
QObject::connect(moveUpAlternateDirectoriesToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleUpAlternateButtonClicked);
|
||||
QObject::connect(moveDownAlternateDirectoriesToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleDownAlternateButtonClicked);
|
||||
QObject::connect(deleteAlternateDirectoriesToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleDeleteAlternateButtonClicked);
|
||||
QObject::connect(addIgnoreDirectoryToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleAddIgnoreButtonClicked);
|
||||
QObject::connect(deleteIgnoreDirectoriesToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleDeleteIgnoreButtonClicked);
|
||||
QObject::connect(addIgnoreFilePatternToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleAddIgnorePatternButtonClicked);
|
||||
QObject::connect(deleteIgnoreFilePatternesToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleDeleteIgnorePatternButtonClicked);
|
||||
QObject::connect(addMiscFilePatternToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleAddMiscPatternButtonClicked);
|
||||
QObject::connect(deleteMiscFilePatternsToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleDeleteMiscPatternButtonClicked);
|
||||
QObject::connect(addSourceFilePatternToolButton, &QToolButton::clicked, this, &SeerSourceConfigPage::handleAddSourcePatternButtonClicked);
|
||||
@@ -89,28 +89,28 @@ QStringList SeerSourceConfigPage::alternateDirectories () const {
|
||||
return list;
|
||||
}
|
||||
|
||||
void SeerSourceConfigPage::setIgnoreDirectories (const QStringList& ignoreDirectories) {
|
||||
void SeerSourceConfigPage::setIgnoreFilePatterns (const QStringList& filePatterns) {
|
||||
|
||||
ignoreDirectoriesTreeWidget->clear();
|
||||
ignoreFilePatternsTreeWidget->clear();
|
||||
|
||||
QStringListIterator iter(ignoreDirectories);
|
||||
QStringListIterator iter(filePatterns);
|
||||
|
||||
while (iter.hasNext()) {
|
||||
|
||||
QTreeWidgetItem* topItem = new QTreeWidgetItem;
|
||||
topItem->setText(0, iter.next());
|
||||
|
||||
ignoreDirectoriesTreeWidget->addTopLevelItem(topItem);
|
||||
ignoreFilePatternsTreeWidget->addTopLevelItem(topItem);
|
||||
}
|
||||
|
||||
ignoreDirectoriesTreeWidget->resizeColumnToContents(0);
|
||||
ignoreFilePatternsTreeWidget->resizeColumnToContents(0);
|
||||
}
|
||||
|
||||
QStringList SeerSourceConfigPage::ignoreDirectories () const {
|
||||
QStringList SeerSourceConfigPage::ignoreFilePatterns () const {
|
||||
|
||||
QStringList list;
|
||||
|
||||
QTreeWidgetItemIterator iter(ignoreDirectoriesTreeWidget);
|
||||
QTreeWidgetItemIterator iter(ignoreFilePatternsTreeWidget);
|
||||
|
||||
while (*iter) {
|
||||
list << (*iter)->text(0);
|
||||
@@ -220,9 +220,9 @@ void SeerSourceConfigPage::reset () {
|
||||
alternateDirectories << "./";
|
||||
|
||||
setAlternateDirectories(alternateDirectories);
|
||||
setIgnoreDirectories(QStringList());
|
||||
|
||||
setMiscFilePatterns( {"/usr/include/"} );
|
||||
setIgnoreFilePatterns(QStringList());
|
||||
setMiscFilePatterns( {"/usr/include/*"} );
|
||||
setSourceFilePatterns( {"*.cpp", "*.c", "*.C", "*.f", "*.f90", "*.F90", "*.rs", "*.go", "*.ada", "*.adb"} );
|
||||
setHeaderFilePatterns( {"*.hpp", "*.h", "*.ads"} );
|
||||
}
|
||||
@@ -334,7 +334,7 @@ void SeerSourceConfigPage::handleDeleteAlternateButtonClicked () {
|
||||
alternateDirectoriesTreeWidget->resizeColumnToContents(0);
|
||||
}
|
||||
|
||||
void SeerSourceConfigPage::handleAddIgnoreButtonClicked () {
|
||||
void SeerSourceConfigPage::handleAddIgnorePatternButtonClicked () {
|
||||
|
||||
// Ask for the ignore directory to add to the list.
|
||||
QString directory = QInputDialog::getText(this, "Seer - Enter a directory to ignore", "Ignore directory:");
|
||||
@@ -348,21 +348,21 @@ void SeerSourceConfigPage::handleAddIgnoreButtonClicked () {
|
||||
topItem->setText(0, directory);
|
||||
|
||||
// Just add it to the end of the list.
|
||||
ignoreDirectoriesTreeWidget->addTopLevelItem(topItem);
|
||||
ignoreFilePatternsTreeWidget->addTopLevelItem(topItem);
|
||||
|
||||
// Resize the columns and select the item we just added.
|
||||
ignoreDirectoriesTreeWidget->resizeColumnToContents(0);
|
||||
ignoreDirectoriesTreeWidget->setCurrentItem(topItem, 0);
|
||||
ignoreFilePatternsTreeWidget->resizeColumnToContents(0);
|
||||
ignoreFilePatternsTreeWidget->setCurrentItem(topItem, 0);
|
||||
}
|
||||
|
||||
void SeerSourceConfigPage::handleDeleteIgnoreButtonClicked () {
|
||||
void SeerSourceConfigPage::handleDeleteIgnorePatternButtonClicked () {
|
||||
|
||||
QList<QTreeWidgetItem*> matches = ignoreDirectoriesTreeWidget->selectedItems();
|
||||
QList<QTreeWidgetItem*> matches = ignoreFilePatternsTreeWidget->selectedItems();
|
||||
|
||||
qDeleteAll(matches);
|
||||
|
||||
// Resize the columns and select the items we just deleted.
|
||||
ignoreDirectoriesTreeWidget->resizeColumnToContents(0);
|
||||
ignoreFilePatternsTreeWidget->resizeColumnToContents(0);
|
||||
}
|
||||
|
||||
void SeerSourceConfigPage::handleAddMiscPatternButtonClicked () {
|
||||
|
||||
@@ -17,8 +17,8 @@ class SeerSourceConfigPage : public QWidget, public Ui::SeerSourceConfigPage {
|
||||
void setAlternateDirectories (const QStringList& alternateDirectories);
|
||||
QStringList alternateDirectories () const;
|
||||
|
||||
void setIgnoreDirectories (const QStringList& ignoreDirectories);
|
||||
QStringList ignoreDirectories () const;
|
||||
void setIgnoreFilePatterns (const QStringList& filePatterns);
|
||||
QStringList ignoreFilePatterns () const;
|
||||
|
||||
void setMiscFilePatterns (const QStringList& filePatterns);
|
||||
QStringList miscFilePatterns () const;
|
||||
@@ -37,9 +37,8 @@ class SeerSourceConfigPage : public QWidget, public Ui::SeerSourceConfigPage {
|
||||
void handleDownAlternateButtonClicked ();
|
||||
void handleDeleteAlternateButtonClicked ();
|
||||
|
||||
void handleAddIgnoreButtonClicked ();
|
||||
void handleDeleteIgnoreButtonClicked ();
|
||||
|
||||
void handleAddIgnorePatternButtonClicked ();
|
||||
void handleDeleteIgnorePatternButtonClicked ();
|
||||
void handleAddMiscPatternButtonClicked ();
|
||||
void handleDeleteMiscPatternButtonClicked ();
|
||||
void handleAddSourcePatternButtonClicked ();
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QTreeWidget" name="ignoreDirectoriesTreeWidget">
|
||||
<widget class="QTreeWidget" name="ignoreFilePatternsTreeWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
@@ -130,7 +130,7 @@
|
||||
</property>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Ignore Directories</string>
|
||||
<string>Ignore Directories/Files</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
@@ -138,7 +138,7 @@
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QToolButton" name="addIgnoreDirectoryToolButton">
|
||||
<widget class="QToolButton" name="addIgnoreFilePatternToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Add a new directory.</string>
|
||||
</property>
|
||||
@@ -152,7 +152,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="deleteIgnoreDirectoriesToolButton">
|
||||
<widget class="QToolButton" name="deleteIgnoreFilePatternesToolButton">
|
||||
<property name="toolTip">
|
||||
<string>Delete selected directories.</string>
|
||||
</property>
|
||||
@@ -405,8 +405,11 @@
|
||||
</property>
|
||||
<property name="html">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
hr { height: 1px; border-width: 0; }
|
||||
li.unchecked::marker { content: "\2610"; }
|
||||
li.checked::marker { content: "\2612"; }
|
||||
</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Source Lookup.</span></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
@@ -416,7 +419,9 @@ p, li { white-space: pre-wrap; }
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These settings affect how Seer sorts all the source and include filenames that a program references. These files appear in the Source Browser in one of three catagegories: <span style=" text-decoration: underline;">Source</span>, <span style=" text-decoration: underline;">Header</span>, or <span style=" text-decoration: underline;">Misc</span>.</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">An entry can be a directory path, filename, or filename extension. Wildcarding is allowed and is encouraged for fine control.</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Files that match the <span style=" text-decoration: underline;">Ignore</span> list will not be sorted into any catagegory.</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">An entry can be a directory path, filename, or filename extension. Wildcarding is allowed and is encouraged for fine control. A directory path must end with &quot;/*&quot;.</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Seer looks at the debug information for the program to create a list of all files the program references. Some are applicable to the the program, others are not.</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
@@ -437,8 +442,13 @@ p, li { white-space: pre-wrap; }
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Misc</span> should have entries like:</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> /usr/include/</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p></body></html></string>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> /usr/include/*</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Ignore</span> should have entries like:</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> /home/abuild/*</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
+27
-6
@@ -548,15 +548,36 @@ namespace Seer {
|
||||
|
||||
bool matchesWildcard (const QStringList& patterns, const QString& string) {
|
||||
|
||||
foreach (const auto& pattern, patterns) {
|
||||
|
||||
|
||||
QRegularExpression re;
|
||||
foreach (auto pattern, patterns) {
|
||||
|
||||
#if QT_VERSION >= 0x060000
|
||||
re = QRegularExpression::fromWildcard(pattern, Qt::CaseInsensitive, QRegularExpression::UnanchoredWildcardConversion);
|
||||
|
||||
QRegularExpression re = QRegularExpression::fromWildcard(pattern, Qt::CaseInsensitive, QRegularExpression::UnanchoredWildcardConversion);
|
||||
|
||||
#else
|
||||
re = QRegularExpression(QRegularExpression::wildcardToRegularExpression(pattern), QRegularExpression::CaseInsensitiveOption);
|
||||
// With Qt5, 'wildcardToRegularExpression' needs a "/*" at the start of 'pattern'
|
||||
// if 'string' start with a "/".
|
||||
//if (string[0] == '/') {
|
||||
// if (pattern[0] != '/') {
|
||||
// pattern = "/*/" + pattern;
|
||||
// }
|
||||
//}
|
||||
|
||||
// This pattern needs to be converted from a glob to a regex.
|
||||
// All '*' are replaced with '.*'
|
||||
// The pattern is terminated with a '$', if it doesn't have one.
|
||||
pattern.replace("*", ".*");
|
||||
|
||||
//if (string[0] != '/') {
|
||||
// if (pattern.back() != '$') {
|
||||
// pattern += '$';
|
||||
// }
|
||||
//}
|
||||
|
||||
// qDebug() << pattern << string;
|
||||
|
||||
// QRegularExpression re = QRegularExpression(QRegularExpression::wildcardToRegularExpression(pattern));
|
||||
QRegularExpression re = QRegularExpression(pattern);
|
||||
#endif
|
||||
|
||||
if (re.match(string).hasMatch()) {
|
||||
|
||||
Reference in New Issue
Block a user