diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /konsolekalendar/konsolekalendarexports.h | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'konsolekalendar/konsolekalendarexports.h')
-rw-r--r-- | konsolekalendar/konsolekalendarexports.h | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/konsolekalendar/konsolekalendarexports.h b/konsolekalendar/konsolekalendarexports.h new file mode 100644 index 000000000..dc2f44eca --- /dev/null +++ b/konsolekalendar/konsolekalendarexports.h @@ -0,0 +1,101 @@ +/******************************************************************************* + * konsolekalendarexports.h * + * * + * KonsoleKalendar is a command line interface to KDE calendars * + * Copyright (C) 2002-2004 Tuukka Pasanen <illuusio@mailcity.com> * + * Copyright (C) 2003-2005 Allen Winter <winter@kde.org> * + * * + * 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 Qt, and distribute the resulting executable, * + * without including the source code for Qt in the source distribution. * + * * + ******************************************************************************/ + +#ifndef _KONSOLEKALENDAREXPORTS_H_ +#define _KONSOLEKALENDAREXPORTS_H_ + +#include <qtextstream.h> + +#include "konsolekalendarvariables.h" + +/** + * @file konsolekalendarexports.h + * Provides the KonsoleKalendarExports class definition. + */ + +namespace KCal +{ + /** + * Class to manage the Export functionality. + * @author Tuukka Pasanen + * @author Allen Winter + */ + class KonsoleKalendarExports + { + public: + + /** + * Constructs a KonsoleKalendarChange object from command line arguments. + * @param vars is a KonsoleKalendarVariable object with Event information. + */ + KonsoleKalendarExports( KonsoleKalendarVariables *vars = 0 ); + /** + * Destructor + */ + ~KonsoleKalendarExports(); + + /** + * Export the Event in Text Mode. + * @param ts pointer to the output QTextStream. + * @param event pointer to the Event to export. + * @param date is the QDate to be exported for. + */ + bool exportAsTxt( QTextStream *ts, Event *event, QDate date ); + /** + * Export the Event in Short Text Mode. + * @param ts pointer to the output QTextStream. + * @param event pointer to the Event to export. + * @param date is the QDate to be exported for. + * @param sameday flags that this Event is on the same date as the + * previously exported Event. + */ + bool exportAsTxtShort( QTextStream *ts, Event *event, QDate date, + bool sameday ); + /** + * Export the Event in Comma-Separated Values (CSV) Mode. + * @param ts pointer to the output QTextStream. + * @param event pointer to the Event to export. + * @param date is the QDate to be exported for. + */ + bool exportAsCSV( QTextStream *ts, Event *event, QDate date ); + + private: + KonsoleKalendarVariables *m_variables; + bool m_firstEntry; + /** + * Processes a field for Comma-Separated Value (CSV) compliance: + * 1. Replaces double quotes by a pair of consecutive double quotes + * 2. Surrounds field with double quotes + * @param field is the field value to be processed. + * @param dquote is a QString containing the double quote character. + */ + QString processField( QString field, QString dquote ); + + }; + +} +#endif |