Mercurial > octave-nkf
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 |