diff --git a/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp b/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp index 0371d0f1bba..5cd5721812d 100644 --- a/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp +++ b/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp @@ -82,6 +82,12 @@ void IconCheckboxItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &styleOption, const QModelIndex &modelIndex) const { + bool isVisibilityIcon = modelIndex.column() != NavigatorTreeModel::ColumnType::Visibility; + // We need to invert the check status if visibility icon + bool checked = isVisibilityIcon ? isChecked(modelIndex) : !isChecked(modelIndex); + if (!(styleOption.state & QStyle::State_MouseOver) && !checked) + return; + if (rowIsPropertyRole(modelIndex.model(), modelIndex)) return; //Do not paint icons for property rows diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp index ddf8862c895..8be526278c6 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp @@ -168,6 +168,7 @@ NavigatorTreeView::NavigatorTreeView(QWidget *parent) setMinimumWidth(240); setRootIsDecorated(false); setIndentation(indentation() * 0.5); + viewport()->setAttribute(Qt::WA_Hover); m_toolTipHideTimer.setSingleShot(true); connect(&m_toolTipHideTimer, &QTimer::timeout, [this]() {