From 101487730262180a20f0b05c32a81a66535aef8a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 31 Jan 2020 16:18:41 +0100 Subject: [PATCH] Slightly reorganize last column width calculation No real changes, just make it more obvious that we increase the last column width to the remaining margin if it's smaller than it. --- src/generic/listctrl.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index b8acd1b983..8056238d6d 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -3305,17 +3305,19 @@ void wxListMainWindow::SetColumnWidth( int col, int width ) calculator.UpdateWithWidth(pWidthInfo->nMaxWidth); } + width = calculator.GetMaxWidth() + AUTOSIZE_COL_MARGIN; + // expand the last column to fit the client size // only for AUTOSIZE_USEHEADER to mimic MSW behaviour - int margin = 0; if ( (width == wxLIST_AUTOSIZE_USEHEADER) && (col == GetColumnCount() - 1) ) { - margin = GetClientSize().GetX(); + int margin = GetClientSize().GetX(); for ( int i = 0; i < col && margin > 0; ++i ) margin -= m_columns.Item(i)->GetData()->GetWidth(); - } - width = wxMax(margin, calculator.GetMaxWidth() + AUTOSIZE_COL_MARGIN); + if ( margin > width ) + width = margin; + } } column->SetWidth( width );