# HG changeset patch # User Jacob Dawid # Date 1342817110 14400 # Node ID 2d6766e93f7b93dc556dbfdac65a2700490757f6 # Parent c2afeeb35f4d38c6bc5f36ca432e681087fe9109 The GUI now remembers when categories in the workspace view have been closed. Bug #36885 * workspace-view: Added code to save and load the state of collapsing categories. diff -r c2afeeb35f4d -r 2d6766e93f7b gui/src/workspace-view.cc --- a/gui/src/workspace-view.cc Fri Jul 20 16:36:30 2012 -0400 +++ b/gui/src/workspace-view.cc Fri Jul 20 16:45:10 2012 -0400 @@ -16,6 +16,7 @@ */ #include "workspace-view.h" +#include "resource-manager.h" #include #include #include @@ -49,10 +50,10 @@ widget ()->setLayout (layout); // Initialize collapse/expand state of the workspace subcategories. - _explicit_collapse.local = false; - _explicit_collapse.global = false; - _explicit_collapse.persistent = false; - _explicit_collapse.hidden = false; + _explicit_collapse.local = resource_manager::instance ()->get_settings ()->value ("workspaceview/local_collapsed", false).toBool (); + _explicit_collapse.global = resource_manager::instance ()->get_settings ()->value ("workspaceview/global_collapsed", false).toBool ();; + _explicit_collapse.persistent = resource_manager::instance ()->get_settings ()->value ("workspaceview/persistent_collapsed", false).toBool ();; + _explicit_collapse.hidden = resource_manager::instance ()->get_settings ()->value ("workspaceview/hidden_collapsed", false).toBool ();; // Connect signals and slots. connect (this, SIGNAL (visibilityChanged (bool)), @@ -71,6 +72,14 @@ } +workspace_view::~workspace_view () +{ + resource_manager::instance ()->get_settings ()->setValue("workspaceview/local_collapsed", _explicit_collapse.local); + resource_manager::instance ()->get_settings ()->setValue("workspaceview/global_collapsed", _explicit_collapse.global); + resource_manager::instance ()->get_settings ()->setValue("workspaceview/persistent_collapsed", _explicit_collapse.persistent); + resource_manager::instance ()->get_settings ()->setValue("workspaceview/hidden_collapsed", _explicit_collapse.hidden); +} + void workspace_view::handle_visibility_changed (bool visible) { diff -r c2afeeb35f4d -r 2d6766e93f7b gui/src/workspace-view.h --- a/gui/src/workspace-view.h Fri Jul 20 16:36:30 2012 -0400 +++ b/gui/src/workspace-view.h Fri Jul 20 16:45:10 2012 -0400 @@ -29,6 +29,7 @@ Q_OBJECT public: workspace_view (QWidget * parent = 0); + ~workspace_view (); public slots: void handle_visibility_changed (bool visible);