mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-24 02:42:51 +00:00
115 lines
3.9 KiB
C++
115 lines
3.9 KiB
C++
/*
|
|
This file is part of KOrganizer.
|
|
|
|
Copyright (c) 2002 Cornelius Schumacher <schumacher@kde.org>
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
As a special exception, permission is given to link this program
|
|
with any edition of Qt, and distribute the resulting executable,
|
|
without including the source code for Qt in the source distribution.
|
|
*/
|
|
|
|
#include "../alarmdialog.h" //fullpath since incidenceeditors also has an alarmdialog.h
|
|
|
|
#include <Akonadi/Item>
|
|
|
|
#include <KCalCore/Event>
|
|
#include <KCalCore/Todo>
|
|
|
|
#include <KAboutData>
|
|
#include <KApplication>
|
|
#include <KCmdLineArgs>
|
|
|
|
using namespace KCalCore;
|
|
|
|
template<class T> Akonadi::Item incidenceToItem(T* incidence)
|
|
{
|
|
Akonadi::Item item;
|
|
item.setPayload< QSharedPointer<T> >( QSharedPointer<T>(incidence) );
|
|
return item;
|
|
}
|
|
|
|
int main( int argc, char **argv )
|
|
{
|
|
KAboutData aboutData( "testkabc", 0, ki18n( "TestKabc" ), "0.1" );
|
|
KCmdLineArgs::init( argc, argv, &aboutData );
|
|
|
|
KApplication app;
|
|
|
|
Event *e1 = new Event;
|
|
e1->setSummary( QLatin1String("This is a summary.") );
|
|
KDateTime now = KDateTime::currentLocalDateTime();
|
|
e1->setDtStart( now );
|
|
e1->setDtEnd( now.addDays( 1 ) );
|
|
Alarm::Ptr a = e1->newAlarm();
|
|
// a->setProcedureAlarm( "/usr/X11R6/bin/xeyes" );
|
|
a->setAudioAlarm( QLatin1String("/data/kde/share/apps/korganizer/sounds/spinout.wav") );
|
|
|
|
Todo *t1 = new Todo;
|
|
t1->setSummary( QLatin1String("To-do A") );
|
|
t1->setDtDue( now );
|
|
t1->newAlarm();
|
|
|
|
Event *e2 = new Event;
|
|
e2->setSummary( QLatin1String("This is another summary. "
|
|
"But it is a very long summary of total sillyness for no good reason") );
|
|
e2->setDtStart( now.addDays( 1 ) );
|
|
e2->setDtEnd( now.addDays( 2 ) );
|
|
e2->newAlarm();
|
|
|
|
Event *e3 = new Event;
|
|
e3->setSummary( QLatin1String("Meet with Fred") );
|
|
e3->setDtStart( now.addDays( 2 ) );
|
|
e3->setDtEnd( now.addDays( 3 ) );
|
|
e3->newAlarm();
|
|
|
|
Todo *t2 = new Todo;
|
|
t2->setSummary( QLatin1String("Something big is due today") );
|
|
t2->setDtDue( now );
|
|
t2->newAlarm();
|
|
|
|
Todo *t3 = new Todo;
|
|
t3->setSummary( QLatin1String("Be lazy") );
|
|
t3->setDtDue( now );
|
|
t3->newAlarm();
|
|
|
|
Event *e4 = new Event;
|
|
e4->setSummary( QLatin1String("Watch TV") );
|
|
e4->setDtStart( now.addSecs( 120 ) );
|
|
e4->setDtEnd( now.addSecs( 180 ) );
|
|
e4->newAlarm();
|
|
|
|
Akonadi::ETMCalendar::Ptr invalidPtr;
|
|
AlarmDialog dlg( invalidPtr );
|
|
dlg.addIncidence( incidenceToItem(e2), QDateTime::currentDateTime().addSecs( 60 ),
|
|
QString() );
|
|
dlg.addIncidence( incidenceToItem(t1), QDateTime::currentDateTime().addSecs( 300 ),
|
|
QLatin1String( "THIS IS DISPLAY TEXT" ) );
|
|
dlg.addIncidence( incidenceToItem(e4), QDateTime::currentDateTime().addSecs( 120 ),
|
|
QLatin1String( "Fred and Barney get cloned" ) );
|
|
dlg.addIncidence( incidenceToItem(e3), QDateTime::currentDateTime().addSecs( 240 ),
|
|
QString() );
|
|
dlg.addIncidence( incidenceToItem(e1), QDateTime::currentDateTime().addSecs( 180 ),
|
|
QString() );
|
|
dlg.addIncidence( incidenceToItem(t2), QDateTime::currentDateTime().addSecs( 600 ),
|
|
QLatin1String( "THIS IS DISPLAY TEXT" ) );
|
|
dlg.addIncidence( incidenceToItem(t3), QDateTime::currentDateTime().addSecs( 360 ),
|
|
QString() );
|
|
dlg.show();
|
|
dlg.eventNotification();
|
|
|
|
return app.exec();
|
|
}
|