comparison libgui/src/workspace-view.cc @ 20423:2b28f509b645 stable

Fix missing sorting of the workspace view directly after start-up * workspace-view.cc(workspace_view): add sorting indicator, do not set the column by which the view is sorted here; (setModel) but here, after having set the model
author Torsten <ttl@justmail.de>
date Fri, 24 Jul 2015 14:23:28 +0200
parents 587357240e5e
children 734d446560a8
comparison
equal deleted inserted replaced
20422:587357240e5e 20423:2b28f509b645
90 90
91 // Initialize collapse/expand state of the workspace subcategories. 91 // Initialize collapse/expand state of the workspace subcategories.
92 92
93 QSettings *settings = resource_manager::get_settings (); 93 QSettings *settings = resource_manager::get_settings ();
94 94
95 //enable sorting as previously configured 95 //enable sorting (setting column and order after model was set)
96 view->setSortingEnabled (true); 96 view->setSortingEnabled (true);
97 view->sortByColumn ( 97 // Initialize column order and width of the workspace
98 view->horizontalHeader ()->restoreState (
99 settings->value ("workspaceview/column_state").toByteArray ());
100 // Set header properties for sorting
101 view->horizontalHeader ()->setClickable (true);
102 view->horizontalHeader ()->setMovable (true);
103 view->horizontalHeader ()->setSortIndicator (
98 settings->value ("workspaceview/sort_by_column",0).toInt (), 104 settings->value ("workspaceview/sort_by_column",0).toInt (),
99 static_cast<Qt::SortOrder> 105 static_cast<Qt::SortOrder>
100 (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ()) 106 (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ())
101 ); 107 );
102 // Initialize column order and width of the workspace 108 view->horizontalHeader ()->setSortIndicatorShown (true);
103 view->horizontalHeader ()->restoreState (
104 settings->value ("workspaceview/column_state").toByteArray ());
105 // Make the header clickable to enable sorting
106 view->horizontalHeader ()->setClickable (true);
107 109
108 // Init state of the filter 110 // Init state of the filter
109 _filter->addItems (settings->value ("workspaceview/mru_list").toStringList ()); 111 _filter->addItems (settings->value ("workspaceview/mru_list").toStringList ());
110 112
111 bool filter_state = 113 bool filter_state =
157 { 159 {
158 _filter_model.setSourceModel (model); 160 _filter_model.setSourceModel (model);
159 _filter_model.setFilterKeyColumn(0); 161 _filter_model.setFilterKeyColumn(0);
160 162
161 view->setModel (&_filter_model); 163 view->setModel (&_filter_model);
164
165 // set the sorting after a model was set, it would be ignored otherwise
166 QSettings *settings = resource_manager::get_settings ();
167 view->sortByColumn (
168 settings->value ("workspaceview/sort_by_column",0).toInt (),
169 static_cast<Qt::SortOrder>
170 (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ())
171 );
162 172
163 _model = model; 173 _model = model;
164 } 174 }
165 175
166 void 176 void