From aa39f874dcadea54c634aa226f7ce7b817812ecd Mon Sep 17 00:00:00 2001 From: Janus Date: Wed, 12 Sep 2018 11:22:07 +0200 Subject: [PATCH] BColumnListView: hscrollbar matches visible columns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * _VirtualWidth() ignores invisible columns This makes the horizontal scrollbar match the width of the visible columns. Also trigger an initial update of the scrollbars. * Fixes #14480 Change-Id: I7d4b27a8fdca58c150ac47f9b948b127fb275fdf Reviewed-on: https://review.haiku-os.org/543 Reviewed-by: Stephan Aßmus --- src/kits/interface/ColumnListView.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kits/interface/ColumnListView.cpp b/src/kits/interface/ColumnListView.cpp index 0c0dc8627b..c75dcd8694 100644 --- a/src/kits/interface/ColumnListView.cpp +++ b/src/kits/interface/ColumnListView.cpp @@ -2294,6 +2294,8 @@ TitleView::SetColumnVisible(BColumn* column, bool visible) Invalidate(titleInvalid); fOutlineView->Invalidate(outlineInvalid); + + FixScrollBar(false); } @@ -2642,7 +2644,8 @@ TitleView::_VirtualWidth() const int32 count = fColumns->CountItems(); for (int32 i = 0; i < count; i++) { BColumn* column = reinterpret_cast(fColumns->ItemAt(i)); - width += column->Width(); + if (column->IsVisible()) + width += column->Width(); } return width;