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

akonadi

  • Akonadi
  • ItemMonitor
Classes | Public Member Functions | Protected Member Functions | List of all members
Akonadi::ItemMonitor Class Reference

#include <itemmonitor.h>

Inheritance diagram for Akonadi::ItemMonitor:
Inheritance graph
[legend]

Classes

class  Private
 

Public Member Functions

 ItemMonitor ()
 
virtual ~ItemMonitor ()
 
Item item () const
 
void setItem (const Item &item)
 

Protected Member Functions

ItemFetchScope & fetchScope ()
 
virtual void itemChanged (const Item &item)
 
virtual void itemRemoved ()
 
void setFetchScope (const ItemFetchScope &fetchScope)
 

Detailed Description

A convenience class to monitor a single item for changes.

This class can be used as a base class for classes that want to show a single item to the user and keep track of status changes of the item without having to using a Monitor object themself.

Example:

// A label that shows the name of a contact item
class ContactLabel : public QLabel, public Akonadi::ItemMonitor
{
public:
ContactLabel( QWidget *parent = 0 )
: QLabel( parent )
{
setText( "No Name" );
}
protected:
virtual void itemChanged( const Akonadi::Item &item )
{
if ( item.mimeType() != "text/directory" )
return;
const KABC::Addressee addr = item.payload<KABC::Addressee>();
setText( addr.fullName() );
}
virtual void itemRemoved()
{
setText( "No Name" );
}
};
...
ContactLabel *label = new ContactLabel( this );
const Akonadi::Item item = fetchJob->items().first();
label->setItem( item );
Author
Tobias Koenig tokoe.nosp@m.@kde.nosp@m..org

Definition at line 82 of file itemmonitor.h.

Constructor & Destructor Documentation

ItemMonitor::ItemMonitor ( )

Creates a new item monitor.

Definition at line 29 of file itemmonitor.cpp.

ItemMonitor::~ItemMonitor ( )
virtual

Destroys the item monitor.

Definition at line 34 of file itemmonitor.cpp.

Member Function Documentation

ItemFetchScope & ItemMonitor::fetchScope ( )
protected

Returns the item fetch scope.

Since this returns a reference it can be used to conveniently modify the current scope in-place, i.e. by calling a method on the returned reference without storing it in a local variable. See the ItemFetchScope documentation for an example.

Returns
a reference to the current item fetch scope
See also
setFetchScope() for replacing the current item fetch scope

Definition at line 80 of file itemmonitor.cpp.

Item ItemMonitor::item ( ) const

Returns the currently monitored item.

Definition at line 62 of file itemmonitor.cpp.

void ItemMonitor::itemChanged ( const Item &  item)
protectedvirtual

This method is called whenever the monitored item has changed.

Parameters
itemThe changed item.

Definition at line 67 of file itemmonitor.cpp.

void ItemMonitor::itemRemoved ( )
protectedvirtual

This method is called whenever the monitored item has been removed.

Definition at line 71 of file itemmonitor.cpp.

void ItemMonitor::setFetchScope ( const ItemFetchScope &  fetchScope)
protected

Sets the item fetch scope.

Controls how much of an item's data is fetched from the server, e.g. whether to fetch the full item payload or only meta data.

Parameters
fetchScopeThe new scope for item fetch operations.
See also
fetchScope()

Definition at line 75 of file itemmonitor.cpp.

void ItemMonitor::setItem ( const Item &  item)

Sets the item that shall be monitored.

Definition at line 39 of file itemmonitor.cpp.


The documentation for this class was generated from the following files:
  • itemmonitor.h
  • itemmonitor.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:29 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