From 41d3c1bd056e62074334b6de14592bf3c9708be8 Mon Sep 17 00:00:00 2001 From: Adenilson Cavalcanti Date: Wed, 28 Jan 2009 08:39:38 -0400 Subject: [PATCH] Initial import of template generated by kapptemplate. My purpose is to write a google contacts/calendar resource. --- CMakeLists.txt | 63 ++++++++++++++++++++++++++ Messages.sh | 2 + README | 77 ++++++++++++++++++++++++++++++++ akonadi-resources.png | Bin 0 -> 69059 bytes googledataresource.cpp | 109 +++++++++++++++++++++++++++++++++++++++++++++ googledataresource.desktop | 10 +++++ googledataresource.h | 31 +++++++++++++ googledataresource.kcfg | 13 ++++++ settings.kcfgc | 8 ++++ 9 files changed, 313 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 Messages.sh create mode 100644 README create mode 100644 akonadi-resources.png create mode 100644 googledataresource.cpp create mode 100644 googledataresource.desktop create mode 100644 googledataresource.h create mode 100644 googledataresource.kcfg create mode 100644 settings.kcfgc diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..5f4fee9 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,63 @@ +project(googledata) + +# search packages used by KDE +find_package (KDE4 REQUIRED) +include(KDE4Defaults) +include(MacroLibrary) +include(MacroOptionalAddSubdirectory) +include(CheckIncludeFiles) +include(FindKdepimLibs) + +find_program(XSLTPROC_EXECUTABLE xsltproc) +macro_log_feature(XSLTPROC_EXECUTABLE "xsltproc" "The command line XSLT processor from libxslt" "http://xmlsoft.org/XSLT/" FALSE "" "Needed for building Akonadi resources. Recommended.") + +if (XSLTPROC_EXECUTABLE) + # generates a D-Bus interface description from a KConfigXT file + macro( kcfg_generate_dbus_interface _kcfg _name ) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml + COMMAND ${XSLTPROC_EXECUTABLE} --stringparam interfaceName ${_name} + ${KDE4_DATA_DIR}/akonadi-kde/kcfg2dbus.xsl + ${_kcfg} + > ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml + DEPENDS ${KDE4_DATA_DIR}/akonadi-kde/kcfg2dbus.xsl + ${_kcfg} + ) + endmacro( kcfg_generate_dbus_interface ) +endif (XSLTPROC_EXECUTABLE) + +if(WIN32) + set(LIB_INSTALL_DIR ${LIB_INSTALL_DIR} + RUNTIME DESTINATION ${BIN_INSTALL_DIR} + LIBRARY DESTINATION ${LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${LIB_INSTALL_DIR} ) +endif(WIN32) + +set(KDE4_ICON_DIR ${KDE4_INSTALL_DIR}/share/icons) + +include_directories( + ${KDE4_INCLUDES} +) + +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}" ) + + +########### next target ############### + +set( googledataresource_SRCS + googledataresource.cpp +) + +install( FILES googledataresource.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents" ) + +kde4_add_kcfg_files(googledataresource_SRCS settings.kcfgc) +kcfg_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/googledataresource.kcfg org.kde.Akonadi.googledata.Settings) +qt4_add_dbus_adaptor(googledataresource_SRCS + ${CMAKE_CURRENT_BINARY_DIR}/org.kde.Akonadi.googledata.Settings.xml settings.h Settings +) + +kde4_add_executable(akonadi_googledata_resource RUN_UNINSTALLED ${googledataresource_SRCS}) + +target_link_libraries(akonadi_googledata_resource ${KDE4_AKONADI_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY} ${KDE4_KDECORE_LIBS}) + +install(TARGETS akonadi_googledata_resource ${INSTALL_TARGETS_DEFAULT_ARGS}) diff --git a/Messages.sh b/Messages.sh new file mode 100644 index 0000000..bb4b6cc --- /dev/null +++ b/Messages.sh @@ -0,0 +1,2 @@ +#! /usr/bin/env bash +$XGETTEXT *.cpp -o $podir/akonadi_googledata_resource.pot diff --git a/README b/README new file mode 100644 index 0000000..ce29773 --- /dev/null +++ b/README @@ -0,0 +1,77 @@ +How To Build This Template +-=-=-=-=-=-=-=-=-=-=-=-=-= + +cd +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR -DCMAKE_BUILD_TYPE=debugfull .. <- do not forget the .. +make +make install or su -c 'make install' + +where $KDEDIR needs to be set to your KDE installation prefix. + +to uninstall the project: +make uninstall or su -c 'make uninstall' + +Note: you can use another build path. Then cd in your build dir and: +export KDE_SRC=path_to_your_src +cmake $KDE_SRC -DCMAKE_INSTALL_PREFIX=$KDEDIR -DCMAKE_BUILD_TYPE=debugfull + + +Implementation hints +-=-=-=-=-=-=-=-=-=-= + +The code generated by this template can be compiled without any further +changes, so you can start with your own code right away. + +However, there are a couple of things you will need to change outside the +resource's code, i.e. in the resource's .desktop file: + +- Name field: the name of the resource with which it will be displayed in + system settings and applications which can add resources on their own. + E.g. MyBackend Resource + +- Comment field: short description of the resource, also used to be + displayed, e.g. For calendars and contacts stored in MyBackend + +- Icon field: if you are not writing a contact (addressbook) resource, you have + to change this to either an icon for the respective MIME type you are going + to provide or use a resource specific icon which you provide yourself + +- X-Akonadi-MimeTypes field: if you are not writing a contact (addressbook) + resource, you have to change this to either a known MIME type or one you + install together with the resource. + If your resource can provide data of more than one MIME type, you can + specific all possible ones as a comma separate list. + + Common MIME types are: + * text/directory: for contact data + * text/calendar: for calendar data (there are Akonadi defined subtypes + available, e.g. application/x-vnd.akonadi.calendar.event) + * message/rfc822: for e-mails and usenet news + +The template comes with an input file for KDE's KConfigXT framework +for improved configuration file handling. The generated class is called +"Settings", so access to its data is provided through its singleton +instance method Settings::self(). +See http://techbase.kde.org/Development/Tutorials/Using_KConfig_XT + +Documentation +-=-=-=-=-=-=- + +The Akonadi-KDE API documentation can be found here: +http://api.kde.org/4.x-api/kdepimlibs-apidocs/akonadi/html/index.html + +General developer information, e.g. tutorials can be found here: +http://techbase.kde.org/Projects/PIM/Akonadi + +Project homepage is http://www.akonadi-project.org/ + +IRC: #akonadi on freenode network + +---------------------------- +Please send all comments to: +Kevin Krammer +kevin@akonadi-project.org + +Last update: May 2008 diff --git a/akonadi-resources.png b/akonadi-resources.png new file mode 100644 index 0000000000000000000000000000000000000000..8513893d7ec8eb0f0a98327d3d985a7dba16eef7 GIT binary patch literal 69059 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 + +using namespace Akonadi; + +googledataResource::googledataResource( const QString &id ) + : ResourceBase( id ) +{ + new SettingsAdaptor( Settings::self() ); + QDBusConnection::sessionBus().registerObject( QLatin1String( "/Settings" ), + Settings::self(), QDBusConnection::ExportAdaptors ); + + // TODO: you can put any resource specific initialization code here. +} + +googledataResource::~googledataResource() +{ +} + +void googledataResource::retrieveCollections() +{ + // TODO: this method is called when Akonadi wants to have all the + // collections your resource provides. + // Be sure to set the remote ID and the content MIME types +} + +void googledataResource::retrieveItems( const Akonadi::Collection &collection ) +{ + Q_UNUSED( collection ); + + // TODO: this method is called when Akonadi wants to know about all the + // items in the given collection. You can but don't have to provide all the + // data for each item, remote ID and MIME type are enough at this stage. + // Depending on how your resource accesses the data, there are several + // different ways to tell Akonadi when you are done. +} + +bool googledataResource::retrieveItem( const Akonadi::Item &item, const QSet &parts ) +{ + Q_UNUSED( item ); + Q_UNUSED( parts ); + + // TODO: this method is called when Akonadi wants more data for a given item. + // You can only provide the parts that have been requested but you are allowed + // to provide all in one go + + return true; +} + +void googledataResource::aboutToQuit() +{ + // TODO: any cleanup you need to do while there is still an active + // event loop. The resource will terminate after this method returns +} + +void googledataResource::configure( WId windowId ) +{ + Q_UNUSED( windowId ); + + // TODO: this method is usually called when a new resource is being + // added to the Akonadi setup. You can do any kind of user interaction here, + // e.g. showing dialogs. + // The given window ID is usually useful to get the correct + // "on top of parent" behavior if the running window manager applies any kind + // of focus stealing prevention technique +} + +void googledataResource::itemAdded( const Akonadi::Item &item, const Akonadi::Collection &collection ) +{ + Q_UNUSED( item ); + Q_UNUSED( collection ); + + // TODO: this method is called when somebody else, e.g. a client application, + // has created an item in a collection managed by your resource. + + // NOTE: There is an equivalent method for collections, but it isn't part + // of this template code to keep it simple +} + +void googledataResource::itemChanged( const Akonadi::Item &item, const QSet &parts ) +{ + Q_UNUSED( item ); + Q_UNUSED( parts ); + + // TODO: this method is called when somebody else, e.g. a client application, + // has changed an item managed by your resource. + + // NOTE: There is an equivalent method for collections, but it isn't part + // of this template code to keep it simple +} + +void googledataResource::itemRemoved( const Akonadi::Item &item ) +{ + Q_UNUSED( item ); + + // TODO: this method is called when somebody else, e.g. a client application, + // has deleted an item managed by your resource. + + // NOTE: There is an equivalent method for collections, but it isn't part + // of this template code to keep it simple +} + +AKONADI_RESOURCE_MAIN( googledataResource ) + +#include "googledataresource.moc" diff --git a/googledataresource.desktop b/googledataresource.desktop new file mode 100644 index 0000000..699a44e --- /dev/null +++ b/googledataresource.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Akonadi Google Contacts Resource +Comment=Resource for a google account +Type=AkonadiResource +Exec=akonadi_googledata_resource +Icon=text-directory + +X-Akonadi-MimeTypes=text/directory +X-Akonadi-Capabilities=Resource +X-Akonadi-Identifier=akonadi_googledata_resource diff --git a/googledataresource.h b/googledataresource.h new file mode 100644 index 0000000..3271ddd --- /dev/null +++ b/googledataresource.h @@ -0,0 +1,31 @@ +#ifndef GOOGLEDATARESOURCE_H +#define GOOGLEDATARESOURCE_H + +#include + +class googledataResource : public Akonadi::ResourceBase, + public Akonadi::AgentBase::Observer +{ + Q_OBJECT + + public: + googledataResource( const QString &id ); + ~googledataResource(); + + public Q_SLOTS: + virtual void configure( WId windowId ); + + protected Q_SLOTS: + void retrieveCollections(); + void retrieveItems( const Akonadi::Collection &col ); + bool retrieveItem( const Akonadi::Item &item, const QSet &parts ); + + protected: + virtual void aboutToQuit(); + + virtual void itemAdded( const Akonadi::Item &item, const Akonadi::Collection &collection ); + virtual void itemChanged( const Akonadi::Item &item, const QSet &parts ); + virtual void itemRemoved( const Akonadi::Item &item ); +}; + +#endif diff --git a/googledataresource.kcfg b/googledataresource.kcfg new file mode 100644 index 0000000..3804b15 --- /dev/null +++ b/googledataresource.kcfg @@ -0,0 +1,13 @@ + + + + + + false + + + diff --git a/settings.kcfgc b/settings.kcfgc new file mode 100644 index 0000000..b1445d7 --- /dev/null +++ b/settings.kcfgc @@ -0,0 +1,8 @@ +File=googledataresource.kcfg +ClassName=Settings +Mutators=true +ItemAccessors=true +SetUserTexts=true +Singleton=true +#IncludeFiles= +GlobalEnums=true -- 2.11.4.GIT