18#include <QDialogButtonBox>
24#include <QAbstractItemModel>
26#include <QTextDocumentFragment>
54 const QString labelText = QTextDocumentFragment::fromHtml(
mLabel->text() ).toPlainText();
55 return labelText.contains( text, Qt::CaseInsensitive );
71 QString ss =
mWidget->styleSheet();
80 , mCheckBox( checkBox )
90 return mCheckBox->text().contains( text, Qt::CaseInsensitive );
106 QString ss =
mWidget->styleSheet();
125 return mButton->text().contains( text, Qt::CaseInsensitive );
141 QString ss =
mWidget->styleSheet();
150 , mGroupBox( groupBox )
160 return mGroupBox->title().contains( text, Qt::CaseInsensitive );
177 QString ss =
mWidget->styleSheet();
186 , mTreeView( treeView )
196 for (
int col = 0; col <
mTreeView->model()->columnCount(); ++col )
198 const QString headerText =
mTreeView->model()->headerData( col, Qt::Horizontal ).toString();
199 if ( headerText.contains( text, Qt::CaseInsensitive ) )
203 const QModelIndexList hits =
mTreeView->model()->match(
mTreeView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
204 return !hits.isEmpty();
209 bool success =
false;
210 QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>(
mTreeView );
215 std::function<void( QTreeWidgetItem *,
bool )> setChildrenVisible;
216 setChildrenVisible = [
this, &setChildrenVisible]( QTreeWidgetItem *item,
bool visible ) {
217 for (
int i = 0; i < item->childCount(); ++i )
218 setChildrenVisible( item->child( i ), visible );
220 item->setHidden( !visible );
222 setChildrenVisible( treeWidget->invisibleRootItem(),
false );
224 const QList<QTreeWidgetItem *> items = treeWidget->findItems( text, Qt::MatchContains | Qt::MatchRecursive, 0 );
225 success = !items.empty();
227 for ( QTreeWidgetItem *item : items )
229 setChildrenVisible( item,
true );
231 QTreeWidgetItem *parent = item;
237 parent->setExpanded(
true );
238 parent->setHidden(
false );
239 parent = parent->parent();
252 QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>(
mTreeView );
256 std::function<void( QTreeWidgetItem * )> showChildren;
257 showChildren = [
this, &showChildren]( QTreeWidgetItem *item ) {
258 for (
int i = 0; i < item->childCount(); ++i )
259 showChildren( item->child( i ) );
262 showChildren( treeWidget->invisibleRootItem() );
265 QTreeWidgetItem *item = it.key();
268 item->setExpanded( it.value() );
280 , mTableView( tableView )
290 for (
int col = 0; col <
mTableView->model()->columnCount(); ++col )
292 const QString headerText =
mTableView->model()->headerData( col, Qt::Horizontal ).toString();
293 if ( headerText.contains( text, Qt::CaseInsensitive ) )
297 const QModelIndexList hits =
mTableView->model()->match(
mTableView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
298 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