Mercurial > octave
changeset 19982:9a8be23d2c05
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;
author | Torsten <ttl@justmail.de> |
---|---|
date | Tue, 24 Mar 2015 21:07:51 +0100 |
parents | 9d277f245d11 |
children | 643de08e524c |
files | libgui/src/workspace-view.cc |
diffstat | 1 files changed, 15 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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<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); + // 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; }