QmlDesigner: Fix navigator column width

Fix the navigators column width for Qt 6.5.4 and at the same time make
the icon columns tighter.

Task-number: QDS-11314
Change-Id: I87397eca104e4bfb835090229672e2d3d42dee6e
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
(cherry picked from commit 659772baa4)
This commit is contained in:
Henning Gruendl
2023-11-20 16:26:34 +01:00
committed by Tim Jenssen
parent 441bb00714
commit 6f39773fbd
2 changed files with 23 additions and 7 deletions

View File

@@ -84,12 +84,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,
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))

View File

@@ -127,10 +127,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);
@@ -759,7 +771,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);