summaryrefslogtreecommitdiffstats
path: root/korganizer/interfaces/calendar
diff options
context:
space:
mode:
Diffstat (limited to 'korganizer/interfaces/calendar')
-rw-r--r--korganizer/interfaces/calendar/Makefile.am6
-rw-r--r--korganizer/interfaces/calendar/calendardecoration.desktop66
-rw-r--r--korganizer/interfaces/calendar/calendardecoration.h84
-rw-r--r--korganizer/interfaces/calendar/calendarplugin.desktop74
-rw-r--r--korganizer/interfaces/calendar/plugin.h58
5 files changed, 288 insertions, 0 deletions
diff --git a/korganizer/interfaces/calendar/Makefile.am b/korganizer/interfaces/calendar/Makefile.am
new file mode 100644
index 000000000..d39a76a99
--- /dev/null
+++ b/korganizer/interfaces/calendar/Makefile.am
@@ -0,0 +1,6 @@
+
+calinclude_HEADERS = plugin.h calendardecoration.h
+calincludedir = $(includedir)/calendar
+
+servicetypedir = $(kde_servicetypesdir)
+servicetype_DATA = calendarplugin.desktop calendardecoration.desktop
diff --git a/korganizer/interfaces/calendar/calendardecoration.desktop b/korganizer/interfaces/calendar/calendardecoration.desktop
new file mode 100644
index 000000000..e9763878e
--- /dev/null
+++ b/korganizer/interfaces/calendar/calendardecoration.desktop
@@ -0,0 +1,66 @@
+[Desktop Entry]
+Type=ServiceType
+X-KDE-ServiceType=Calendar/Decoration
+Comment=Calendar Decoration Plugin
+Comment[af]=Kalender Versiering Inplak
+Comment[bg]=Приставка за декорация на календара
+Comment[br]=Lugent kinkladur an deiziadur
+Comment[bs]=Dodatak za ukrašavanje kalendara
+Comment[ca]=Endollable de decoració del calendari
+Comment[cs]=Modul dekorace kalendáře
+Comment[cy]=Ategyn Addurniad Calendr
+Comment[da]=Calendar-dekorations-plugin
+Comment[de]=Dekoration für den Kalender
+Comment[el]=Πρόσθετο διακόσμησης ημερολογίου
+Comment[eo]=Kalendarornama kromaĵo
+Comment[es]=Plugin de decoración de calendario
+Comment[et]=Kalendri dekoratsiooni plugin
+Comment[eu]=Egutegi apainketa plugin-a
+Comment[fa]=وصلۀ تزئین تقویم
+Comment[fi]=Kalenteritekstin koristeluliitännäinen
+Comment[fr]=Module de décoration d'agenda
+Comment[fy]=Agindadekoraasjeplugin
+Comment[gl]=Extensión para a Decoración do Calendario
+Comment[he]=תוסף קישוטי לוח שנה
+Comment[hi]=कैलेन्डर सजावट प्लगइन
+Comment[hr]=Dodatak za dekoraciju kalendara
+Comment[hu]=Naptármegjelenési bővítőmodul
+Comment[is]=Íforrit til að skreyta texta dagatals
+Comment[it]=Plugin di decorazione del calendario
+Comment[ja]=カレンダー装飾プラグイン
+Comment[ka]=კალენდრის გაფორმების მოდული
+Comment[kk]=Күнтізбені безендіру модулі
+Comment[km]=កម្មវិធី​ជំនួយ​សម្រាប់​តុបតែង​ប្រតិទិន
+Comment[lt]=vCalendar dekoracijų priedas
+Comment[lv]=Kalendāra Dekorāciju Iespraudnis
+Comment[mk]=Приклучок за декорација на календар
+Comment[ms]=Plugin Hiasan Kalendar
+Comment[mt]=Plagin ta' dekorazzjoni tal-kalendarju
+Comment[nb]=Calendar dekorasjonsprogramtillegg
+Comment[nds]=Dekoratschoon för den Kalenner
+Comment[ne]=क्यालेन्डर सजावट प्लगइन
+Comment[nl]=Agendadecoratieplugin
+Comment[nn]=Tilleggsmodul for kalenderpynt
+Comment[nso]=Plugin ya Kgabiso ya Tshupamabaka
+Comment[pl]=Wtyczka do dekoracji kalendarza
+Comment[pt]='Plugin' de Decoração do Calendário
+Comment[pt_BR]=Plug-in para Decoração do Calendário
+Comment[ro]=Modul decorare calendar
+Comment[ru]=Оформление календаря
+Comment[se]=Kaleandarčiŋaid lassemoduvla
+Comment[sk]=Modul pre skrášlenie kalendára
+Comment[sl]=Vstavek besedilnega okrasa za Koledar
+Comment[sr]=Прикључак за декорацију календара
+Comment[sr@Latn]=Priključak za dekoraciju kalendara
+Comment[sv]=Insticksprogram för kalenderdekoration
+Comment[ta]=நாள்காட்டி அலங்கார சொருகுப்பொருள்
+Comment[tg]=Модул барои ороиш додани тақвимот
+Comment[th]=โปรแกรมเสริมตกแต่งบันทึกประจำวัน
+Comment[tr]=Takvim Dekorasyon Eklentisi
+Comment[uk]=Втулок прикрас календаря
+Comment[ven]=Pulagini yo khavhisiwaho ya khalenda
+Comment[vi]=Plugin phối trí lịch
+Comment[xh]=Ikhalenda Yohombiso lwe Plugin
+Comment[zh_CN]=日历装饰插件
+Comment[zh_TW]=行事曆文字裝飾外掛程式
+Comment[zu]=Ikhalenda Yeplagi Yokuhlobisa
diff --git a/korganizer/interfaces/calendar/calendardecoration.h b/korganizer/interfaces/calendar/calendardecoration.h
new file mode 100644
index 000000000..a6f487b7b
--- /dev/null
+++ b/korganizer/interfaces/calendar/calendardecoration.h
@@ -0,0 +1,84 @@
+/*
+ This file is part of the KOrganizer interfaces.
+
+ Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef KORG_CALENDARDECORATION_H
+#define KORG_CALENDARDECORATION_H
+
+#include <qstring.h>
+#include <qdatetime.h>
+#include <qpixmap.h>
+
+#include <klibloader.h>
+
+#include "plugin.h"
+
+namespace KOrg {
+
+/**
+ This class provides the interface for a date dependent decoration.
+
+ It provides entities like texts and pictures for a given date. Implementations
+ can implement all functions or only a subset.
+*/
+class CalendarDecoration : public Plugin
+{
+ public:
+ static int interfaceVersion() { return 2; }
+ static QString serviceType() { return "Calendar/Decoration"; }
+
+ typedef QPtrList<CalendarDecoration> List;
+
+ CalendarDecoration() {}
+ virtual ~CalendarDecoration() {}
+
+ /**
+ Return a short text for a given date, ususally only a few words.
+ */
+ virtual QString shortText( const QDate & ) { return QString::null; }
+ /**
+ Return along text for a given date. This text can be of any length, but
+ usually it will have one or a few paragraphs.
+ */
+ virtual QString longText( const QDate & ) { return QString::null; }
+
+ /**
+ Return a small pixmap. The size should be something like 30x30 pixels.
+ */
+ virtual QPixmap smallPixmap( const QDate &) { return QPixmap(); }
+ /**
+ Return a large pixmap. The size should be something like 300x300 pixels.
+ */
+ virtual QPixmap largePixmap( const QDate &) { return QPixmap(); }
+
+ /**
+ Return a small widget. It should have the size of a pushbutton.
+ */
+ virtual QWidget *smallWidget( QWidget *, const QDate & ) { return 0; }
+};
+
+class CalendarDecorationFactory : public PluginFactory
+{
+ public:
+ virtual CalendarDecoration *create() = 0;
+};
+
+}
+
+#endif
diff --git a/korganizer/interfaces/calendar/calendarplugin.desktop b/korganizer/interfaces/calendar/calendarplugin.desktop
new file mode 100644
index 000000000..765fced76
--- /dev/null
+++ b/korganizer/interfaces/calendar/calendarplugin.desktop
@@ -0,0 +1,74 @@
+[Desktop Entry]
+Type=ServiceType
+X-KDE-ServiceType=Calendar/Plugin
+Comment=Calendar Plugin
+Comment[af]=Kalender Inplak
+Comment[az]=Təqvim Əlavəsi
+Comment[be]=Дапаўненне "Календар"
+Comment[bg]=Приставка за календар
+Comment[br]=Lugent an deiziadur
+Comment[bs]=Dodatak za kalendar
+Comment[ca]=Endollable calendari
+Comment[cs]=Kalendářový modul
+Comment[cy]=Ategyn Calendr
+Comment[da]=Calendar-plugin
+Comment[de]=Kalender-Modul
+Comment[el]=Πρόσθετο ημερολογίου
+Comment[eo]=Kalendaro-kromaĵo
+Comment[es]=Plugin de calendario
+Comment[et]=Kalendriplugin
+Comment[eu]=Egutegi plugin-a
+Comment[fa]=وصلۀ تقویم
+Comment[fi]=Kalenteriliitännäinen
+Comment[fr]=Module d'agenda
+Comment[fy]=Agindaplugin
+Comment[gl]=Extensión de Calendario
+Comment[he]=תוסף לוח שנה
+Comment[hi]=कैलेन्डर प्लगइन
+Comment[hr]=Kalendar dodatak
+Comment[hu]=Naptárkezelő bővítőmodul
+Comment[is]=Dagatals íforrit
+Comment[it]=Plugin calendario
+Comment[ja]=カレンダープラグイン
+Comment[ka]=კალენდრის მოდული
+Comment[kk]=Күнтізбе модулі
+Comment[km]=កម្មវិធី​ជំនួយ​ប្រតិទិន
+Comment[ko]=달력 플러그인
+Comment[lt]=iCalendar priedas
+Comment[lv]=Kalendāra Iespraudnis
+Comment[mk]=Приклучок за календар
+Comment[ms]=Plugin Kalendar
+Comment[mt]=Plagin tal-kalendarju
+Comment[nb]=Calendar-programtillegg
+Comment[nds]=Kalenner-Moduul
+Comment[ne]=क्यालेन्डर प्लगइन
+Comment[nl]=Agendaplugin
+Comment[nn]=Kalendermodul
+Comment[nso]=Plugin ya Tshupamabaka
+Comment[pl]=Wtyczka do kalendarza
+Comment[pt]='Plugin' de Calendário
+Comment[pt_BR]=Plug-in de Calendário
+Comment[ro]=Modul calendar
+Comment[ru]=Модуль календаря
+Comment[se]=Kaleandarlassemoduvla
+Comment[sk]=Modul Calendar
+Comment[sl]=Vstavek za Koledar
+Comment[sr]=Прикључак за календар
+Comment[sr@Latn]=Priključak za kalendar
+Comment[sv]=Insticksprogram för kalender
+Comment[ta]=நாள்காட்டி சொருகுப்பொருள்
+Comment[tg]=Модул барои тақвимот
+Comment[th]=โปรแกรมเสริมบันทึกประจำวัน
+Comment[tr]=Takvim Eklentisi
+Comment[uk]=Втулок календаря
+Comment[uz]=Kalendar plagini
+Comment[uz@cyrillic]=Календар плагини
+Comment[ven]=U pulaga ha khalenda
+Comment[vi]=Plugin lịch
+Comment[xh]=Ikhalenda ye Plugin
+Comment[zh_CN]=日历插件
+Comment[zh_TW]=行事曆外掛程式
+Comment[zu]=Iplagi Yekhalanda
+
+[PropertyDef::X-KDE-KOrganizer-HasSettings]
+Type=bool
diff --git a/korganizer/interfaces/calendar/plugin.h b/korganizer/interfaces/calendar/plugin.h
new file mode 100644
index 000000000..478b86468
--- /dev/null
+++ b/korganizer/interfaces/calendar/plugin.h
@@ -0,0 +1,58 @@
+/*
+ This file is part of the KOrganizer interfaces.
+
+ Copyright (c) 2001,2003 Cornelius Schumacher <schumacher@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef KORG_PLUGIN_H
+#define KORG_PLUGIN_H
+
+#include <klocale.h>
+#include <klibloader.h>
+
+namespace KOrg {
+
+class Plugin
+{
+ public:
+ static int interfaceVersion() { return 2; }
+ static QString serviceType() { return "Calendar/Plugin"; }
+
+ Plugin() {}
+ virtual ~Plugin() {}
+
+ virtual QString info() = 0;
+
+ virtual void configure( QWidget * ) {}
+};
+
+class PluginFactory : public KLibFactory
+{
+ public:
+ virtual Plugin *create() = 0;
+
+ protected:
+ virtual QObject *createObject( QObject *, const char *,const char *,
+ const QStringList & )
+ {
+ return 0;
+ }
+};
+
+}
+
+#endif