summaryrefslogtreecommitdiff
path: root/libopie2/opiepim
Side-by-side diff
Diffstat (limited to 'libopie2/opiepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/otodoaccessxml.cpp23
-rw-r--r--libopie2/opiepim/core/opimrecord.cpp6
-rw-r--r--libopie2/opiepim/core/opimrecord.h8
-rw-r--r--libopie2/opiepim/ocontact.cpp10
-rw-r--r--libopie2/opiepim/oevent.cpp11
-rw-r--r--libopie2/opiepim/oevent.h1
-rw-r--r--libopie2/opiepim/otodo.cpp13
-rw-r--r--libopie2/opiepim/otodo.h1
8 files changed, 47 insertions, 26 deletions
diff --git a/libopie2/opiepim/backend/otodoaccessxml.cpp b/libopie2/opiepim/backend/otodoaccessxml.cpp
index 2b62f0d..3d15354 100644
--- a/libopie2/opiepim/backend/otodoaccessxml.cpp
+++ b/libopie2/opiepim/backend/otodoaccessxml.cpp
@@ -492,19 +492,41 @@ void OTodoAccessXML::todo( QAsciiDict<int>* dict, OTodo& ev,
case FRHasEndDate:
recur()->setHasEndDate( val.toInt() );
break;
case FREndDate: {
rp_end = (time_t) val.toLong();
break;
}
default:
+ ev.setCustomField( attr, val );
break;
}
}
+
+// from PalmtopRecord... GPL ### FIXME
+namespace {
+QString customToXml(const QMap<QString, QString>& customMap )
+{
+ //qWarning(QString("writing custom %1").arg(customMap.count()));
+ QString buf(" ");
+ for ( QMap<QString, QString>::ConstIterator cit = customMap.begin();
+ cit != customMap.end(); ++cit) {
+// qWarning(".ITEM.");
+ buf += cit.key();
+ buf += "=\"";
+ buf += Qtopia::escapeString(cit.data());
+ buf += "\" ";
+ }
+ return buf;
+}
+
+
+}
+
QString OTodoAccessXML::toString( const OTodo& ev )const {
QString str;
str += "Completed=\"" + QString::number( ev.isCompleted() ) + "\" ";
str += "HasDate=\"" + QString::number( ev.hasDueDate() ) + "\" ";
str += "Priority=\"" + QString::number( ev.priority() ) + "\" ";
str += "Progress=\"" + QString::number(ev.progress() ) + "\" ";
@@ -576,16 +598,17 @@ QString OTodoAccessXML::toString( const OTodo& ev )const {
OPimNotifyManager::Reminders::Iterator it = reminders.begin();
QStringList records;
for ( ; it != reminders.end(); ++it ) {
records << QString::number( (*it).recordUid() );
}
str += "Reminders=\""+ records.join(";") +"\" ";
}
}
+ str += customToXml( ev.toExtraMap() );
return str;
}
QString OTodoAccessXML::toString( const QArray<int>& ints ) const {
return Qtopia::Record::idsToString( ints );
}
diff --git a/libopie2/opiepim/core/opimrecord.cpp b/libopie2/opiepim/core/opimrecord.cpp
index 0c9734d..2365748 100644
--- a/libopie2/opiepim/core/opimrecord.cpp
+++ b/libopie2/opiepim/core/opimrecord.cpp
@@ -169,8 +169,14 @@ OPimXRefPartner OPimRecord::partner( QDataStream& stream ) {
return par;
}
void OPimRecord::setLastHitField( int lastHit )const {
m_lastHit = lastHit;
}
int OPimRecord::lastHitField()const{
return m_lastHit;
}
+QMap<QString, QString> OPimRecord::toExtraMap()const {
+ return customMap;
+}
+void OPimRecord::setExtraMap( const QMap<QString, QString>& map) {
+ customMap = map;
+}
diff --git a/libopie2/opiepim/core/opimrecord.h b/libopie2/opiepim/core/opimrecord.h
index 494c78e..563b19c 100644
--- a/libopie2/opiepim/core/opimrecord.h
+++ b/libopie2/opiepim/core/opimrecord.h
@@ -1,17 +1,22 @@
#ifndef OPIE_PIM_RECORD_H
#define OPIE_PIM_RECORD_H
#include <qdatastream.h>
#include <qmap.h>
#include <qstring.h>
#include <qstringlist.h>
+/*
+ * we need to get customMap which is private...
+ */
+#define private protected
#include <qpe/palmtoprecord.h>
+#undef private
#include <opie/opimxrefmanager.h>
/**
* This is the base class for
* all PIM Records
*
*/
@@ -89,17 +94,18 @@ public:
/**
* converts the internal structure to a map
*/
virtual QMap<int, QString> toMap()const = 0;
/**
* key value representation of extra items
*/
- virtual QMap<QString, QString> toExtraMap()const = 0;
+ QMap<QString, QString> toExtraMap()const;
+ void setExtraMap( const QMap<QString, QString>& );
/**
* the name for a recordField
*/
virtual QString recordField(int)const = 0;
/**
* returns a reference of the
diff --git a/libopie2/opiepim/ocontact.cpp b/libopie2/opiepim/ocontact.cpp
index a2fb68c..be4ce0a 100644
--- a/libopie2/opiepim/ocontact.cpp
+++ b/libopie2/opiepim/ocontact.cpp
@@ -436,17 +436,17 @@ QString OContact::toRichText() const
QString text;
QString value, comp, state;
QString str;
bool marker = false;
// name, jobtitle and company
if ( !(value = fullName()).isEmpty() )
text += "<b><h3><img src=\"addressbook/AddressBook\">" + Qtopia::escapeString(value) + "</h3></b>";
-
+
if ( !(value = jobTitle()).isEmpty() )
text += Qtopia::escapeString(value) + "<br>";
comp = company();
if ( !(value = department()).isEmpty() ) {
text += Qtopia::escapeString(value);
if ( comp )
text += ", ";
@@ -977,23 +977,17 @@ QString OContact::toShortText() const
{
return ( fullName() );
}
QString OContact::type() const
{
return QString::fromLatin1( "OContact" );
}
-// Definition is missing ! (se)
-QMap<QString,QString> OContact::toExtraMap() const
-{
- qWarning ("Function not implemented: OContact::toExtraMap()");
- QMap <QString,QString> useless;
- return useless;
-}
+
class QString OContact::recordField( int pos ) const
{
QStringList SLFIELDS = fields(); // ?? why this ? (se)
return SLFIELDS[pos];
}
// In future releases, we should store birthday and anniversary
diff --git a/libopie2/opiepim/oevent.cpp b/libopie2/opiepim/oevent.cpp
index e4f5d92..7bcf944 100644
--- a/libopie2/opiepim/oevent.cpp
+++ b/libopie2/opiepim/oevent.cpp
@@ -231,24 +231,24 @@ bool OEvent::match( const QRegExp& re )const {
if ( re.match( data->end.toString() ) != -1 ){
setLastHitField( Qtopia::EndDateTime );
return true;
}
return false;
}
QString OEvent::toRichText()const {
QString text, value;
-
+
// description
text += "<b><h3><img src=\"datebook/DateBook\">";
if ( !description().isEmpty() ) {
text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "" );
}
text += "</h3></b><br><hr><br>";
-
+
// location
if ( !(value = location()).isEmpty() ) {
text += "<b>" + QObject::tr( "Location:" ) + "</b> ";
text += Qtopia::escapeString(value) + "<br>";
}
// all day event
if ( isAllDay() ) {
@@ -269,24 +269,24 @@ QString OEvent::toRichText()const {
// end time
if ( endDateTime().isValid() ) {
text += "<b>" + QObject::tr( "End:") + "</b> ";
text += Qtopia::escapeString(endDateTime().toString() ).
replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
}
}
-
+
// categories
if ( categoryNames("Calendar").count() ){
text += "<b>" + QObject::tr( "Category:") + "</b> ";
text += categoryNames("Calendar").join(", ");
text += "<br>";
}
-
+
//notes
if ( !note().isEmpty() ) {
text += "<b>" + QObject::tr( "Note:") + "</b><br>";
text += note();
// text += Qtopia::escapeString(note() ).
// replace(QRegExp( "[\n]"), "<br>" ) + "<br>";
}
return text;
@@ -355,19 +355,16 @@ void OEvent::deref() {
delete data;
data = 0;
}
}
// FIXME
QMap<int, QString> OEvent::toMap()const {
return QMap<int, QString>();
}
-QMap<QString, QString> OEvent::toExtraMap()const {
- return QMap<QString, QString>();
-}
int OEvent::parent()const {
return data->parent;
}
void OEvent::setParent( int uid ) {
changeOrModify();
data->parent = uid;
}
QArray<int> OEvent::children() const{
diff --git a/libopie2/opiepim/oevent.h b/libopie2/opiepim/oevent.h
index b696d81..30f442e 100644
--- a/libopie2/opiepim/oevent.h
+++ b/libopie2/opiepim/oevent.h
@@ -127,17 +127,16 @@ public:
/* needed reimp */
QString toRichText()const;
QString toShortText()const;
QString type()const;
QMap<int, QString> toMap()const;
- QMap<QString, QString> toExtraMap()const;
QString recordField(int )const;
static int rtti();
bool loadFromStream( QDataStream& );
bool saveToStream( QDataStream& )const;
/* bool operator==( const OEvent& );
diff --git a/libopie2/opiepim/otodo.cpp b/libopie2/opiepim/otodo.cpp
index c84eeeb..38b93f7 100644
--- a/libopie2/opiepim/otodo.cpp
+++ b/libopie2/opiepim/otodo.cpp
@@ -274,17 +274,17 @@ QString OTodo::toRichText() const
QStringList catlist;
// summary
text += "<b><h3><img src=\"todo/TodoList\">";
if ( !summary().isEmpty() ) {
text += Qtopia::escapeString(summary() ).replace(QRegExp( "[\n]"), "" );
}
text += "</h3></b><br><hr><br>";
-
+
// description
if( !description().isEmpty() ){
text += "<b>" + QObject::tr( "Description:" ) + "</b><br>";
text += Qtopia::escapeString(description() ).replace(QRegExp( "[\n]"), "<br>" ) ;
}
// priority
int priorityval = priority();
@@ -301,37 +301,37 @@ QString OTodo::toRichText() const
case 3 : text += QObject::tr( "Normal" );
break;
case 4 : text += QObject::tr( "Low" );
break;
case 5 : text += QObject::tr( "Very low" );
break;
};
text += "<br>";
-
+
// progress
text += "<b>" + QObject::tr( "Progress:") + " </b>"
+ QString::number( progress() ) + " %<br>";
-
+
// due date
if (hasDueDate() ){
QDate dd = dueDate();
int off = QDate::currentDate().daysTo( dd );
-
+
text += "<b>" + QObject::tr( "Deadline:" ) + " </b><font color=\"";
if ( off < 0 )
text += "#FF0000";
else if ( off == 0 )
text += "#FFFF00";
else if ( off > 0 )
text += "#00FF00";
text += "\">" + dd.toString() + "</font><br>";
}
-
+
// categories
text += "<b>" + QObject::tr( "Category:") + "</b> ";
text += categoryNames( "Todo List" ).join(", ");
text += "<br>";
return text;
}
bool OTodo::hasNotifiers()const {
@@ -455,19 +455,16 @@ QMap<int, QString> OTodo::toMap() const {
/* FIXME!!! map.insert( State, );
map.insert( Recurrence, );
map.insert( Reminders, );
map.
*/
return map;
}
-QMap<QString, QString> OTodo::toExtraMap()const {
- return data->extra;
-}
/**
* change or modify looks at the ref count and either
* creates a new QShared Object or it can modify it
* right in place
*/
void OTodo::changeOrModify() {
if ( data->count != 1 ) {
qWarning("changeOrModify");
diff --git a/libopie2/opiepim/otodo.h b/libopie2/opiepim/otodo.h
index 4d5ee36..f9a345a 100644
--- a/libopie2/opiepim/otodo.h
+++ b/libopie2/opiepim/otodo.h
@@ -188,17 +188,16 @@ public:
*/
const OPimNotifyManager &notifiers()const;
/**
* reimplementations
*/
QString type()const;
QString toShortText()const;
- QMap<QString, QString> toExtraMap()const;
QString recordField(int id )const;
/**
* toMap puts all data into the map. int relates
* to ToDoEvent RecordFields enum
*/
QMap<int, QString> toMap()const;