diff options
Diffstat (limited to 'korganizer/interfaces/calendar')
-rw-r--r-- | korganizer/interfaces/calendar/Makefile.am | 6 | ||||
-rw-r--r-- | korganizer/interfaces/calendar/calendardecoration.desktop | 66 | ||||
-rw-r--r-- | korganizer/interfaces/calendar/calendardecoration.h | 84 | ||||
-rw-r--r-- | korganizer/interfaces/calendar/calendarplugin.desktop | 74 | ||||
-rw-r--r-- | korganizer/interfaces/calendar/plugin.h | 58 |
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 |