Akonadi::AgentConfigurationBase

Akonadi::AgentConfigurationBase Class Reference

#include <agentconfigurationbase.h>

Inheritance diagram for Akonadi::AgentConfigurationBase:

Signals

void enableOkButton (bool enabled)
 

Public Member Functions

 AgentConfigurationBase (const KSharedConfigPtr &config, QWidget *parentWidget, const QVariantList &args)
 
KAboutDataaboutData () const
 
virtual void load ()
 
virtual QSize restoreDialogSize () const
 
virtual bool save () const
 
virtual void saveDialogSize (const QSize &size)
 
virtual QDialogButtonBox::StandardButtons standardButtons () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Member Functions

KSharedConfigPtr config () const
 
QString identifier () const
 
QWidgetparentWidget () const
 
void setKAboutData (const KAboutData &aboutData)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

Base class for configuration UI for Akonadi agents.

Each agent that has a graphical configuration should subclass this class and create its configuration UI there.

The subclass must reimplement load() and save() virtual methods which are called automatically. The load() method is called on start to initialize widgets (thus subclasses don't need to call it themselves) or when user clicks a "Reset" button. The save() method is called whenever user decides to save changes.

Since each Akonadi agent instance has its own configuration file whose location and name is opaque to the implementation, config() method can be used to get access to the current configuration object.

The widget will not run in the same process as the Akonadi agent, thus all communication with the resource (if needed) should be done over DBus. The identifier of the instance currently being configured is accessible from the identifier() method.

There is no need to signal back to the resource when configuration is changed. When save() is called and the dialog is destroyed, Akonadi will automatically call AgentBase::reconfigure() in the respective Akonadi agent instance.

It is guaranteed that only a single instance of the configuration dialog for given agent will be opened at the same time.

Subclasses of ConfigurationBase must be registered as Akonadi plugins using AKONADI_AGENTCONFIG_FACTORY macro.

The metadata JSON file then must contain the following values:

{
"X-Akonadi-PluginType": "AgentConfig",
"X-Akonadi-Library": "exampleresourceconfig",
"X-Akonadi-AgentConfig-Type": "akonadi_example_resource"
}

The X-Akonadi-Library value must match the name of the plugin binary without the (optional) "lib" prefix and file extension. The X-Akonadi-AgentConfig-Type value must match the name of the X-Akonadi-Identifier value from the agent's desktop file.

The plugin binary should be installed into akonadi/config subdirectory in one of the paths search by QCoreApplication::libraryPaths().

Definition at line 70 of file agentconfigurationbase.h.

Constructor & Destructor Documentation

AgentConfigurationBase::AgentConfigurationBase ( const KSharedConfigPtr &  config,
QWidget parentWidget,
const QVariantList &  args 
)
explicit

Creates a new AgentConfigurationBase objects.

The parentWidget should be used as a parent widget for the configuration widgets.

Subclasses must provide a constructor with this exact signature.

Definition at line 40 of file agentconfigurationbase.cpp.

Member Function Documentation

KAboutData * AgentConfigurationBase::aboutData ( ) const

Returns about data for the currently configured component.

May return a null pointer.

Definition at line 84 of file agentconfigurationbase.cpp.

KSharedConfigPtr AgentConfigurationBase::config ( ) const
protected

Returns KConfig object belonging to the current Akonadi agent instance.

Definition at line 52 of file agentconfigurationbase.cpp.

QString AgentConfigurationBase::identifier ( ) const
protected

Returns identifier of the Akonadi agent instance currently being configured.

Definition at line 57 of file agentconfigurationbase.cpp.

void AgentConfigurationBase::load ( )
virtual

Reimplement to load settings from the configuration object into widgets.

Warning
Always call the base class implementation at the beginning of your overridden method!
See also
config(), save()

Definition at line 62 of file agentconfigurationbase.cpp.

QSize AgentConfigurationBase::restoreDialogSize ( ) const
virtual

Reimplement to restore dialog size.

Definition at line 89 of file agentconfigurationbase.cpp.

bool AgentConfigurationBase::save ( ) const
virtual

Reimplement to save new settings into the configuration object.

Return true if the configuration has been successfully saved and should be applied to the agent, return false otherwise.

Warning
Always remember call the base class implementation at the end of your overridden method!
See also
config(), load()

Definition at line 67 of file agentconfigurationbase.cpp.

void AgentConfigurationBase::saveDialogSize ( const QSize size)
virtual

Reimplement to save dialog size.

Definition at line 94 of file agentconfigurationbase.cpp.

void AgentConfigurationBase::setKAboutData ( const KAboutData aboutData)
protected

When KAboutData is provided the dialog will also contain KHelpMenu with access to user help etc.

Definition at line 79 of file agentconfigurationbase.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Tue Jul 14 2020 23:16:40 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.