Mercurial > octave-nkf
changeset 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 | a8cc8318da8c |
files | libgui/src/workspace-view.cc |
diffstat | 1 files changed, 17 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/workspace-view.cc Tue Jun 30 21:15:19 2015 +0200 +++ b/libgui/src/workspace-view.cc Fri Jul 24 14:23:28 2015 +0200 @@ -92,18 +92,20 @@ QSettings *settings = resource_manager::get_settings (); - //enable sorting as previously configured + //enable sorting (setting column and order after model was set) view->setSortingEnabled (true); - view->sortByColumn ( + // Initialize column order and width of the workspace + view->horizontalHeader ()->restoreState ( + settings->value ("workspaceview/column_state").toByteArray ()); + // Set header properties for sorting + view->horizontalHeader ()->setClickable (true); + view->horizontalHeader ()->setMovable (true); + view->horizontalHeader ()->setSortIndicator ( settings->value ("workspaceview/sort_by_column",0).toInt (), static_cast<Qt::SortOrder> (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ()) ); - // Initialize column order and width of the workspace - view->horizontalHeader ()->restoreState ( - settings->value ("workspaceview/column_state").toByteArray ()); - // Make the header clickable to enable sorting - view->horizontalHeader ()->setClickable (true); + view->horizontalHeader ()->setSortIndicatorShown (true); // Init state of the filter _filter->addItems (settings->value ("workspaceview/mru_list").toStringList ()); @@ -160,6 +162,14 @@ view->setModel (&_filter_model); + // set the sorting after a model was set, it would be ignored otherwise + QSettings *settings = resource_manager::get_settings (); + view->sortByColumn ( + settings->value ("workspaceview/sort_by_column",0).toInt (), + static_cast<Qt::SortOrder> + (settings->value ("workspaceview/sort_order", Qt::AscendingOrder).toUInt ()) + ); + _model = model; }