-rw-r--r-- | libkcal/alarm.cpp | 2 | ||||
-rw-r--r-- | libkcal/event.cpp | 8 | ||||
-rw-r--r-- | libkcal/event.h | 1 | ||||
-rw-r--r-- | libkcal/incidence.cpp | 29 | ||||
-rw-r--r-- | libkcal/incidence.h | 3 | ||||
-rw-r--r-- | libkcal/todo.cpp | 10 | ||||
-rw-r--r-- | libkcal/todo.h | 1 |
7 files changed, 52 insertions, 2 deletions
diff --git a/libkcal/alarm.cpp b/libkcal/alarm.cpp index 79e0464..3157214 100644 --- a/libkcal/alarm.cpp +++ b/libkcal/alarm.cpp | |||
@@ -350,7 +350,7 @@ int Alarm::offset() | |||
350 | } | 350 | } |
351 | 351 | ||
352 | } | 352 | } |
353 | QString Alarm::offsetText() | 353 | QString Alarm::offsetText() |
354 | { | 354 | { |
355 | int min = -offset()/60; | 355 | int min = -offset()/60; |
356 | int hours = min /60; | 356 | int hours = min /60; |
diff --git a/libkcal/event.cpp b/libkcal/event.cpp index 0766fd9..fdf5657 100644 --- a/libkcal/event.cpp +++ b/libkcal/event.cpp | |||
@@ -414,3 +414,11 @@ QDateTime Event::getNextAlarmDateTime( bool * ok, int * offset, QDateTime start_ | |||
414 | return QDateTime (); | 414 | return QDateTime (); |
415 | 415 | ||
416 | } | 416 | } |
417 | |||
418 | QString Event::durationText() | ||
419 | { | ||
420 | int sec = mDtStart.secsTo( mDtEnd ); | ||
421 | if ( doesFloat() ) | ||
422 | sec += 86400; | ||
423 | return durationText4Time( sec ); | ||
424 | } | ||
diff --git a/libkcal/event.h b/libkcal/event.h index 2da9770..6a58618 100644 --- a/libkcal/event.h +++ b/libkcal/event.h | |||
@@ -76,6 +76,7 @@ class Event : public Incidence | |||
76 | bool contains ( Event*); | 76 | bool contains ( Event*); |
77 | 77 | ||
78 | bool isOverlapping ( Event*, QDateTime*, QDateTime* ); | 78 | bool isOverlapping ( Event*, QDateTime*, QDateTime* ); |
79 | QString durationText(); | ||
79 | 80 | ||
80 | private: | 81 | private: |
81 | bool accept(Visitor &v) { return v.visit(this); } | 82 | bool accept(Visitor &v) { return v.visit(this); } |
diff --git a/libkcal/incidence.cpp b/libkcal/incidence.cpp index 4643a3a..201f593 100644 --- a/libkcal/incidence.cpp +++ b/libkcal/incidence.cpp | |||
@@ -100,7 +100,36 @@ Incidence::~Incidence() | |||
100 | delete mRecurrence; | 100 | delete mRecurrence; |
101 | 101 | ||
102 | } | 102 | } |
103 | QString Incidence::durationText() | ||
104 | { | ||
105 | return "---"; | ||
106 | } | ||
107 | QString Incidence::durationText4Time( int offset ) | ||
108 | { | ||
109 | int min = offset/60; | ||
110 | int hours = min /60; | ||
111 | min = min % 60; | ||
112 | int days = hours /24; | ||
113 | hours = hours % 24; | ||
114 | |||
115 | if ( doesFloat() || ( min == 0 && hours == 0 ) ) { | ||
116 | if ( days == 1 ) | ||
117 | return "1" + i18n(" day"); | ||
118 | else | ||
119 | return QString::number( days )+ i18n(" days"); | ||
103 | 120 | ||
121 | } | ||
122 | QString message = QString::number ( hours ) +":"; | ||
123 | if ( min < 10 ) message += "0"; | ||
124 | message += QString::number ( min ); | ||
125 | if ( days > 0 ) { | ||
126 | if ( days == 1 ) | ||
127 | message = "1" + i18n(" day") + " "+message; | ||
128 | else | ||
129 | message = QString::number( days )+ i18n(" days") + " "+message; | ||
130 | } | ||
131 | return message; | ||
132 | } | ||
104 | bool Incidence::isHoliday() const | 133 | bool Incidence::isHoliday() const |
105 | { | 134 | { |
106 | return mHoliday; | 135 | return mHoliday; |
diff --git a/libkcal/incidence.h b/libkcal/incidence.h index 8519f01..88df217 100644 --- a/libkcal/incidence.h +++ b/libkcal/incidence.h | |||
@@ -281,7 +281,8 @@ class Incidence : public IncidenceBase | |||
281 | QString recurrenceText() const; | 281 | QString recurrenceText() const; |
282 | void setLastModifiedSubInvalid(); | 282 | void setLastModifiedSubInvalid(); |
283 | 283 | ||
284 | 284 | virtual QString durationText(); | |
285 | QString durationText4Time( int secs ); | ||
285 | Recurrence *mRecurrence; | 286 | Recurrence *mRecurrence; |
286 | protected: | 287 | protected: |
287 | QPtrList<Alarm> mAlarms; | 288 | QPtrList<Alarm> mAlarms; |
diff --git a/libkcal/todo.cpp b/libkcal/todo.cpp index 7bf756a..e4508a0 100644 --- a/libkcal/todo.cpp +++ b/libkcal/todo.cpp | |||
@@ -614,3 +614,13 @@ void Todo::checkSetCompletedFalse() | |||
614 | } | 614 | } |
615 | } | 615 | } |
616 | } | 616 | } |
617 | QString Todo::durationText() | ||
618 | { | ||
619 | if ( mHasDueDate && hasStartDate() ) { | ||
620 | int sec = dtStart().secsTo( dtDue() ); | ||
621 | if ( doesFloat() ) | ||
622 | sec += 86400; | ||
623 | return durationText4Time( sec ); | ||
624 | } | ||
625 | return "---"; | ||
626 | } | ||
diff --git a/libkcal/todo.h b/libkcal/todo.h index 425dfad..7feb32e 100644 --- a/libkcal/todo.h +++ b/libkcal/todo.h | |||
@@ -130,6 +130,7 @@ namespace KCal { | |||
130 | void saveRunningInfoToFile( QString st ); | 130 | void saveRunningInfoToFile( QString st ); |
131 | void saveRunningInfoToFile( ); | 131 | void saveRunningInfoToFile( ); |
132 | void saveParents(); | 132 | void saveParents(); |
133 | QString durationText(); | ||
133 | private: | 134 | private: |
134 | bool mRunning; | 135 | bool mRunning; |
135 | QTimer * mRunSaveTimer; | 136 | QTimer * mRunSaveTimer; |