• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 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 );
}
Akonadi::EntityTreeViewStateSaver
A helper class that saves and restores state of an EntityTreeView.
Definition entitytreeviewstatesaver.h:90
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

◆ EntityTreeViewStateSaver()

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 158 of file entitytreeviewstatesaver.cpp.

◆ ~EntityTreeViewStateSaver()

Akonadi::EntityTreeViewStateSaver::~EntityTreeViewStateSaver ( )

Destroys this state saver.

Definition at line 165 of file entitytreeviewstatesaver.cpp.

Member Function Documentation

◆ restoreState()

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 193 of file entitytreeviewstatesaver.cpp.

◆ saveState()

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 170 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-2024 The KDE developers.
Generated on Wed Jan 24 2024 00:00:00 by doxygen 1.10.0 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
  • Related Pages

kdepimlibs-4.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
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