00001
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
extern "C" {
00034
void *init_libkorg_datenums()
00035 {
00036
return (
new DatenumsFactory);
00037 }
00038 }
00039
00040 Datenums::Datenums()
00041 {
00042 KConfig config( locateLocal(
"config",
"korganizerrc" ));
00043 config.setGroup(
"Calendar/DateNum Plugin");
00044 mDateNum = config.readNumEntry(
"ShowDayNumbers", 0 );
00045 }
00046
00047
void Datenums::configure(
QWidget *parent)
00048 {
00049
ConfigDialog *dlg =
new ConfigDialog(parent);
00050 dlg->exec();
00051
delete dlg;
00052 }
00053
00054
00055
QString Datenums::shortText(
const QDate &date)
00056 {
00057
int doy = KOGlobals::self()->calendarSystem()->dayOfYear(date);
00058
switch (mDateNum) {
00059
case 1:
00060
return QString::number( KOGlobals::self()->calendarSystem()->daysInYear(date) - doy );
00061
break;
00062
case 2:
00063
return i18n(
"dayOfYear / daysTillEndOfYear",
"%1 / %2").arg( doy )
00064 .arg(KOGlobals::self()->calendarSystem()->daysInYear(date) - doy);
00065
break;
00066
case 0:
00067
default:
00068
return QString::number( doy );
00069 }
00070
return QString::number( doy );
00071 }
00072
00073
QString Datenums::info()
00074 {
00075
return i18n(
"This plugin provides numbers of days and weeks.");
00076 }