summaryrefslogtreecommitdiffstats
path: root/kpilot/conduits/vcalconduit/vcal-conduit.cc
diff options
context:
space:
mode:
Diffstat (limited to 'kpilot/conduits/vcalconduit/vcal-conduit.cc')
-rw-r--r--kpilot/conduits/vcalconduit/vcal-conduit.cc309
1 files changed, 0 insertions, 309 deletions
diff --git a/kpilot/conduits/vcalconduit/vcal-conduit.cc b/kpilot/conduits/vcalconduit/vcal-conduit.cc
deleted file mode 100644
index d882cf8f..00000000
--- a/kpilot/conduits/vcalconduit/vcal-conduit.cc
+++ /dev/null
@@ -1,309 +0,0 @@
-/* KPilot
-**
-** Copyright (C) 2002-2003 Reinhold Kainhofer
-** Copyright (C) 2001 by Dan Pilone
-**
-** This file defines the vcal-conduit plugin.
-*/
-
-/*
-** 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 in a file called COPYING; if not, write to
-** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-** MA 02110-1301, USA.
-*/
-
-/*
-** Bug reports and questions can be sent to kde-pim@kde.org
-*/
-
-#include "options.h"
-
-#include <libkcal/calendar.h>
-#include <libkcal/calendarlocal.h>
-#include <libkcal/recurrence.h>
-#include <libkcal/vcalformat.h>
-
-#include "pilotDateEntry.h"
-#include "pilotDatabase.h"
-
-#include "vcal-conduit.moc"
-#include "vcalconduitSettings.h"
-
-#include "kcalRecord.h"
-#include "vcalRecord.h"
-
-
-extern "C"
-{
-
-unsigned long version_conduit_vcal = Pilot::PLUGIN_API;
-
-}
-
-
-
-
-VCalConduitPrivate::VCalConduitPrivate(KCal::Calendar *b) :
- VCalConduitPrivateBase(b)
-{
- fAllEvents.setAutoDelete(false);
-}
-
-void VCalConduitPrivate::addIncidence(KCal::Incidence*e)
-{
- fAllEvents.append(dynamic_cast<KCal::Event*>(e));
- fCalendar->addEvent(dynamic_cast<KCal::Event*>(e));
-}
-
-int VCalConduitPrivate::updateIncidences()
-{
- FUNCTIONSETUP;
- if (!fCalendar) return 0;
- fAllEvents = fCalendar->events();
- fAllEvents.setAutoDelete(false);
- return fAllEvents.count();
-}
-
-
-void VCalConduitPrivate::removeIncidence(KCal::Incidence *e)
-{
- // use dynamic_cast which returns a null pointer if the class does not match...
- fAllEvents.remove(dynamic_cast<KCal::Event*>(e));
- if (!fCalendar) return;
- fCalendar->deleteEvent(dynamic_cast<KCal::Event*>(e));
- // now just in case we're in the middle of reading through our list
- // and we delete something, set reading to false so we start at the
- // top again next time and don't have problems with our iterator
- reading = false;
-}
-
-
-KCal::Incidence *VCalConduitPrivate::findIncidence(recordid_t id)
-{
- KCal::Event::List::ConstIterator it;
- for( it = fAllEvents.begin(); it != fAllEvents.end(); ++it ) {
- KCal::Event *event = *it;
- if ((recordid_t)event->pilotId() == id) return event;
- }
- return 0L;
-}
-
-KCal::Incidence *VCalConduitPrivate::findIncidence(PilotRecordBase *tosearch)
-{
- PilotDateEntry*entry=dynamic_cast<PilotDateEntry*>(tosearch);
- if (!entry) return 0L;
-
- TQString title=entry->getDescription();
- TQDateTime dt=readTm( entry->getEventStart() );
-
- KCal::Event::List::ConstIterator it;
- for( it = fAllEvents.begin(); it != fAllEvents.end(); ++it ) {
- KCal::Event *event = *it;
- if ( (event->dtStart() == dt) && (event->summary() == title) ) return event;
- }
- return 0L;
-}
-
-
-
-KCal::Incidence *VCalConduitPrivate::getNextIncidence()
-{
- FUNCTIONSETUP;
-
- if (reading) {
- ++fAllEventsIterator;
- } else {
- reading=true;
- fAllEventsIterator = fAllEvents.begin();
- }
- // At end of list, or empty list.
- return (fAllEventsIterator == fAllEvents.end()) ? 0L : *fAllEventsIterator;
-}
-
-/** Find the next incidence in the list which ddoes not have the SYNCNONE flag set. The
- * current position is always stored in the iteratoor fAllEventsIterator, so we can just
- * start from there. Only if reading==false, we haven't yet started goind through the
- * incidents, so start at fAllEvents.begin() in that case */
-KCal::Incidence *VCalConduitPrivate::getNextModifiedIncidence()
-{
- FUNCTIONSETUP;
- KCal::Event*e=0L;
- if (!reading)
- {
- // Start from the top
- reading=true;
- fAllEventsIterator = fAllEvents.begin();
- }
- else
- {
- // Move on from current position
- ++fAllEventsIterator;
- }
-
- // Fetch (new) current if possible.
- if ( fAllEventsIterator != fAllEvents.end() ) e = *fAllEventsIterator;
- // Then walk the list until we find an unsynced entry
- while ( fAllEventsIterator != fAllEvents.end() &&
- e && e->syncStatus()!=KCal::Incidence::SYNCMOD && e->pilotId() > 0)
- {
- e = (++fAllEventsIterator != fAllEvents.end()) ? *fAllEventsIterator : 0L;
- }
- return (fAllEventsIterator == fAllEvents.end()) ? 0L : *fAllEventsIterator;
-}
-
-
-
-/****************************************************************************
- * VCalConduit class *
- ****************************************************************************/
-
-VCalConduit::VCalConduit(KPilotLink *d,
- const char *n,
- const TQStringList &a) :
- VCalConduitBase(d,n,a),
- fAppointmentAppInfo( 0L )
-{
- FUNCTIONSETUP;
- fConduitName=i18n("Calendar");
-}
-
-
-VCalConduit::~VCalConduit()
-{
-// FUNCTIONSETUP;
-}
-
-VCalConduitPrivateBase *VCalConduit::createPrivateCalendarData(KCal::Calendar *fCalendar) {
- return new VCalConduitPrivate(fCalendar);
-}
-
-void VCalConduit::_getAppInfo()
-{
- FUNCTIONSETUP;
- // get the address application header information
- KPILOT_DELETE(fAppointmentAppInfo);
- fAppointmentAppInfo = new PilotDateInfo( fDatabase );
-}
-
-const TQString VCalConduit::getTitle(PilotRecordBase *de)
-{
- PilotDateEntry*d=dynamic_cast<PilotDateEntry*>(de);
- if (d) return TQString(d->getDescription());
- return TQString::null;
-}
-
-
-
-PilotRecord *VCalConduit::recordFromIncidence(PilotRecordBase *de, const KCal::Incidence*e)
-{
- FUNCTIONSETUP;
- if (!de || !e)
- {
- DEBUGKPILOT << fname
- << ": got NULL entry or NULL incidence." << endl;
- return 0L;
- }
-
- if ( (e->recurrenceType() == KCal::Recurrence::rYearlyDay) ||
- (e->recurrenceType() == KCal::Recurrence::rYearlyPos) )
- {
- // Warn ahead of time
- emit logMessage(i18n("Event \"%1\" has a yearly recurrence other than by month, will change this to recurrence by month on handheld.").arg(e->summary()));
- }
-
- PilotDateEntry *dateEntry = dynamic_cast<PilotDateEntry*>(de);
- if (!dateEntry)
- {
- // Secretly wasn't a date entry after all
- return 0L;
- }
-
- const KCal::Event *event = dynamic_cast<const KCal::Event *>(e);
- if (!event)
- {
- DEBUGKPILOT << fname << ": Incidence is not an event." << endl;
- return 0L;
- }
-
- if (KCalSync::setDateEntry(dateEntry, event,*fAppointmentAppInfo->categoryInfo()))
- {
- return dateEntry->pack();
- }
- else
- {
- return 0L;
- }
-}
-
-KCal::Incidence *VCalConduit::incidenceFromRecord(KCal::Incidence *e, const PilotRecordBase *de)
-{
- FUNCTIONSETUP;
-
- if (!de || !e)
- {
- DEBUGKPILOT << fname
- << ": Got NULL entry or NULL incidence." << endl;
- return 0L;
- }
-
- const PilotDateEntry *dateEntry = dynamic_cast<const PilotDateEntry *>(de);
- if (!dateEntry)
- {
- DEBUGKPILOT << fname << ": HH record not a date entry." << endl;
- return 0L;
- }
-
- KCal::Event *event = dynamic_cast<KCal::Event *>(e);
- if (!event)
- {
- DEBUGKPILOT << fname << ": Incidence is not an event." << endl;
- return 0L;
- }
-
- KCalSync::setEvent(event, dateEntry,*fAppointmentAppInfo->categoryInfo());
- return e;
-}
-
-
-
-PilotRecordBase * VCalConduit::newPilotEntry(PilotRecord*r)
-{
- return new PilotDateEntry(r);
-}
-
-KCal::Incidence* VCalConduit::newIncidence()
-{
- return new KCal::Event;
-}
-
-static VCalConduitSettings *config_vcal = 0L;
-
-VCalConduitSettings *VCalConduit::theConfig()
-{
- if (!config_vcal)
- {
- config_vcal = new VCalConduitSettings(CSL1("Calendar"));
- }
-
- return config_vcal;
-}
-
-VCalConduitSettings *VCalConduit::config() {
- return theConfig();
-}
-
-
-
-// vim: ts=4:sw=4:noexpandtab:
-