Development/Tutorials/PIM/ical: Difference between revisions

    From KDE TechBase
    (New page: = Loading a calendar = Here is the easiest test case: A program that loads /tmp/test.ics. == CMakeLists.txt == <pre> PROJECT( kde4start ) FIND_PACKAGE(KDE4 REQUIRED) INCLUDE_DIRECTORIES( ...)
     
    No edit summary
    Line 1: Line 1:
    [http://en.wikipedia.org/wiki/ICalendar iCal] is a standardized data format for storing appointments, events and todos in a calendar file. It is being used by Apple and Outlook. Using the KDE libraries you can read and write files in this format.
    = Loading a calendar =
    = Loading a calendar =
    Here is the easiest test case: A program that loads /tmp/test.ics.
    Here is the easiest test case: A program that loads /tmp/test.ics.

    Revision as of 08:46, 26 September 2011

    iCal is a standardized data format for storing appointments, events and todos in a calendar file. It is being used by Apple and Outlook. Using the KDE libraries you can read and write files in this format.

    Loading a calendar

    Here is the easiest test case: A program that loads /tmp/test.ics.

    CMakeLists.txt

    PROJECT( kde4start )
    FIND_PACKAGE(KDE4 REQUIRED)
    INCLUDE_DIRECTORIES( ${KDE4_INCLUDES} . )
    
    
    SET(kde4startSources main.cpp )
    
    KDE4_ADD_EXECUTABLE(kde4start ${kde4startSources} )
    
    TARGET_LINK_LIBRARIES(kde4start ${KDE4_KDEUI_LIBS} ${KDE4_KCAL_LIBS} ${KDE4_KPARTS_LIBS} kdepim kcal_resourceremote )
    

    main.cpp

    /*
    This is a test case for KDE's iCalendar functionality.
    (c) 2008 by Thorsten Staerk
    */
    
    #include <QString>
    #include <kapplication.h>
    #include <kaboutdata.h>
    #include <kmessagebox.h>
    #include <kcmdlineargs.h>
    #include <KMainWindow>
    #include <kcal/resourcecalendar.h>
    #include <kcal/resourcecached.h>
    #include <kcal/resourcelocal.h>
    
    int main (int argc, char *argv[])
    {
      const QByteArray& ba=QByteArray("test");
      const KLocalizedString name=ki18n("myName");
      KAboutData aboutData( ba, ba, name, ba, name);
      KCmdLineArgs::init( argc, argv, &aboutData );
      KApplication khello;
      KCal::ResourceCalendar* cal;
      KCal::ResourceCached* resource;
      resource=new KCal::ResourceLocal("/tmp/test.ics");
      cal=resource;
      cal->load();
      KABC::Lock *lock = cal->lock();
      cal->save();
      lock->unlock();
    }