22#include <QAbstractItemModel>
25#include <QDialogButtonBox>
31#include <QTextDocumentFragment>
35using namespace Qt::StringLiterals;
57 const QString labelText = QTextDocumentFragment::fromHtml(
mLabel->text() ).toPlainText();
58 return labelText.contains( text, Qt::CaseInsensitive );
74 QString ss =
mWidget->styleSheet();
93 return mCheckBox->text().contains( text, Qt::CaseInsensitive );
109 QString ss =
mWidget->styleSheet();
128 return mButton->text().contains( text, Qt::CaseInsensitive );
144 QString ss =
mWidget->styleSheet();
163 return mGroupBox->title().contains( text, Qt::CaseInsensitive );
180 QString ss =
mWidget->styleSheet();
199 for (
int col = 0; col <
mTreeView->model()->columnCount(); ++col )
201 const QString headerText =
mTreeView->model()->headerData( col, Qt::Horizontal ).toString();
202 if ( headerText.contains( text, Qt::CaseInsensitive ) )
206 const QModelIndexList hits =
mTreeView->model()->match(
mTreeView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
207 return !hits.isEmpty();
212 bool success =
false;
213 QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>(
mTreeView );
218 std::function<void( QTreeWidgetItem *,
bool )> setChildrenVisible;
219 setChildrenVisible = [
this, &setChildrenVisible]( QTreeWidgetItem *item,
bool visible ) {
220 for (
int i = 0; i < item->childCount(); ++i )
221 setChildrenVisible( item->child( i ), visible );
223 item->setHidden( !visible );
225 setChildrenVisible( treeWidget->invisibleRootItem(),
false );
227 const QList<QTreeWidgetItem *> items = treeWidget->findItems( text, Qt::MatchContains | Qt::MatchRecursive, 0 );
228 success = !items.empty();
230 for ( QTreeWidgetItem *item : items )
232 setChildrenVisible( item,
true );
234 QTreeWidgetItem *parent = item;
240 parent->setExpanded(
true );
241 parent->setHidden(
false );
242 parent = parent->parent();
255 QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>(
mTreeView );
259 std::function<void( QTreeWidgetItem * )> showChildren;
260 showChildren = [
this, &showChildren]( QTreeWidgetItem *item ) {
261 for (
int i = 0; i < item->childCount(); ++i )
262 showChildren( item->child( i ) );
265 showChildren( treeWidget->invisibleRootItem() );
268 QTreeWidgetItem *item = it.key();
271 item->setExpanded( it.value() );
293 for (
int col = 0; col <
mTableView->model()->columnCount(); ++col )
295 const QString headerText =
mTableView->model()->headerData( col, Qt::Horizontal ).toString();
296 if ( headerText.contains( text, Qt::CaseInsensitive ) )
300 const QModelIndexList hits =
mTableView->model()->match(
mTableView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
301 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