22#include <QAbstractItemModel>
25#include <QDialogButtonBox>
31#include <QTextDocumentFragment>
35using namespace Qt::StringLiterals;
49 ,
mStyleSheet( QStringLiteral(
"QLabel { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6 );}/*!search!*/" )
63 const QString labelText = QTextDocumentFragment::fromHtml(
mLabel->text() ).toPlainText();
64 return labelText.contains( text, Qt::CaseInsensitive );
80 QString ss =
mWidget->styleSheet();
103 return mCheckBox->text().contains( text, Qt::CaseInsensitive );
119 QString ss =
mWidget->styleSheet();
142 return mButton->text().contains( text, Qt::CaseInsensitive );
158 QString ss =
mWidget->styleSheet();
181 return mGroupBox->title().contains( text, Qt::CaseInsensitive );
198 QString ss =
mWidget->styleSheet();
216 for (
int col = 0; col <
mTreeView->model()->columnCount(); ++col )
218 const QString headerText =
mTreeView->model()->headerData( col, Qt::Horizontal ).toString();
219 if ( headerText.contains( text, Qt::CaseInsensitive ) )
223 const QModelIndexList hits =
mTreeView->model()->match(
mTreeView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
224 return !hits.isEmpty();
229 bool success =
false;
230 QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>(
mTreeView );
235 std::function<void( QTreeWidgetItem *,
bool )> setChildrenVisible;
236 setChildrenVisible = [
this, &setChildrenVisible]( QTreeWidgetItem *item,
bool visible ) {
237 for (
int i = 0; i < item->childCount(); ++i )
238 setChildrenVisible( item->child( i ), visible );
240 item->setHidden( !visible );
242 setChildrenVisible( treeWidget->invisibleRootItem(),
false );
244 const QList<QTreeWidgetItem *> items = treeWidget->findItems( text, Qt::MatchContains | Qt::MatchRecursive, 0 );
245 success = !items.empty();
247 for ( QTreeWidgetItem *item : items )
249 setChildrenVisible( item,
true );
251 QTreeWidgetItem *parent = item;
257 parent->setExpanded(
true );
258 parent->setHidden(
false );
259 parent = parent->parent();
272 QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>(
mTreeView );
276 std::function<void( QTreeWidgetItem * )> showChildren;
277 showChildren = [
this, &showChildren]( QTreeWidgetItem *item ) {
278 for (
int i = 0; i < item->childCount(); ++i )
279 showChildren( item->child( i ) );
282 showChildren( treeWidget->invisibleRootItem() );
285 QTreeWidgetItem *item = it.key();
288 item->setExpanded( it.value() );
309 for (
int col = 0; col <
mTableView->model()->columnCount(); ++col )
311 const QString headerText =
mTableView->model()->headerData( col, Qt::Horizontal ).toString();
312 if ( headerText.contains( text, Qt::CaseInsensitive ) )
316 const QModelIndexList hits =
mTableView->model()->match(
mTableView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
317 return !hits.isEmpty();
void reset() override
reset the style of the widgets to its original state
bool highlightText(const QString &text) override
Highlight the text in the widget.
QgsOptionsDialogHighlightCheckBox(QCheckBox *checkBox)
constructs a highlight widget for a checkbox
bool searchText(const QString &text) override
Search for the text in the widget and return true if it was found.
QPointer< QCheckBox > mCheckBox
QgsOptionsDialogHighlightGroupBox(QGroupBox *groupBox)
constructs a highlight widget for a group box.
void reset() override
reset the style of the widgets to its original state
bool searchText(const QString &text) override
Search for the text in the widget and return true if it was found.
bool highlightText(const QString &text) override
Highlight the text in the widget.
QPointer< QGroupBox > mGroupBox
QPointer< QLabel > mLabel
bool searchText(const QString &text) override
Search for the text in the widget and return true if it was found.
bool highlightText(const QString &text) override
Highlight the text in the widget.
QgsOptionsDialogHighlightLabel(QLabel *label)
constructs a highlight widget for a label
void reset() override
reset the style of the widgets to its original state
QPointer< QTableView > mTableView
bool searchText(const QString &text) override
Search for the text in the widget and return true if it was found.
void reset() override
reset the style of the widgets to its original state
bool highlightText(const QString &text) override
Highlight the text in the widget.
QgsOptionsDialogHighlightTable(QTableView *tableView)
constructs a highlight widget for a table view or widget.
void reset() override
reset the style of the widgets to its original state
QgsOptionsDialogHighlightTree(QTreeView *treeView)
constructs a highlight widget for a tree view or widget.
bool highlightText(const QString &text) override
Highlight the text in the widget.
QMap< QTreeWidgetItem *, bool > mTreeInitialVisible
bool searchText(const QString &text) override
Search for the text in the widget and return true if it was found.
QMap< QTreeWidgetItem *, bool > mTreeInitialExpand
QPointer< QTreeView > mTreeView