diff --git a/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp b/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp index c24aa1933bf..5b36bee7f97 100644 --- a/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp +++ b/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp @@ -83,12 +83,16 @@ void IconCheckboxItemDelegate::paint(QPainter *painter, QTC_ASSERT(window, return); const QSize iconSize(16, 16); - const QPoint iconPosition(styleOption.rect.left() + (styleOption.rect.width() - iconSize.width()) / 2, - styleOption.rect.top() + 2 + delegateMargin); + QPoint iconPosition(styleOption.rect.left() + (styleOption.rect.width() - iconSize.width()) / 2, + styleOption.rect.top() + 2 + delegateMargin); const QIcon::State state = isChecked(modelIndex) ? QIcon::State::On : QIcon::State::Off; const QPixmap iconPixmap = m_icon.pixmap(window, iconSize, mode, state); + // Shift the lock icon (last column) slightly to the left due to vertical scrollbar width + if (modelIndex.column() == NavigatorTreeModel::ColumnType::Lock) + iconPosition.rx() -= 4; + painter->save(); if (isThisOrAncestorLocked(modelIndex)) diff --git a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp index a4a7ead0426..a0c5ebacd26 100644 --- a/src/plugins/qmldesigner/components/navigator/navigatorview.cpp +++ b/src/plugins/qmldesigner/components/navigator/navigatorview.cpp @@ -128,10 +128,22 @@ void NavigatorView::modelAttached(Model *model) QTreeView *treeView = treeWidget(); - treeView->header()->setSectionResizeMode(NavigatorTreeModel::ColumnType::Name, QHeaderView::Stretch); - treeView->header()->resizeSection(NavigatorTreeModel::ColumnType::Alias, 26); - treeView->header()->resizeSection(NavigatorTreeModel::ColumnType::Visibility, 26); - treeView->header()->resizeSection(NavigatorTreeModel::ColumnType::Lock, 26); + treeView->header()->setSectionResizeMode(NavigatorTreeModel::ColumnType::Name, + QHeaderView::Stretch); + treeView->header()->setSectionResizeMode(NavigatorTreeModel::ColumnType::Alias, + QHeaderView::Fixed); + treeView->header()->setSectionResizeMode(NavigatorTreeModel::ColumnType::Visibility, + QHeaderView::Fixed); + treeView->header()->setSectionResizeMode(NavigatorTreeModel::ColumnType::Lock, QHeaderView::Fixed); + + treeView->header()->setStretchLastSection(false); + treeView->header()->setMinimumSectionSize(24); + treeView->header()->setDefaultSectionSize(24); + + treeView->header()->resizeSection(NavigatorTreeModel::ColumnType::Alias, 24); + treeView->header()->resizeSection(NavigatorTreeModel::ColumnType::Visibility, 24); + // Make last column a bit wider to compensate the shift to the left due to vertical scrollbar + treeView->header()->resizeSection(NavigatorTreeModel::ColumnType::Lock, 32); treeView->setIndentation(20); m_currentModelInterface->setFilter(false); @@ -760,7 +772,7 @@ void NavigatorView::setupWidget() connect(m_widget.data(), &NavigatorWidget::textFilterChanged, this, &NavigatorView::textFilterChanged); const QString fontName = "qtds_propertyIconFont.ttf"; - const QSize size = QSize(28, 28); + const QSize size = QSize(32, 32); const QString visibilityOnUnicode = Theme::getIconUnicode(Theme::Icon::visibilityOn); const QString visibilityOffUnicode = Theme::getIconUnicode(Theme::Icon::visibilityOff);