summaryrefslogtreecommitdiff
path: root/libopie2/opiepim
authorzecke <zecke>2004-08-06 12:10:04 (UTC)
committer zecke <zecke>2004-08-06 12:10:04 (UTC)
commitcf4207c5c299812e46f40aaee307100f58317a97 (patch) (side-by-side diff)
tree5ddff7987fb9010c2940c3e8b4f68852774c93d6 /libopie2/opiepim
parent20e6c238513eb91f47c3030c2db7ada7cf4b7f25 (diff)
downloadopie-cf4207c5c299812e46f40aaee307100f58317a97.zip
opie-cf4207c5c299812e46f40aaee307100f58317a97.tar.gz
opie-cf4207c5c299812e46f40aaee307100f58317a97.tar.bz2
Update to the on-server move.
We now have core/ with DataTypes, PUBLIC API backend/ for concrete implementation of backends and the 'Interface description' ui/ For UI related classes private/ For private implementation details
Diffstat (limited to 'libopie2/opiepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/backend/backends.pro53
-rw-r--r--libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp2
-rw-r--r--libopie2/opiepim/backend/otodoaccessvcal.cpp2
-rw-r--r--libopie2/opiepim/core/core.pro61
-rw-r--r--libopie2/opiepim/core/ocontactaccess.cpp4
-rw-r--r--libopie2/opiepim/opiepim.pro6
-rw-r--r--libopie2/opiepim/ui/ui.pro4
7 files changed, 74 insertions, 58 deletions
diff --git a/libopie2/opiepim/backend/backends.pro b/libopie2/opiepim/backend/backends.pro
index f91e98a..42d807c 100644
--- a/libopie2/opiepim/backend/backends.pro
+++ b/libopie2/opiepim/backend/backends.pro
@@ -1,44 +1,37 @@
SOURCES += \
- core/backends/ocontactaccessbackend_vcard.cpp \
- core/backends/ocontactaccessbackend_xml.cpp \
- core/backends/ocontactaccess.cpp \
- core/backends/odatebookaccessbackend.cpp \
- core/backends/odatebookaccessbackend_xml.cpp \
- core/backends/otodoaccessbackend.cpp \
- core/backends/otodoaccess.cpp \
- core/backends/otodoaccessvcal.cpp \
- core/backends/otodoaccessxml.cpp \
- core/backends/odatebookaccess.cpp
+ backend/ocontactaccessbackend_vcard.cpp \
+ backend/ocontactaccessbackend_xml.cpp \
+ backend/odatebookaccessbackend.cpp \
+ backend/odatebookaccessbackend_xml.cpp \
+ backend/otodoaccessbackend.cpp \
+ backend/otodoaccessvcal.cpp \
+ backend/otodoaccessxml.cpp
HEADERS += \
- core/backends/obackendfactory.h \
- core/backends/ocontactaccessbackend.h \
- core/backends/ocontactaccessbackend_vcard.h \
- core/backends/ocontactaccessbackend_xml.h \
- core/backends/ocontactaccess.h \
- core/backends/odatebookaccessbackend.h \
- core/backends/odatebookaccessbackend_xml.h \
- core/backends/opimaccessbackend.h \
- core/backends/opimaccesstemplate.h \
- core/backends/otodoaccessbackend.h \
- core/backends/otodoaccess.h \
- core/backends/otodoaccessvcal.h \
- core/backends/otodoaccessxml.h \
- core/backends/odatebookaccess.h
+ backend/obackendfactory.h \
+ backend/ocontactaccessbackend.h \
+ backend/ocontactaccessbackend_vcard.h \
+ backend/ocontactaccessbackend_xml.h \
+ backend/odatebookaccessbackend.h \
+ backend/odatebookaccessbackend_xml.h \
+ backend/opimaccessbackend.h \
+ backend/otodoaccessbackend.h \
+ backend/otodoaccessvcal.h \
+ backend/otodoaccessxml.h
contains( ENABLE_SQL_PIM_BACKEND, y ) {
message ( Enabling the SQL Backend for libopiepim2 )
DEFINES += __USE_SQL
LIBS += -lopiedb2
- HEADERS += core/backends/otodoaccesssql.h \
- core/backends/ocontactaccessbackend_sql.h \
- core/backends/odatebookaccessbackend_sql.h
- SOURCES += core/backends/otodoaccesssql.cpp \
- core/backends/ocontactaccessbackend_sql.cpp \
- core/backends/odatebookaccessbackend_sql.cpp
+ HEADERS += backend/otodoaccesssql.h \
+ backend/ocontactaccessbackend_sql.h \
+ backend/odatebookaccessbackend_sql.h
+ SOURCES += backend/otodoaccesssql.cpp \
+ backend/ocontactaccessbackend_sql.cpp \
+ backend/odatebookaccessbackend_sql.cpp
}
!contains( ENABLE_SQL_PIM_BACKEND, y ) {
message ( No SQL Backend in libopiepim2 )
}
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
index 6b66814..af77a05 100644
--- a/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
+++ b/libopie2/opiepim/backend/ocontactaccessbackend_vcard.cpp
@@ -1,130 +1,130 @@
/*
This file is part of the Opie Project
Copyright (C) The Main Author <main-author@whereever.org>
=. Copyright (C) The Opie Team <opie-devel@handhelds.org>
.=l.
.>+-=
_;:, .> :=|. This program is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. 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
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
/*
* VCard Backend for the OPIE-Contact Database.
*/
-#include "vobject_p.h"
+#include <opie2/private/vobject_p.h>
/* OPIE */
#include <opie2/ocontactaccessbackend_vcard.h>
#include <opie2/odebug.h>
#include <qpe/timeconversion.h>
//FIXME: Hack to allow direct access to FILE* fh. Rewrite this!
#define protected public
#include <qfile.h>
#undef protected
namespace Opie {
OPimContactAccessBackend_VCard::OPimContactAccessBackend_VCard ( const QString& , const QString& filename ):
m_dirty( false ),
m_file( filename )
{
load();
}
bool OPimContactAccessBackend_VCard::load ()
{
m_map.clear();
m_dirty = false;
VObject* obj = 0l;
if ( QFile::exists(m_file) ){
obj = Parse_MIME_FromFileName( QFile::encodeName(m_file).data() );
if ( !obj )
return false;
}else{
odebug << "File \"" << m_file << "\" not found !" << oendl;
return false;
}
while ( obj ) {
OPimContact con = parseVObject( obj );
/*
* if uid is 0 assign a new one
* this at least happens on
* Nokia6210
*/
if ( con.uid() == 0 ){
con.setUid( 1 );
owarn << "assigned new uid " << con.uid() << "" << oendl;
}
m_map.insert( con.uid(), con );
VObject *t = obj;
obj = nextVObjectInList(obj);
cleanVObject( t );
}
return true;
}
bool OPimContactAccessBackend_VCard::reload()
{
return load();
}
bool OPimContactAccessBackend_VCard::save()
{
if (!m_dirty )
return true;
QFile file( m_file );
if (!file.open(IO_WriteOnly ) )
return false;
VObject *obj;
obj = newVObject( VCCalProp );
addPropValue( obj, VCVersionProp, "1.0" );
VObject *vo;
for(QMap<int, OPimContact>::ConstIterator it=m_map.begin(); it !=m_map.end(); ++it ){
vo = createVObject( *it );
writeVObject( file.fh, vo ); //FIXME: HACK!!!
cleanVObject( vo );
}
cleanStrTbl();
deleteVObject( obj );
m_dirty = false;
return true;
}
void OPimContactAccessBackend_VCard::clear ()
{
m_map.clear();
m_dirty = true; // ??? sure ? (se)
}
diff --git a/libopie2/opiepim/backend/otodoaccessvcal.cpp b/libopie2/opiepim/backend/otodoaccessvcal.cpp
index 14a325e..7d58a40 100644
--- a/libopie2/opiepim/backend/otodoaccessvcal.cpp
+++ b/libopie2/opiepim/backend/otodoaccessvcal.cpp
@@ -1,126 +1,126 @@
/*
This file is part of the Opie Project
Copyright (C) Stefan Eilers (Eilers.Stefan@epost.de)
=. Copyright (C) The Opie Team <opie-devel@handhelds.org>
.=l.
.>+-=
_;:, .> :=|. This program is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. 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
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
-#include "vobject_p.h"
+#include <opie2/private/vobject_p.h>
/* OPIE */
#include <opie2/otodoaccessvcal.h>
#include <opie2/odebug.h>
#include <qpe/timeconversion.h>
/* QT */
//FIXME: Hack to allow direct access to FILE* fh. Rewrite this!
#define protected public
#include <qfile.h>
#undef protected
using namespace Opie;
namespace {
static OPimTodo eventByVObj( VObject *obj ){
OPimTodo event;
VObject *ob;
QCString name;
// no uid, attendees, ... and no fun
// description
if( ( ob = isAPropertyOf( obj, VCDescriptionProp )) != 0 ){
name = vObjectStringZValue( ob );
#if 0
event.setDescription( name );
#else
event.setSummary( name );
#endif
}
// summary
if ( ( ob = isAPropertyOf( obj, VCSummaryProp ) ) != 0 ) {
name = vObjectStringZValue( ob );
#if 0
event.setSummary( name );
#else
event.setDescription( name );
#endif
}
// completed
if( ( ob = isAPropertyOf( obj, VCStatusProp )) != 0 ){
name = vObjectStringZValue( ob );
if( name == "COMPLETED" ){
event.setCompleted( true );
}else{
event.setCompleted( false );
}
}else
event.setCompleted( false );
// priority
if ((ob = isAPropertyOf(obj, VCPriorityProp))) {
name = vObjectStringZValue( ob );
bool ok;
event.setPriority(name.toInt(&ok) );
}
//due date
if((ob = isAPropertyOf(obj, VCDueProp)) ){
event.setHasDueDate( true );
name = vObjectStringZValue( ob );
event.setDueDate( TimeConversion::fromISO8601( name).date() );
}
// categories
if((ob = isAPropertyOf( obj, VCCategoriesProp )) != 0 ){
name = vObjectStringZValue( ob );
owarn << "Categories:" << name.data() << "" << oendl;
}
event.setUid( 1 );
return event;
};
static VObject *vobjByEvent( const OPimTodo &event ) {
VObject *task = newVObject( VCTodoProp );
if( task == 0 )
return 0l;
if( event.hasDueDate() ) {
QTime time(0, 0, 0);
QDateTime date(event.dueDate(), time );
addPropValue( task, VCDueProp,
TimeConversion::toISO8601( date ) );
}
if( event.isCompleted() )
addPropValue( task, VCStatusProp, "COMPLETED");
QString string = QString::number(event.priority() );
addPropValue( task, VCPriorityProp, string.local8Bit() );
addPropValue( task, VCCategoriesProp,
event.idsToString( event.categories() ).local8Bit() );
#if 0
// There seems a misrepresentation between summary in otodoevent
// and summary in vcard.
// The same with description..
diff --git a/libopie2/opiepim/core/core.pro b/libopie2/opiepim/core/core.pro
index 597b1e8..b1b5655 100644
--- a/libopie2/opiepim/core/core.pro
+++ b/libopie2/opiepim/core/core.pro
@@ -1,23 +1,48 @@
HEADERS += \
+ core/ocontactaccess.h \
+ core/odatebookaccess.h \
+ core/opimaccessfactory.h \
+ core/opimaccesstemplate.h \
+ core/opimcache.h \
+ core/opimcontactfields.h \
+ core/opimcontact.h \
core/opimdateconversion.h \
- core/opimcache.h \
- core/opimmaintainer.h \
- core/opimresolver.h \
- core/opimstate.h \
- core/opimxref.h \
- core/opimxrefmanager.h \
- core/opimxrefpartner.h \
- core/opimrecurrence.h \
- core/opimtemplatebase.h \
- core/opimtimezone.h
+ core/opimevent.h \
+ core/opimglobal.h \
+ core/opimmaintainer.h \
+ core/opimnotify.h \
+ core/opimnotifymanager.h \
+ core/opimrecord.h \
+ core/opimrecordlist.h \
+ core/opimrecurrence.h \
+ core/opimresolver.h \
+ core/opimstate.h \
+ core/opimtemplatebase.h \
+ core/opimtimezone.h \
+ core/opimtodo.h \
+ core/opimxref.h \
+ core/opimxrefmanager.h \
+ core/opimxrefpartner.h \
+ core/otodoaccess.h
SOURCES += \
+ core/ocontactaccess.cpp \
+ core/odatebookaccess.cpp \
+ core/opimcontactfields.cpp \
+ core/opimcontact.cpp \
core/opimdateconversion.cpp \
- core/opimmaintainer.cpp \
- core/opimresolver.cpp \
- core/opimstate.cpp \
- core/opimxref.cpp \
- core/opimxrefmanager.cpp \
- core/opimxrefpartner.cpp \
- core/opimrecurrence.cpp \
- core/opimtimezone.cpp
+ core/opimevent.cpp \
+ core/opimmaintainer.cpp \
+ core/opimnotify.cpp \
+ core/opimnotifymanager.cpp \
+ core/opimrecord.cpp \
+ core/opimrecurrence.cpp \
+ core/opimresolver.cpp \
+ core/opimstate.cpp \
+ core/opimtimezone.cpp \
+ core/opimtodo.cpp \
+ core/opimxref.cpp \
+ core/opimxrefmanager.cpp \
+ core/opimxrefpartner.cpp \
+ core/otodoaccess.cpp
+
diff --git a/libopie2/opiepim/core/ocontactaccess.cpp b/libopie2/opiepim/core/ocontactaccess.cpp
index 2602493..771d855 100644
--- a/libopie2/opiepim/core/ocontactaccess.cpp
+++ b/libopie2/opiepim/core/ocontactaccess.cpp
@@ -1,133 +1,133 @@
/*
This file is part of the Opie Project
Copyright (C) The Main Author <main-author@whereever.org>
=. Copyright (C) The Opie Team <opie-devel@handhelds.org>
.=l.
.>+-=
_;:, .> :=|. This program is free software; you can
.> <`_, > . <= redistribute it and/or modify it under
:`=1 )Y*s>-.-- : the terms of the GNU Library General Public
.="- .-=="i, .._ License as published by the Free Software
- . .-<_> .<> Foundation; either version 2 of the License,
._= =} : or (at your option) any later version.
.%`+i> _;_.
.i_,=:_. -<s. 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
..}^=.= = ; Library General Public License for more
++= -. .` .: details.
: = ...= . :.=-
-. .:....=;==+<; You should have received a copy of the GNU
-_. . . )=. = Library General Public License along with
-- :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
/*
* =====================================================================
* ToDo: XML-Backend: Automatic reload if something was changed...
*
*
*/
-#include "ocontactaccess.h"
-#include "obackendfactory.h"
+#include <opie2/ocontactaccess.h>
+#include <opie2/obackendfactory.h>
/* OPIE */
#include <opie2/ocontactaccessbackend_xml.h>
#include <opie2/opimresolver.h>
#include <opie2/opimglobal.h>
#include <opie2/odebug.h>
//#include <qpe/qcopenvelope_qws.h>
#include <qpe/global.h>
/* QT */
#include <qasciidict.h>
#include <qdatetime.h>
#include <qfile.h>
#include <qregexp.h>
#include <qlist.h>
#include <qcopchannel_qws.h>
/* STD */
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
namespace Opie {
OPimContactAccess::OPimContactAccess ( const QString appname, const QString ,
OPimContactAccessBackend* end, bool autosync ):
OPimAccessTemplate<OPimContact>( end )
{
/* take care of the backend. If there is no one defined, we
* will use the XML-Backend as default (until we have a cute SQL-Backend..).
*/
if( end == 0 ) {
owarn << "Using BackendFactory !" << oendl;
end = OBackendFactory<OPimContactAccessBackend>::defaultBackend( OPimGlobal::CONTACTLIST, appname );
}
// Set backend locally and in template
m_backEnd = end;
OPimAccessTemplate<OPimContact>::setBackEnd (end);
/* Connect signal of external db change to function */
QCopChannel *dbchannel = new QCopChannel( "QPE/PIM", this );
connect( dbchannel, SIGNAL(received(const QCString&,const QByteArray&)),
this, SLOT(copMessage(const QCString&,const QByteArray&)) );
if ( autosync ){
QCopChannel *syncchannel = new QCopChannel( "QPE/Sync", this );
connect( syncchannel, SIGNAL(received(const QCString&,const QByteArray&)),
this, SLOT(copMessage(const QCString&,const QByteArray&)) );
}
}
OPimContactAccess::~OPimContactAccess ()
{
/* The user may forget to save the changed database, therefore try to
* do it for him..
*/
save();
// delete m_backEnd; is done by template..
}
bool OPimContactAccess::save ()
{
/* If the database was changed externally, we could not save the
* Data. This will remove added items which is unacceptable !
* Therefore: Reload database and merge the data...
*/
if ( OPimAccessTemplate<OPimContact>::wasChangedExternally() )
reload();
bool status = OPimAccessTemplate<OPimContact>::save();
if ( !status ) return false;
/* Now tell everyone that new data is available.
*/
QCopEnvelope e( "QPE/PIM", "addressbookUpdated()" );
return true;
}
const uint OPimContactAccess::querySettings()
{
return ( m_backEnd->querySettings() );
}
bool OPimContactAccess::hasQuerySettings ( int querySettings ) const
{
return ( m_backEnd->hasQuerySettings ( querySettings ) );
}
OPimRecordList<OPimContact> OPimContactAccess::sorted( bool ascending, int sortOrder, int sortFilter, int cat ) const
{
QArray<int> matchingContacts = m_backEnd -> sorted( ascending, sortOrder, sortFilter, cat );
diff --git a/libopie2/opiepim/opiepim.pro b/libopie2/opiepim/opiepim.pro
index 318aecf..af8e63d 100644
--- a/libopie2/opiepim/opiepim.pro
+++ b/libopie2/opiepim/opiepim.pro
@@ -1,27 +1,23 @@
TEMPLATE = lib
CONFIG += qt warn_on
DESTDIR = $(OPIEDIR)/lib
-HEADERS = opimcontact.h opimcontactfields.h opimrecord.h opimtodo.h opimnotify.h \
- opimnotifymanager.h opimevent.h
-SOURCES = opimcontact.cpp opimcontactfields.cpp opimrecord.cpp opimtodo.cpp opimnotify.cpp \
- opimnotifymanager.cpp opimevent.cpp
INTERFACES =
TARGET = opiepim2
VERSION = 1.8.6
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lopiecore2
include ( $(OPIEDIR)/gen.pro )
include ( core/core.pro )
-include ( core/backends/backends.pro )
+include ( backend/backends.pro )
include ( ui/ui.pro )
!contains( platform, x11 ) {
include ( $(OPIEDIR)/include.pro )
}
contains( platform, x11 ) {
LIBS = -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib
}
diff --git a/libopie2/opiepim/ui/ui.pro b/libopie2/opiepim/ui/ui.pro
index 530bd9f..6aa01a7 100644
--- a/libopie2/opiepim/ui/ui.pro
+++ b/libopie2/opiepim/ui/ui.pro
@@ -1,7 +1,9 @@
HEADERS += ui/opimmainwindow.h \
- ui/opimrecurrencewidget.h
+ ui/opimrecurrencewidget.h \
+ ui/todayconfigwidget.h \
+ ui/todayplugininterface.h
SOURCES += ui/opimmainwindow.cpp \
ui/opimrecurrencewidget.cpp
INTERFACES += ui/opimrecurrencebase.ui \ No newline at end of file