Akonadi::ItemMonitor

Search for usage in LXR

#include <itemmonitor.h>

Inheritance diagram for Akonadi::ItemMonitor:

Public Member Functions

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

Protected Member Functions

ItemFetchScopefetchScope ()
 
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 = nullptr )
: QLabel( parent )
{
setText( "No Name" );
}
protected:
virtual void itemChanged( const Akonadi::Item &item )
{
if ( item.mimeType() != "text/directory" )
return;
setText( addr.fullName() );
}
virtual void itemRemoved()
{
setText( "No Name" );
}
};
...
ContactLabel *label = new ContactLabel( this );
const Akonadi::Item item = fetchJob->items().at(0);
label->setItem( item );
Author
Tobias Koenig tokoe[email protected]@kde[email protected].org

Definition at line 69 of file itemmonitor.h.

Constructor & Destructor Documentation

◆ ItemMonitor()

ItemMonitor::ItemMonitor ( )

Creates a new item monitor.

Definition at line 14 of file itemmonitor.cpp.

◆ ~ItemMonitor()

ItemMonitor::~ItemMonitor ( )
virtualdefault

Destroys the item monitor.

Member Function Documentation

◆ fetchScope()

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 66 of file itemmonitor.cpp.

◆ item()

Item ItemMonitor::item ( ) const

Returns the currently monitored item.

Definition at line 47 of file itemmonitor.cpp.

◆ itemChanged()

void ItemMonitor::itemChanged ( const Item item)
protectedvirtual

This method is called whenever the monitored item has changed.

Parameters
itemThe changed item.

Definition at line 52 of file itemmonitor.cpp.

◆ itemRemoved()

void ItemMonitor::itemRemoved ( )
protectedvirtual

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

Definition at line 57 of file itemmonitor.cpp.

◆ setFetchScope()

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 61 of file itemmonitor.cpp.

◆ setItem()

void ItemMonitor::setItem ( const Item item)

Sets the item that shall be monitored.

Definition at line 21 of file itemmonitor.cpp.


The documentation for this class was generated from the following files:
virtual void itemRemoved()
This method is called whenever the monitored item has been removed.
Definition: itemmonitor.cpp:57
QString mimeType() const
Returns the mime type of the item.
Definition: item.cpp:331
Item::List items() const
Returns the fetched items.
const T & at(int i) const const
QString label(StandardShortcut id)
A convenience class to monitor a single item for changes.
Definition: itemmonitor.h:69
virtual void itemChanged(const Item &item)
This method is called whenever the monitored item has changed.
Definition: itemmonitor.cpp:52
Item item() const
Returns the currently monitored item.
Definition: itemmonitor.cpp:47
Represents a PIM item stored in Akonadi storage.
Definition: item.h:104
T payload() const
Returns the payload object of this PIM item.
Definition: item.h:764
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Thu Oct 6 2022 04:03:47 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.