• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepimlibs API Reference
  • KDE Home
  • Contact Us
 

akonadi

  • Akonadi
  • EntityTreeViewStateSaver
Public Member Functions | List of all members
Akonadi::EntityTreeViewStateSaver Class Reference

#include <entitytreeviewstatesaver.h>

Inherits QObject.

Public Member Functions

 EntityTreeViewStateSaver (QTreeView *view)
 
 ~EntityTreeViewStateSaver ()
 
void restoreState (const KConfigGroup &configGroup) const
 
void saveState (KConfigGroup &configGroup) const
 

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 vkrau.nosp@m.se@k.nosp@m.de.or.nosp@m.g
Since
4.4
Deprecated:
This class is deprecated. Use ETMViewStateSaver instead.

Definition at line 89 of file entitytreeviewstatesaver.h.

Constructor & Destructor Documentation

Akonadi::EntityTreeViewStateSaver::EntityTreeViewStateSaver ( QTreeView *  view)
explicit

Creates a new state saver, for saving or restoring.

Parameters
viewThe QTreeView which state should be saved/restored.

Definition at line 146 of file entitytreeviewstatesaver.cpp.

Akonadi::EntityTreeViewStateSaver::~EntityTreeViewStateSaver ( )

Destroys this state saver.

Definition at line 153 of file entitytreeviewstatesaver.cpp.

Member Function Documentation

void Akonadi::EntityTreeViewStateSaver::restoreState ( const KConfigGroup &  configGroup) const

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
configGroupConfig file group containing a previously stored EntityTreeView state.

Definition at line 180 of file entitytreeviewstatesaver.cpp.

void Akonadi::EntityTreeViewStateSaver::saveState ( KConfigGroup &  configGroup) const

Stores the current state in the given config group.

Parameters
configGroupConfig file group into which the state is supposed to be stored.

Definition at line 158 of file entitytreeviewstatesaver.cpp.


The documentation for this class was generated from the following files:
  • entitytreeviewstatesaver.h
  • entitytreeviewstatesaver.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:28 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

akonadi

Skip menu "akonadi"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Modules
  • Related Pages

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal