KCalCore Library
Go to the documentation of this file.
38 using namespace KCalCore;
45 class KCalCore::Duration::Private
49 return mDaily ? mDuration * 86400 : mDuration;
57 : d(new KCalCore::
Duration::Private())
62 : d(new KCalCore::
Duration::Private())
64 if (start.time() == end.time() && start.timeSpec() == end.timeSpec()) {
65 d->mDuration = start.daysTo(end);
68 d->mDuration = start.secsTo(end);
74 : d(new KCalCore::
Duration::Private())
77 KDateTime endSt(end.toTimeSpec(start));
78 d->mDuration = start.daysTo(endSt);
82 if (endSt.time() < start.time()) {
86 if (endSt.time() > start.time()) {
93 d->mDuration = start.secsTo(end);
99 : d(new KCalCore::
Duration::Private())
101 d->mDuration = duration;
102 d->mDaily = (type ==
Days);
106 : d(new KCalCore::
Duration::Private(*duration.d))
118 if (&duration ==
this) {
126 Duration::operator bool()
const
133 if (d->mDaily == other.d->mDaily) {
135 return d->mDuration < other.d->mDuration;
137 return d->seconds() < other.d->seconds();
145 return d->mDuration == other.d->mDuration &&
146 d->mDaily == other.d->mDaily;
151 if (d->mDaily == other.d->mDaily) {
152 d->mDuration += other.d->mDuration;
153 }
else if (d->mDaily) {
154 d->mDuration = d->mDuration * 86400 + other.d->mDuration;
157 d->mDuration += other.d->mDuration + 86400;
174 d->mDuration *=
value;
180 d->mDuration /=
value;
186 return d->mDaily ? start.addDays(d->mDuration)
187 : start.addSecs(d->mDuration);
207 return d->mDaily ? d->mDuration : d->mDuration / 86400;
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Fri Jan 17 2014 22:11:59 by
doxygen 1.8.3.1 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.