18 #include <QDialogButtonBox> 
   23 #include <QTreeWidget> 
   24 #include <QAbstractItemModel> 
   46   , mStyleSheet( QStringLiteral( 
"QLabel { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6 );}/*!search!*/" ).arg( 
HIGHLIGHT_BACKGROUND_RED )
 
   59   return mLabel->text().contains( text, Qt::CaseInsensitive );
 
   75   QString ss = 
mWidget->styleSheet();
 
   84   , mCheckBox( checkBox )
 
   85   , mStyleSheet( QStringLiteral( 
"/*!search!*/QCheckBox { background-color: rgb(%1, %2, %3); color: rgb( %4, %5, %6);}/*!search!*/" ).arg( 
HIGHLIGHT_BACKGROUND_RED )
 
   99   return mCheckBox->text().contains( text, Qt::CaseInsensitive );
 
  116   QString ss = 
mWidget->styleSheet();
 
  126   , mStyleSheet( QStringLiteral( 
"/*!search!*/QAbstractButton { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6);}/*!search!*/" ).arg( 
HIGHLIGHT_BACKGROUND_RED )
 
  140   return mButton->text().contains( text, Qt::CaseInsensitive );
 
  157   QString ss = 
mWidget->styleSheet();
 
  166   , mGroupBox( groupBox )
 
  167   , mStyleSheet( QStringLiteral( 
"/*!search!*/QGroupBox::title { background-color: rgb(%1, %2, %3); color: rgb(%4, %5, %6);}/*!search!*/" ).arg( 
HIGHLIGHT_BACKGROUND_RED )
 
  181   return mGroupBox->title().contains( text, Qt::CaseInsensitive );
 
  198   QString ss = 
mWidget->styleSheet();
 
  207   , mTreeView( treeView )
 
  215   QModelIndexList hits = 
mTreeView->model()->match( 
mTreeView->model()->index( 0, 0 ), Qt::DisplayRole, text, 1, Qt::MatchContains | Qt::MatchRecursive );
 
  216   return !hits.isEmpty();
 
  221   bool success = 
false;
 
  222   QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>( 
mTreeView );
 
  227     std::function< void( QTreeWidgetItem *, 
bool ) > setChildrenVisible;
 
  228     setChildrenVisible = [
this, &setChildrenVisible]( QTreeWidgetItem * item, 
bool visible )
 
  230       for ( 
int i = 0; i < item->childCount(); ++i )
 
  231         setChildrenVisible( item->child( i ), visible );
 
  233       item->setHidden( !visible );
 
  235     setChildrenVisible( treeWidget->invisibleRootItem(), 
false );
 
  237     QList<QTreeWidgetItem *> items = treeWidget->findItems( text, Qt::MatchContains | Qt::MatchRecursive, 0 );
 
  238     success = !items.empty();
 
  240     for ( QTreeWidgetItem *item : items )
 
  242       setChildrenVisible( item, 
true );
 
  244       QTreeWidgetItem *parent = item;
 
  250         parent->setExpanded( 
true );
 
  251         parent->setHidden( 
false );
 
  252         parent = parent->parent();
 
  265   QTreeWidget *treeWidget = qobject_cast<QTreeWidget *>( 
mTreeView );
 
  269     std::function< void( QTreeWidgetItem * ) > showChildren;
 
  270     showChildren = [
this, &showChildren]( QTreeWidgetItem * item )
 
  272       for ( 
int i = 0; i < item->childCount(); ++i )
 
  273         showChildren( item->child( i ) );
 
  276     showChildren( treeWidget->invisibleRootItem() );
 
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
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