Akonadi::AgentConfigurationBase
#include <agentconfigurationbase.h>
Signals | |
void | enableOkButton (bool enabled) |
Protected Member Functions | |
KSharedConfigPtr | config () const |
QString | identifier () const |
QWidget * | parentWidget () 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 |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
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:
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 pim<version>/akonadi/config subdirectory in one of the paths search by QCoreApplication::libraryPaths().
Definition at line 73 of file agentconfigurationbase.h.
Constructor & Destructor Documentation
◆ AgentConfigurationBase()
|
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 39 of file agentconfigurationbase.cpp.
◆ ~AgentConfigurationBase()
|
override |
Definition at line 45 of file agentconfigurationbase.cpp.
Member Function Documentation
◆ aboutData()
KAboutData * AgentConfigurationBase::aboutData | ( | ) | const |
Returns about data for the currently configured component.
May return a null pointer.
Definition at line 81 of file agentconfigurationbase.cpp.
◆ config()
|
protected |
Returns KConfig object belonging to the current Akonadi agent instance.
Definition at line 49 of file agentconfigurationbase.cpp.
◆ identifier()
|
protected |
Returns identifier of the Akonadi agent instance currently being configured.
Definition at line 54 of file agentconfigurationbase.cpp.
◆ 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!
Definition at line 59 of file agentconfigurationbase.cpp.
◆ parentWidget()
|
protected |
Definition at line 71 of file agentconfigurationbase.cpp.
◆ restoreDialogSize()
|
virtual |
Reimplement to restore dialog size.
Definition at line 86 of file agentconfigurationbase.cpp.
◆ save()
|
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!
Definition at line 64 of file agentconfigurationbase.cpp.
◆ saveDialogSize()
Reimplement to save dialog size.
Definition at line 91 of file agentconfigurationbase.cpp.
◆ setKAboutData()
|
protected |
When KAboutData is provided the dialog will also contain KHelpMenu with access to user help etc.
Definition at line 76 of file agentconfigurationbase.cpp.
◆ standardButtons()
|
virtual |
Definition at line 95 of file agentconfigurationbase.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Apr 27 2024 22:07:20 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.