• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

akonadi

Akonadi::EntityTreeViewStateSaver

Akonadi::EntityTreeViewStateSaver Class Reference

A helper class that saves and restores state of an EntityTreeView. More...

#include <entitytreeviewstatesaver.h>

Inherits QObject.

List of all members.

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 <vkrause@kde.org>
Since:
4.4

Definition at line 87 of file entitytreeviewstatesaver.h.


Constructor & Destructor Documentation

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

Creates a new state saver, for saving or restoring.

Parameters:
view The QTreeView which state should be saved/restored.

Definition at line 145 of file entitytreeviewstatesaver.cpp.

Akonadi::EntityTreeViewStateSaver::~EntityTreeViewStateSaver (  ) 

Destroys this state saver.

Definition at line 152 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:
configGroup Config file group containing a previously stored EntityTreeView state.

Definition at line 178 of file entitytreeviewstatesaver.cpp.

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

Stores the current state in the given config group.

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

Definition at line 157 of file entitytreeviewstatesaver.cpp.


The documentation for this class was generated from the following files:
  • entitytreeviewstatesaver.h
  • entitytreeviewstatesaver.cpp

akonadi

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

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal