summaryrefslogtreecommitdiff
path: root/libopie/pim/ocontactaccess.cpp
Unidiff
Diffstat (limited to 'libopie/pim/ocontactaccess.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/pim/ocontactaccess.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/libopie/pim/ocontactaccess.cpp b/libopie/pim/ocontactaccess.cpp
index 9c9338e..2e3ec1f 100644
--- a/libopie/pim/ocontactaccess.cpp
+++ b/libopie/pim/ocontactaccess.cpp
@@ -12,24 +12,28 @@
12 * Info: This class could just work with a change in the header-file 12 * Info: This class could just work with a change in the header-file
13 * of the Contact class ! Therefore our libopie only compiles 13 * of the Contact class ! Therefore our libopie only compiles
14 * with our version of libqpe 14 * with our version of libqpe
15 * ===================================================================== 15 * =====================================================================
16 * ToDo: XML-Backend: Automatic reload if something was changed... 16 * ToDo: XML-Backend: Automatic reload if something was changed...
17 * 17 *
18 * 18 *
19 * ===================================================================== 19 * =====================================================================
20 * Version: $Id$ 20 * Version: $Id$
21 * ===================================================================== 21 * =====================================================================
22 * History: 22 * History:
23 * $Log$ 23 * $Log$
24 * Revision 1.8 2003/05/08 13:55:09 tille
25 * search stuff
26 * and match, toRichText & toShortText in oevent
27 *
24 * Revision 1.7 2002/11/13 14:14:51 eilers 28 * Revision 1.7 2002/11/13 14:14:51 eilers
25 * Added sorted for Contacts.. 29 * Added sorted for Contacts..
26 * 30 *
27 * Revision 1.6 2002/11/01 15:10:42 eilers 31 * Revision 1.6 2002/11/01 15:10:42 eilers
28 * Added regExp-search in database for all fields in a contact. 32 * Added regExp-search in database for all fields in a contact.
29 * 33 *
30 * Revision 1.5 2002/10/16 10:52:40 eilers 34 * Revision 1.5 2002/10/16 10:52:40 eilers
31 * Added some docu to the interface and now using the cache infrastucture by zecke.. :) 35 * Added some docu to the interface and now using the cache infrastucture by zecke.. :)
32 * 36 *
33 * Revision 1.4 2002/10/14 16:21:54 eilers 37 * Revision 1.4 2002/10/14 16:21:54 eilers
34 * Some minor interface updates 38 * Some minor interface updates
35 * 39 *
@@ -64,35 +68,35 @@
64#include <errno.h> 68#include <errno.h>
65#include <fcntl.h> 69#include <fcntl.h>
66#include <unistd.h> 70#include <unistd.h>
67#include <stdlib.h> 71#include <stdlib.h>
68 72
69#include "ocontactaccessbackend_xml.h" 73#include "ocontactaccessbackend_xml.h"
70 74
71 75
72OContactAccess::OContactAccess ( const QString appname, const QString , 76OContactAccess::OContactAccess ( const QString appname, const QString ,
73 OContactAccessBackend* end, bool autosync ): 77 OContactAccessBackend* end, bool autosync ):
74 OPimAccessTemplate<OContact>( end ) 78 OPimAccessTemplate<OContact>( end )
75{ 79{
76 /* take care of the backend. If there is no one defined, we 80 /* take care of the backend. If there is no one defined, we
77 * will use the XML-Backend as default (until we have a cute SQL-Backend..). 81 * will use the XML-Backend as default (until we have a cute SQL-Backend..).
78 */ 82 */
79 if( end == 0 ) { 83 if( end == 0 ) {
80 qWarning ("Using BackendFactory !"); 84 qWarning ("Using BackendFactory !");
81 end = OBackendFactory<OContactAccessBackend>::Default( "contact", appname ); 85 end = OBackendFactory<OContactAccessBackend>::Default( "contact", appname );
82 } 86 }
83 // Set backend locally and in template 87 // Set backend locally and in template
84 m_backEnd = end; 88 m_backEnd = end;
85 OPimAccessTemplate<OContact>::setBackEnd (end); 89 OPimAccessTemplate<OContact>::setBackEnd (end);
86 90
87 91
88 /* Connect signal of external db change to function */ 92 /* Connect signal of external db change to function */
89 QCopChannel *dbchannel = new QCopChannel( "QPE/PIM", this ); 93 QCopChannel *dbchannel = new QCopChannel( "QPE/PIM", this );
90 connect( dbchannel, SIGNAL(received(const QCString &, const QByteArray &)), 94 connect( dbchannel, SIGNAL(received(const QCString &, const QByteArray &)),
91 this, SLOT(copMessage( const QCString &, const QByteArray &)) ); 95 this, SLOT(copMessage( const QCString &, const QByteArray &)) );
92 if ( autosync ){ 96 if ( autosync ){
93 QCopChannel *syncchannel = new QCopChannel( "QPE/Sync", this ); 97 QCopChannel *syncchannel = new QCopChannel( "QPE/Sync", this );
94 connect( syncchannel, SIGNAL(received(const QCString &, const QByteArray &)), 98 connect( syncchannel, SIGNAL(received(const QCString &, const QByteArray &)),
95 this, SLOT(copMessage( const QCString &, const QByteArray &)) ); 99 this, SLOT(copMessage( const QCString &, const QByteArray &)) );
96 } 100 }
97 101
98 102
@@ -117,29 +121,24 @@ bool OContactAccess::save ()
117 reload(); 121 reload();
118 122
119 bool status = OPimAccessTemplate<OContact>::save(); 123 bool status = OPimAccessTemplate<OContact>::save();
120 if ( !status ) return false; 124 if ( !status ) return false;
121 125
122 /* Now tell everyone that new data is available. 126 /* Now tell everyone that new data is available.
123 */ 127 */
124 QCopEnvelope e( "QPE/PIM", "addressbookUpdated()" ); 128 QCopEnvelope e( "QPE/PIM", "addressbookUpdated()" );
125 129
126 return true; 130 return true;
127} 131}
128 132
129ORecordList<OContact> OContactAccess::matchRegexp( const QRegExp &r ) const{
130 QArray<int> matchingContacts = m_backEnd -> matchRegexp( r );
131 return ( ORecordList<OContact>(matchingContacts, this) );
132}
133
134const uint OContactAccess::querySettings() 133const uint OContactAccess::querySettings()
135{ 134{
136 return ( m_backEnd->querySettings() ); 135 return ( m_backEnd->querySettings() );
137} 136}
138 137
139bool OContactAccess::hasQuerySettings ( int querySettings ) const 138bool OContactAccess::hasQuerySettings ( int querySettings ) const
140{ 139{
141 return ( m_backEnd->hasQuerySettings ( querySettings ) ); 140 return ( m_backEnd->hasQuerySettings ( querySettings ) );
142} 141}
143ORecordList<OContact> OContactAccess::sorted( bool ascending, int sortOrder, int sortFilter, int cat ) const 142ORecordList<OContact> OContactAccess::sorted( bool ascending, int sortOrder, int sortFilter, int cat ) const
144{ 143{
145 QArray<int> matchingContacts = m_backEnd -> sorted( ascending, sortOrder, sortFilter, cat ); 144 QArray<int> matchingContacts = m_backEnd -> sorted( ascending, sortOrder, sortFilter, cat );