event.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <kglobal.h>
00022 #include <klocale.h>
00023 #include <kdebug.h>
00024
00025 #include "event.h"
00026
00027 using namespace KCal;
00028
00029 Event::Event() :
00030 mHasEndDate(false), mTransparency(0)
00031 {
00032 }
00033
00034 Event::Event(const Event &e) : Incidence(e)
00035 {
00036 mDtEnd = e.mDtEnd;
00037 mHasEndDate = e.mHasEndDate;
00038 mTransparency = e.mTransparency;
00039 }
00040
00041 Event::~Event()
00042 {
00043 }
00044
00045 Incidence *Event::clone()
00046 {
00047 kdDebug(5800) << "Event::clone()" << endl;
00048 return new Event(*this);
00049 }
00050
00051 void Event::setDtEnd(const QDateTime &dtEnd)
00052 {
00053 if (mReadOnly) return;
00054
00055 mDtEnd = dtEnd;
00056
00057 setHasEndDate(true);
00058 setHasDuration(false);
00059
00060 updated();
00061 }
00062
00063 QDateTime Event::dtEnd() const
00064 {
00065 if (hasEndDate()) return mDtEnd;
00066 if (hasDuration()) return dtStart().addSecs(duration());
00067
00068 kdDebug(5800) << "Warning! Event '" << summary()
00069 << "' does have neither end date nor duration." << endl;
00070 return dtStart();
00071 }
00072
00073 QString Event::dtEndTimeStr() const
00074 {
00075 return KGlobal::locale()->formatTime(mDtEnd.time());
00076 }
00077
00078 QString Event::dtEndDateStr(bool shortfmt) const
00079 {
00080 return KGlobal::locale()->formatDate(mDtEnd.date(),shortfmt);
00081 }
00082
00083 QString Event::dtEndStr() const
00084 {
00085 return KGlobal::locale()->formatDateTime(mDtEnd);
00086 }
00087
00088 void Event::setHasEndDate(bool b)
00089 {
00090 mHasEndDate = b;
00091 }
00092
00093 bool Event::hasEndDate() const
00094 {
00095 return mHasEndDate;
00096 }
00097
00098 bool Event::isMultiDay() const
00099 {
00100 bool multi = !(dtStart().date() == dtEnd().date());
00101 return multi;
00102 }
00103
00104
00105 void Event::setTransparency(int transparency)
00106 {
00107 if (mReadOnly) return;
00108 mTransparency = transparency;
00109 updated();
00110 }
00111
00112 int Event::transparency() const
00113 {
00114 return mTransparency;
00115 }
00116
00117 void Event::setDuration(int seconds)
00118 {
00119 setHasEndDate(false);
00120 Incidence::setDuration(seconds);
00121 }
This file is part of the documentation for kdelibs Version 3.1.4.