KDE 4.9 PyKDE API Reference

- KDE's Python API

# EntityTreeViewStateSaver Class Reference

`from PyKDE4.akonadi import *`

Inherits: QObject
Namespace: Akonadi

## Detailed Description

A helper class that saves and restores state of an EntityTreeView

This class saves and restores the state of a QTreeView showing an EntityTreeModel, or whatever proxies are stacked on top of one. State so far means the current selection and expansion of the items and collections.

The EntityTreeViewStateSaver is needed because populating the EntityTreeModel is asynchronous and finding the right point in time to restore the state is a difficult task that is hidden inside this class.

Example:

     class MyWidget : public QWidget
     {
       public:
          MyWidget( QWidget* parent );
          ~MyWidget();

          ...

       private:
         KConfig *mGlobalConfig;
         QTreeView *mTreeView;
         Akonadi.EntityTreeViewStateSaver *mStateSaver;
     };

     MyWidget.MyWidget( QWidget *parent )
       : QWidget( parent )
     {
       mGlobalConfig = ...
       mTreeView = new QTreeView( this );
       ...

       mStateSaver = new Akonadi.EntityTreeViewStateSaver( mTreeView );

       KConfigGroup group( mGlobalConfig, "treeViewState" );
       mStateSaver->restoreState( group );
     }

     MyWidget.~MyWidget()
     {
       KConfigGroup group( mGlobalConfig, "treeViewState" );
       mStateSaver->saveState( group );
     }

Author:
  Volker Krause <vkrause@kde.org>

Since:
  4.4

Deprecated:
  This class is deprecated. Use ETMViewStateSaver instead.

## Methods
| __init__ (self, QTreeView view)
| restoreState (self, KConfigGroup configGroup)
| saveState (self, KConfigGroup configGroup)

## Method Documentation

__init__ | ( | self, |
|  | QTreeView | view
| ) |  |  |

Creates a new state saver, for saving or restoring.

Parameters:

  | view | The QTreeView which state should be saved/restored.

restoreState | ( | self, |
|  | KConfigGroup | configGroup
| ) |  |  |

Restore the state stored in configGroup as soon as the corresponding entities become available in the model (the model is populated asynchronously, which is the main reason why you want to use this class).

Parameters:

  | configGroup | Config file group containing a previously stored EntityTreeView state.

saveState | ( | self, |
|  | KConfigGroup | configGroup
| ) |  |  |

Stores the current state in the given config group.

Parameters:

  | configGroup | Config file group into which the state is supposed to be stored.