konsolekalendar

konsolekalendar.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * konsolekalendar.h                                                           *
00003  *                                                                             *
00004  * KonsoleKalendar is a command line interface to KDE calendars                *
00005  * Copyright (C) 2002-2004  Tuukka Pasanen <illuusio@mailcity.com>             *
00006  * Copyright (C) 2003-2005  Allen Winter <winter@kde.org>                      *
00007  *                                                                             *
00008  * This program is free software; you can redistribute it and/or modify        *
00009  * it under the terms of the GNU General Public License as published by        *
00010  * the Free Software Foundation; either version 2 of the License, or           *
00011  * (at your option) any later version.                                         *
00012  *                                                                             *
00013  * This program is distributed in the hope that it will be useful,             *
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of              *
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                *
00016  * GNU General Public License for more details.                                *
00017  *                                                                             *
00018  * You should have received a copy of the GNU General Public License           *
00019  * along with this program; if not, write to the Free Software                 *
00020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
00021  *                                                                             *
00022  * As a special exception, permission is given to link this program            *
00023  * with any edition of Qt, and distribute the resulting executable,            *
00024  * without including the source code for Qt in the source distribution.        *
00025  *                                                                             *
00026  ******************************************************************************/
00027 
00028 #ifndef _KONSOLEKALENDAR_H
00029 #define _KONSOLEKALENDAR_H
00030 
00031 #include <qdatetime.h>
00032 
00033 #include <kapplication.h>
00034 
00035 #include <libkcal/calendarlocal.h>
00036 #include <libkcal/resourcecalendar.h>
00037 #include <libkcal/event.h>
00038 
00039 #include "konsolekalendarvariables.h"
00040 
00046 namespace KCal
00047 {
00052   class KonsoleKalendar
00053   {
00054   public:
00058     KonsoleKalendar( KonsoleKalendarVariables *variables );
00062     ~KonsoleKalendar();
00063 
00067     bool showInstance();
00068 
00072     bool importCalendar();
00073 
00077     bool addEvent();
00078 
00082     bool changeEvent();
00083 
00087     bool deleteEvent();
00088 
00096     bool isEvent( QDateTime startdate, QDateTime enddate, QString summary );
00097 
00101     bool createCalendar();
00102 
00103   private:
00104 
00108     void printSpecs();
00109 
00116     bool printEventList( QTextStream *ts, Event::List *eventList, QDate dt );
00117 
00124     bool printEvent( QTextStream *ts, Event *event, QDate dt );
00125 
00129     KonsoleKalendarVariables *m_variables;
00130 
00134     ResourceCalendar *m_Calendar;
00135 
00139     QDate m_saveDate;
00140 
00141   };
00142 
00143 }
00144 #endif