summaryrefslogtreecommitdiffabout
path: root/kabc/plugins/qtopia/qtopiaconverter.h
Side-by-side diff
Diffstat (limited to 'kabc/plugins/qtopia/qtopiaconverter.h') (more/less context) (ignore whitespace changes)
-rw-r--r--kabc/plugins/qtopia/qtopiaconverter.h66
1 files changed, 59 insertions, 7 deletions
diff --git a/kabc/plugins/qtopia/qtopiaconverter.h b/kabc/plugins/qtopia/qtopiaconverter.h
index 012a6e2..d318ded 100644
--- a/kabc/plugins/qtopia/qtopiaconverter.h
+++ b/kabc/plugins/qtopia/qtopiaconverter.h
@@ -21,60 +21,112 @@
/*
Enhanced Version of the file for platform independent KDE tools.
Copyright (c) 2004 Ulf Schenk
$Id$
*/
#ifndef KABC_QTOPIACONVERTER_H
#define KABC_QTOPIACONVERTER_H
#include <qstring.h>
#include "addressee.h"
-#include <qpe/pim/contact.h>
-#include <qpe/quuid.h>
+//#include <qpe/pim/contact.h>
+//#include <qpe/quuid.h>
+#include <xml/qdom.h>
class Categories;
namespace KABC {
+
+
+class OpieCategories {
+ public:
+ //friend class KSync::OpieSocket;
+ friend bool operator== ( const OpieCategories &a, const OpieCategories &b );
+ OpieCategories();
+ OpieCategories(const QString &id, const QString &name, const QString &app );
+ OpieCategories(const OpieCategories & );
+ ~OpieCategories() {};
+ OpieCategories &operator=(const OpieCategories & );
+ QString id()const;
+ QString name()const;
+ QString app()const;
+
+ private:
+ QString m_name;
+ QString m_app;
+ QString m_id;
+};
+
+
+ class CategoryEdit {
+ public:
+ CategoryEdit();
+ CategoryEdit(const QString &fileName);
+ ~CategoryEdit();
+
+ void save(const QString&) const;
+ int addCategory( const QString &name, int id = 0 );
+ int addCategory(const QString &appName, const QString &name, int id = 0);
+ void parse( const QString &fileName );
+
+ QString categoryById(const QString &id, const QString &app )const;
+ QStringList categoriesByIds( const QStringList& ids, const QString& app );
+
+ void clear();
+ QValueList<OpieCategories> categories()const { return m_categories; };
+ private:
+ /**
+ * this function will be used internally to update the kde categories...
+ */
+ void updateKDE( const QString& app, const QStringList& categories );
+ QMap<int, bool> ids; // from tt Qtopia::UidGen
+ QValueList<OpieCategories> m_categories;
+ };
+
+
class QtopiaConverter
{
public:
/**
* Constructor.
*/
QtopiaConverter();
/**
* Destructor.
*/
virtual ~QtopiaConverter();
bool init();
void deinit();
/**
* Converts a vcard string to an addressee.
*
* @param contact The qtopia contact.
* @param addr The addressee.
*/
- bool qtopiaToAddressee( const PimContact &contact, Addressee &addr );
-
+ bool qtopiaToAddressee( const QDomElement& el, Addressee &adr );
/**
* Converts an addressee to a vcard string.
*
* @param addr The addressee.
* @param contact The qtopia contact.
*/
- bool addresseeToQtopia( const Addressee &addr, PimContact &contact );
+ bool addresseeToQtopia( const Addressee &ab, QTextStream *stream );
private:
- Categories* catDB;
+ QString categoriesToNumber( const QStringList &list, const QString &app );
+ QString escape( const QString& s){ return s;};
+ CategoryEdit *m_edit;
+ QDate fromString( const QString& );
+ QDate dateFromString( const QString& );
+ QString dateToString( const QDate& );
};
-
}
#endif