# HG changeset patch # User Torsten # Date 1427227671 -3600 # Node ID 9a8be23d2c0556011b09fc1ce217f06a715c2ebd # Parent 9d277f245d1100e1101c9775038da05700c694f8 extend sorting of workspave view widget * workspace-view.cc (workspace_view): get last sort configuration from settings file; (~workspace_view): save current sort settings into file; diff -r 9d277f245d11 -r 9a8be23d2c05 libgui/src/workspace-view.cc --- a/libgui/src/workspace-view.cc Wed Feb 25 03:40:14 2015 +0100 +++ b/libgui/src/workspace-view.cc Tue Mar 24 21:07:51 2015 +0100 @@ -72,11 +72,6 @@ view->setAlternatingRowColors (true); view_previous_row_count = 0; - //enable sorting by parameter name - view->setSortingEnabled (true); - view->sortByColumn (0,Qt::AscendingOrder); - - // Set an empty widget, so we can assign a layout to it. setWidget (new QWidget (this)); @@ -97,11 +92,17 @@ QSettings *settings = resource_manager::get_settings (); + //enable sorting as previously configured + view->setSortingEnabled (true); + view->sortByColumn ( + settings->value ("workspaceview/sort_by_column",0).toInt (), + static_cast + (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); + // Init state of the filter _filter->addItems (settings->value ("workspaceview/mru_list").toStringList ()); @@ -133,6 +134,12 @@ settings->setValue ("workspaceview/column_state", view->horizontalHeader ()->saveState ()); + + int sort_column = view->horizontalHeader ()->sortIndicatorSection (); + Qt::SortOrder sort_order = view->horizontalHeader ()->sortIndicatorOrder (); + settings->setValue ("workspaceview/sort_by_column", sort_column); + settings->setValue ("workspaceview/sort_order", sort_order); + settings->setValue ("workspaceview/filter_active", _filter_checkbox->isChecked ()); @@ -150,6 +157,7 @@ _filter_model.setFilterKeyColumn(0); view->setModel (&_filter_model); + _model = model; }