libkcal

period.cpp

00001 /*
00002     This file is part of libkcal.
00003 
00004     Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Library General Public
00008     License as published by the Free Software Foundation; either
00009     version 2 of the License, or (at your option) any later version.
00010 
00011     This library is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014     Library General Public License for more details.
00015 
00016     You should have received a copy of the GNU Library General Public License
00017     along with this library; see the file COPYING.LIB.  If not, write to
00018     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019     Boston, MA 02110-1301, USA.
00020 */
00021 
00022 #include <kdebug.h>
00023 #include <klocale.h>
00024 
00025 #include "period.h"
00026 
00027 using namespace KCal;
00028 
00029 Period::Period()
00030 {
00031   mHasDuration = false;
00032 }
00033 
00034 Period::Period( const QDateTime &start, const QDateTime &end )
00035 {
00036   mStart = start;
00037   mEnd = end;
00038   mHasDuration = false;
00039 }
00040 
00041 Period::Period( const QDateTime &start, const Duration &duration )
00042 {
00043   mStart = start;
00044   mEnd = duration.end( start );
00045   mHasDuration = true;
00046 }
00047 
00048 
00049 bool Period::operator<( const Period& other )
00050 {
00051   return start() < other.start();
00052 }
00053 
00054 bool Period::operator==( const Period &other ) const
00055 {
00056   return
00057     mStart == other.mStart &&
00058     mEnd == other.mEnd &&
00059     mHasDuration == other.mHasDuration;
00060 }
00061 
00062 QDateTime Period::start() const
00063 {
00064   return mStart;
00065 }
00066 
00067 QDateTime Period::end()const
00068 {
00069   return mEnd;
00070 }
00071 
00072 Duration Period::duration()
00073 {
00074   return Duration( mStart, mEnd );
00075 }
00076 
00077 bool Period::hasDuration()const
00078 {
00079   return mHasDuration;
00080 }
00081 
00082 QString KCal::Period::summary() const
00083 {
00084   return mSummary;
00085 }
00086 
00087 void KCal::Period::setSummary(const QString & summary)
00088 {
00089   mSummary = summary;
00090 }
00091 
00092 QString KCal::Period::location() const
00093 {
00094   return mLocation;
00095 }
00096 
00097 void KCal::Period::setLocation(const QString & location)
00098 {
00099   mLocation = location;
00100 }