korganizer
datenums.cpp00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "datenums.h"
00021 #include "koglobals.h"
00022 #include <kconfig.h>
00023 #include <kstandarddirs.h>
00024
00025 #include "configdialog.h"
00026 #include <kcalendarsystem.h>
00027
00028 class DatenumsFactory : public CalendarDecorationFactory {
00029 public:
00030 CalendarDecoration *create() { return new Datenums; }
00031 };
00032
00033 K_EXPORT_COMPONENT_FACTORY( libkorg_datenums, DatenumsFactory )
00034
00035
00036 Datenums::Datenums()
00037 {
00038 KConfig config( "korganizerrc", true, false);
00039 config.setGroup("Calendar/DateNum Plugin");
00040 mDateNum = config.readNumEntry( "ShowDayNumbers", 0 );
00041 }
00042
00043 void Datenums::configure(QWidget *parent)
00044 {
00045 ConfigDialog *dlg = new ConfigDialog(parent);
00046 dlg->exec();
00047 delete dlg;
00048 }
00049
00050
00051 QString Datenums::shortText(const QDate &date)
00052 {
00053 int doy = KOGlobals::self()->calendarSystem()->dayOfYear(date);
00054 switch (mDateNum) {
00055 case 1:
00056 return QString::number( KOGlobals::self()->calendarSystem()->daysInYear(date) - doy );
00057 break;
00058 case 2:
00059 return i18n("dayOfYear / daysTillEndOfYear", "%1 / %2").arg( doy )
00060 .arg(KOGlobals::self()->calendarSystem()->daysInYear(date) - doy);
00061 break;
00062 case 0:
00063 default:
00064 return QString::number( doy );
00065 }
00066 return QString::number( doy );
00067 }
00068
00069 QString Datenums::info()
00070 {
00071 return i18n("This plugin provides numbers of days and weeks.");
00072 }
|