summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkcal/attachment.cpp38
-rw-r--r--libkcal/attachment.h71
-rw-r--r--libkcal/icalformatimpl.cpp4
-rw-r--r--libkcal/incidence.cpp12
4 files changed, 96 insertions, 29 deletions
diff --git a/libkcal/attachment.cpp b/libkcal/attachment.cpp
index 1ead923..520ac95 100644
--- a/libkcal/attachment.cpp
+++ b/libkcal/attachment.cpp
@@ -1,4 +1,5 @@
/*
This file is part of libkcal.
+
Copyright (c) 2002 Michael Brade <brade@kde.org>
@@ -23,4 +24,13 @@
using namespace KCal;
+Attachment::Attachment( const Attachment &attachment)
+{
+ mMimeType = attachment.mMimeType;
+ mData = attachment.mData;
+ mBinary = attachment.mBinary;
+ mShowInline = attachment.mShowInline;
+ mLabel = attachment.mLabel;
+}
+
Attachment::Attachment(const QString& uri, const QString& mime)
{
@@ -28,4 +38,6 @@ Attachment::Attachment(const QString& uri, const QString& mime)
mData = uri;
mBinary = false;
+ mShowInline = false;
+ mLabel = QString::null;
}
@@ -35,7 +47,9 @@ Attachment::Attachment(const char *base64, const QString& mime)
mData = QString::fromUtf8(base64);
mBinary = true;
+ mShowInline = false;
+ mLabel = QString::null;
}
-bool Attachment::isURI() const
+bool Attachment::isUri() const
{
return !mBinary;
@@ -50,5 +64,5 @@ QString Attachment::uri() const
}
-void Attachment::setURI(const QString& uri)
+void Attachment::setUri(const QString& uri)
{
mData = uri;
@@ -85,2 +99,22 @@ void Attachment::setMimeType(const QString& mime)
}
+bool Attachment::showInline() const
+{
+ return mShowInline;
+}
+
+void Attachment::setShowInline( bool showinline )
+{
+ mShowInline = showinline;
+}
+
+QString Attachment::label() const
+{
+ return mLabel;
+}
+
+void Attachment::setLabel( const QString& label )
+{
+ mLabel = label;
+}
+
diff --git a/libkcal/attachment.h b/libkcal/attachment.h
index cdf2458..5301420 100644
--- a/libkcal/attachment.h
+++ b/libkcal/attachment.h
@@ -1,4 +1,5 @@
/*
This file is part of libkcal.
+
Copyright (c) 2002 Michael Brade <brade@kde.org>
@@ -18,49 +19,73 @@
Boston, MA 02111-1307, USA.
*/
+#ifndef KCAL_ATTACHMENT_H
+#define KCAL_ATTACHMENT_H
-#ifndef _ATTACHMENT_H
-#define _ATTACHMENT_H
-#include <qstring.h>
+#include <qstring.h>
namespace KCal {
/**
- * This class represents information related to an attachment.
- */
+ This class represents information related to an attachment.
+*/
class Attachment
{
-public:
+ public:
+
/**
- * Create a Reference to some URI.
- * @param uri the uri this attachment refers to
- * @param mime the mime type of the resource being linked to
- */
- Attachment(const QString& uri, const QString& mime = QString::null);
+ Create a Reference to some URI by copying an existing Attachment.
+
+ @param attachment the attachment to be duplicated
+ */
+ Attachment( const Attachment &attachment );
/**
- * Create a binary attachment.
- * @param base64 the attachment in base64 format
- * @param mime the mime type of the attachment
- */
- Attachment(const char *base64, const QString& mime = QString::null);
-
- /* The VALUE parameter in Cal */
- bool isURI() const;
+ Create a Reference to some URI.
+
+ @param uri the uri this attachment refers to
+ @param mime the mime type of the resource being linked to
+ */
+ Attachment( const QString &uri, const QString &mime = QString::null );
+
+ /**
+ Create a binary attachment.
+
+ @param base64 the attachment in base64 format
+ @param mime the mime type of the attachment
+ */
+ Attachment( const char *base64, const QString &mime = QString::null );
+
+ /* The VALUE parameter in iCal */
+ bool isUri() const;
QString uri() const;
- void setURI(const QString& uri);
+ void setUri( const QString &uri );
bool isBinary() const;
char *data() const;
- void setData(const char *base64);
+ void setData( const char *base64 );
/* The optional FMTTYPE parameter in iCal */
QString mimeType() const;
- void setMimeType(const QString& mime);
-private:
+ void setMimeType( const QString &mime );
+
+ /* The custom X-CONTENT-DISPOSITION parameter, used by OGo etc. */
+ bool showInline() const;
+ void setShowInline( bool showinline );
+
+ /* The custom X-LABEL parameter to show a human-readable title */
+ QString label() const;
+ void setLabel( const QString &label );
+
+ private:
QString mMimeType;
QString mData;
bool mBinary;
+ bool mShowInline;
+ QString mLabel;
+
+ class Private;
+ Private *d;
};
diff --git a/libkcal/icalformatimpl.cpp b/libkcal/icalformatimpl.cpp
index 53aa039..65eabc8 100644
--- a/libkcal/icalformatimpl.cpp
+++ b/libkcal/icalformatimpl.cpp
@@ -515,5 +515,5 @@ icalproperty *ICalFormatImpl::writeAttachment(Attachment *att)
#if 0
icalattachtype* attach = icalattachtype_new();
- if (att->isURI())
+ if (att->isUri())
icalattachtype_set_url(attach, att->uri().utf8().data());
else
@@ -521,5 +521,5 @@ icalproperty *ICalFormatImpl::writeAttachment(Attachment *att)
#endif
icalattach *attach;
- if (att->isURI())
+ if (att->isUri())
attach = icalattach_new_from_url( att->uri().utf8().data());
else
diff --git a/libkcal/incidence.cpp b/libkcal/incidence.cpp
index 549014e..39c14f5 100644
--- a/libkcal/incidence.cpp
+++ b/libkcal/incidence.cpp
@@ -57,8 +57,15 @@ Incidence::Incidence( const Incidence &i ) : IncidenceBase( i )
// Incidence *mRelatedTo; Incidence *mRelatedTo;
mRelatedTo = 0;
- mRelatedToUid = i.mRelatedToUid;
+ mRelatedToUid = i.mRelatedToUid;
// QPtrList<Incidence> mRelations; QPtrList<Incidence> mRelations;
mExDates = i.mExDates;
- mAttachments = i.mAttachments;
+ QPtrListIterator<Attachment> itat( i.mAttachments );
+ Attachment *at;
+ while( (at = itat.current()) ) {
+ Attachment *a = new Attachment( *at );
+ mAttachments.append( a );
+ ++itat;
+ }
+ mAttachments.setAutoDelete( true );
mResources = i.mResources;
mSecrecy = i.mSecrecy;
@@ -758,4 +765,5 @@ Recurrence *Incidence::recurrence()
mRecurrence = new Recurrence(this);
mRecurrence->setRecurStart( dtStart() );
+ mRecurrence->setRecurReadOnly( isReadOnly());
//qDebug("creating new recurence ");
//abort();