/******************************************************************************* * konsolekalendar.h * * * * KonsoleKalendar is a command line interface to KDE calendars * * Copyright (C) 2002-2004 Tuukka Pasanen * * Copyright (C) 2003-2005 Allen Winter * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the Free Software * * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * * * As a special exception, permission is given to link this program * * with any edition of TQt, and distribute the resulting executable, * * without including the source code for TQt in the source distribution. * * * ******************************************************************************/ #ifndef _KONSOLEKALENDAR_H #define _KONSOLEKALENDAR_H #include #include #include #include #include #include "konsolekalendarvariables.h" /** * @file konsolekalendar.h * Provides the KonsoleKalendar class definition. */ namespace KCal { /** * The base class of the project. * @author Tuukka Pasanen */ class KonsoleKalendar { public: /** * Constructs a KonsoleKalendar object from command line arguments. */ KonsoleKalendar( KonsoleKalendarVariables *variables ); /** * Destructor */ ~KonsoleKalendar(); /** * Visualize what we need. */ bool showInstance(); /** * Imports calendar file */ bool importCalendar(); /** * Add event to calendar */ bool addEvent(); /** * Change event */ bool changeEvent(); /** * Delete event */ bool deleteEvent(); /** * Detect if event already exists * * @param startdate Starting date * @param enddate Ending date * @param summary Which summary event should have have */ bool isEvent( TQDateTime startdate, TQDateTime enddate, TQString summary ); /** * Creates calendar file (If it doesn't exists) */ bool createCalendar(); private: /** * Print event specs for dryrun and verbose options */ void printSpecs(); /** * Prints event list in many formats * * @param eventlist which event we should print * @param dt is the date to use when printing the event for recurring events */ bool printEventList( TQTextStream *ts, Event::List *eventList, TQDate dt ); /** * Prints a single event in many formats * * @param event which we should print * @param dt is the date to use when printing the event for recurring events */ bool printEvent( TQTextStream *ts, Event *event, TQDate dt ); /** * Variables that changes stuff in programm */ KonsoleKalendarVariables *m_variables; /** * Calendar file itself */ ResourceCalendar *m_Calendar; /** * This is usefull if we like to have same day events to same system */ TQDate m_saveDate; }; } #endif