From 81c8cd22e61701c1145dc267b0925add6cc0e78a Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Tue, 8 Oct 2024 21:23:56 +0200 Subject: Fix list view column reordering This causes a little bit of flicker, but avoids race condition somewhere. --- UMain.pas | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'UMain.pas') diff --git a/UMain.pas b/UMain.pas index 9f624ad..bce9d75 100644 --- a/UMain.pas +++ b/UMain.pas @@ -1087,6 +1087,10 @@ begin ListView.SelectionMode := smBrowse; GetFirstLastPanelColumn(FirstColumn, LastColumn); + // Temporarily disable the fixed height mode to be able to add columns the Pascal way + if Application.GTKVersion_2_12_0_Up then + g_object_set(ListView.FWidget, 'fixed_height_mode', 0, nil); + for i := 1 to ConstNumPanelColumns do if ConfColumnVisible[i] then begin @@ -5199,9 +5203,8 @@ begin end; Application.ProcessMessages; -{ RebuildListViewsTimer.Interval := 100; - RebuildListViewsTimer.Enabled := True; } - RebuildListViewsTimerTimer(Self); + RebuildListViewsTimer.Interval := 1; + RebuildListViewsTimer.Enabled := True; gtk_tree_view_set_headers_visible(PGtkTreeView(SourceListView.FWidget), False); gtk_tree_view_set_headers_visible(PGtkTreeView(SourceListView.FWidget), True); end; @@ -5222,6 +5225,7 @@ begin ConstructColumns(RightListView); InactiveItemsTimer.Enabled := False; if DoRefresh then begin + Application.ProcessMessages; FMain.DoRefresh(True, True, True); FMain.DoRefresh(False, True, True); LeftListView.SetSortInfo(ConfMainWindowLeftSortColumn, TGTKTreeViewSortOrder(ConfMainWindowLeftSortType)); -- cgit v1.2.3