-rw-r--r-- | libopie2/opiepim/core/ocontactaccess.cpp | 9 | ||||
-rw-r--r-- | libopie2/opiepim/core/ocontactaccess.h | 15 | ||||
-rw-r--r-- | libopie2/opiepim/core/opimaccesstemplate.h | 43 |
3 files changed, 34 insertions, 33 deletions
diff --git a/libopie2/opiepim/core/ocontactaccess.cpp b/libopie2/opiepim/core/ocontactaccess.cpp index 9bbc820..9d18d47 100644 --- a/libopie2/opiepim/core/ocontactaccess.cpp +++ b/libopie2/opiepim/core/ocontactaccess.cpp | |||
@@ -109,33 +109,24 @@ bool OPimContactAccess::save () | |||
109 | reload(); | 109 | reload(); |
110 | 110 | ||
111 | bool status = OPimAccessTemplate<OPimContact>::save(); | 111 | bool status = OPimAccessTemplate<OPimContact>::save(); |
112 | if ( !status ) return false; | 112 | if ( !status ) return false; |
113 | 113 | ||
114 | /* Now tell everyone that new data is available. | 114 | /* Now tell everyone that new data is available. |
115 | */ | 115 | */ |
116 | QCopEnvelope e( "QPE/PIM", "addressbookUpdated()" ); | 116 | QCopEnvelope e( "QPE/PIM", "addressbookUpdated()" ); |
117 | 117 | ||
118 | return true; | 118 | return true; |
119 | } | 119 | } |
120 | 120 | ||
121 | const uint OPimContactAccess::querySettings() | ||
122 | { | ||
123 | return ( m_backEnd->querySettings() ); | ||
124 | } | ||
125 | |||
126 | bool OPimContactAccess::hasQuerySettings ( int querySettings ) const | ||
127 | { | ||
128 | return ( m_backEnd->hasQuerySettings ( querySettings ) ); | ||
129 | } | ||
130 | 121 | ||
131 | #if 0 | 122 | #if 0 |
132 | OPimRecordList<OPimContact> OPimContactAccess::sorted( bool ascending, int sortOrder, int sortFilter, int cat ) const | 123 | OPimRecordList<OPimContact> OPimContactAccess::sorted( bool ascending, int sortOrder, int sortFilter, int cat ) const |
133 | { | 124 | { |
134 | QArray<int> matchingContacts = m_backEnd -> sorted( ascending, sortOrder, sortFilter, cat ); | 125 | QArray<int> matchingContacts = m_backEnd -> sorted( ascending, sortOrder, sortFilter, cat ); |
135 | return ( OPimRecordList<OPimContact>(matchingContacts, this) ); | 126 | return ( OPimRecordList<OPimContact>(matchingContacts, this) ); |
136 | } | 127 | } |
137 | #endif | 128 | #endif |
138 | 129 | ||
139 | 130 | ||
140 | bool OPimContactAccess::wasChangedExternally()const | 131 | bool OPimContactAccess::wasChangedExternally()const |
141 | { | 132 | { |
diff --git a/libopie2/opiepim/core/ocontactaccess.h b/libopie2/opiepim/core/ocontactaccess.h index 5051321..9a2ecaf 100644 --- a/libopie2/opiepim/core/ocontactaccess.h +++ b/libopie2/opiepim/core/ocontactaccess.h | |||
@@ -107,39 +107,24 @@ class OPimContactAccess: public QObject, public OPimAccessTemplate<OPimContact> | |||
107 | * the default backend. | 107 | * the default backend. |
108 | * @param handlesync If <b>true</b> the database stores the current state | 108 | * @param handlesync If <b>true</b> the database stores the current state |
109 | * automatically if it receives the signals <i>flush()</i> and <i>reload()</i> | 109 | * automatically if it receives the signals <i>flush()</i> and <i>reload()</i> |
110 | * which are used before and after synchronisation. If the application wants | 110 | * which are used before and after synchronisation. If the application wants |
111 | * to react itself, it should be disabled by setting it to <b>false</b> | 111 | * to react itself, it should be disabled by setting it to <b>false</b> |
112 | * @see OPimContactAccessBackend | 112 | * @see OPimContactAccessBackend |
113 | */ | 113 | */ |
114 | OPimContactAccess (const QString appname, const QString filename = 0l, | 114 | OPimContactAccess (const QString appname, const QString filename = 0l, |
115 | OPimContactAccessBackend* backend = 0l, bool handlesync = true); | 115 | OPimContactAccessBackend* backend = 0l, bool handlesync = true); |
116 | ~OPimContactAccess (); | 116 | ~OPimContactAccess (); |
117 | 117 | ||
118 | 118 | ||
119 | /** | ||
120 | * Return all possible settings for queryByExample(). | ||
121 | * @return All settings provided by the current backend | ||
122 | * (i.e.: WildCards & IgnoreCase) | ||
123 | * @see QuerySettings in OPimBase for details of the parameter, queryByExample() | ||
124 | */ | ||
125 | const uint querySettings(); | ||
126 | |||
127 | /** | ||
128 | * Check whether settings are correct for queryByExample(). | ||
129 | * @return <i>true</i> if the given settings are correct and possible. | ||
130 | * @see QuerySettings in OPimBase for details of the parameter | ||
131 | */ | ||
132 | bool hasQuerySettings ( int querySettings ) const; | ||
133 | |||
134 | /** | 119 | /** |
135 | * if the resource was changed externally. | 120 | * if the resource was changed externally. |
136 | * You should use the signal instead of polling possible changes ! | 121 | * You should use the signal instead of polling possible changes ! |
137 | */ | 122 | */ |
138 | bool wasChangedExternally()const; | 123 | bool wasChangedExternally()const; |
139 | 124 | ||
140 | 125 | ||
141 | /** Save contacts database. | 126 | /** Save contacts database. |
142 | * Save is more a "commit". After calling this function, all changes are public available. | 127 | * Save is more a "commit". After calling this function, all changes are public available. |
143 | * @return true if successful | 128 | * @return true if successful |
144 | */ | 129 | */ |
145 | bool save(); | 130 | bool save(); |
diff --git a/libopie2/opiepim/core/opimaccesstemplate.h b/libopie2/opiepim/core/opimaccesstemplate.h index 3875f09..823f03d 100644 --- a/libopie2/opiepim/core/opimaccesstemplate.h +++ b/libopie2/opiepim/core/opimaccesstemplate.h | |||
@@ -78,63 +78,78 @@ public: | |||
78 | virtual bool reload(); | 78 | virtual bool reload(); |
79 | bool save(); | 79 | bool save(); |
80 | void clear() ; | 80 | void clear() ; |
81 | //@} | 81 | //@} |
82 | 82 | ||
83 | 83 | ||
84 | bool wasChangedExternally()const; | 84 | bool wasChangedExternally()const; |
85 | 85 | ||
86 | //@{ | 86 | //@{ |
87 | virtual List allRecords()const; | 87 | virtual List allRecords()const; |
88 | virtual List matchRegexp( const QRegExp &r ) const; | 88 | virtual List matchRegexp( const QRegExp &r ) const; |
89 | 89 | ||
90 | /** | ||
91 | * Return all possible settings for queryByExample(). | ||
92 | * @return All settings provided by the current backend | ||
93 | * (i.e.: WildCards & IgnoreCase) | ||
94 | * @see QuerySettings in OPimBase for details of the parameter, queryByExample() | ||
95 | */ | ||
96 | const uint querySettings(); | ||
97 | |||
98 | /** | ||
99 | * Check whether settings are correct for queryByExample(). | ||
100 | * @return <i>true</i> if the given settings are correct and possible. | ||
101 | * @see QuerySettings in OPimBase for details of the parameter | ||
102 | */ | ||
103 | bool hasQuerySettings ( int querySettings ) const; | ||
104 | |||
90 | /** | 105 | /** |
91 | * Query by example search interface. | 106 | * Query by example search interface. |
92 | * "Query by Example" provides a very powerful search engine. Use the query object | 107 | * "Query by Example" provides a very powerful search engine. Use the query object |
93 | * (this may be a contact, a todo or databook event) | 108 | * (this may be a contact, a todo or databook event) |
94 | * as a search mask which is converted into a query regarding the querySettings. If a time period is needed | 109 | * as a search mask which is converted into a query regarding the querySettings. If a time period is needed |
95 | * (as for OpimBase::DateDiff), you have to use the date/time in the query object and the endperiod (the last parameter). | 110 | * (as for OpimBase::DateDiff), you have to use the date/time in the query object and the startperiod (the last parameter). |
96 | * @see QuerySettings in class OPimBase | 111 | * @see QuerySettings in class OPimBase |
97 | * @param query The object which contains the query set | 112 | * @param query The object which contains the query set |
98 | * @param querySettings This parameter defines what should be searched and how the query should be interpreted | 113 | * @param querySettings This parameter defines what should be searched and how the query should be interpreted |
99 | * @param endperiod Defines the end of a period for some special queries. | 114 | * @param startperiod Defines the start of a period for some special queries. |
100 | */ | 115 | */ |
101 | virtual List queryByExample( const T& query, int querySettings, const QDateTime& endperiod = QDateTime() ); | 116 | virtual List queryByExample( const T& query, int querySettings, const QDateTime& startperiod = QDateTime() ); |
102 | 117 | ||
103 | /** | 118 | /** |
104 | * Generic query by example search interface. This is a special version which handles generic OPimRecord types. They are converted | 119 | * Generic query by example search interface. This is a special version which handles generic OPimRecord types. They are converted |
105 | * automatically into the right datatype. | 120 | * automatically into the right datatype. |
106 | * "Query by Example" provides a very powerful search engine. Use the query object (this may be a contact, a todo or databook event) | 121 | * "Query by Example" provides a very powerful search engine. Use the query object (this may be a contact, a todo or databook event) |
107 | * as a search mask which is converted into a query regarding the querySettings. If a time period is needed | 122 | * as a search mask which is converted into a query regarding the querySettings. If a time period is needed |
108 | * (as for OpimBase::DateDiff), you have to use the date/time in the query object and the endperiod (the last parameter). | 123 | * (as for OpimBase::DateDiff), you have to use the date/time in the query object and the startperiod (the last parameter). |
109 | * @see QuerySettings in class OPimBase | 124 | * @see QuerySettings in class OPimBase |
110 | * @param query The object which contains the query set | 125 | * @param query The object which contains the query set |
111 | * @param querySettings This parameter defines what should be searched and how the query should be interpreted | 126 | * @param querySettings This parameter defines what should be searched and how the query should be interpreted |
112 | * @param endperiod Defines the end of a period for some special queries. | 127 | * @param startperiod Defines the start of a period for some special queries. |
113 | */ | 128 | */ |
114 | virtual List queryByExample( const OPimRecord* query, int querySettings, const QDateTime& endperiod = QDateTime() ); | 129 | virtual List queryByExample( const OPimRecord* query, int querySettings, const QDateTime& startperiod = QDateTime() ); |
115 | /** | 130 | /** |
116 | * Incremental query by example search interface. Providing incremental search, this one provides the feature | 131 | * Incremental query by example search interface. Providing incremental search, this one provides the feature |
117 | * to search in a list of records which may be returned by an other search. | 132 | * to search in a list of records which may be returned by an other search. |
118 | * "Query by Example" provides a very powerful search engine. Use the query object (this may be a contact, a todo or databook event) | 133 | * "Query by Example" provides a very powerful search engine. Use the query object (this may be a contact, a todo or databook event) |
119 | * as a search mask which is converted into a query regarding the querySettings. If a time period is needed | 134 | * as a search mask which is converted into a query regarding the querySettings. If a time period is needed |
120 | * (as for OpimBase::DateDiff), you have to use the date/time in the query object and the endperiod (the last parameter). | 135 | * (as for OpimBase::DateDiff), you have to use the date/time in the query object and the startperiod (the last parameter). |
121 | * @see QuerySettings in class OPimBase | 136 | * @see QuerySettings in class OPimBase |
122 | * @param uidlist List of uid's which should be incorporated into the next search | 137 | * @param uidlist List of uid's which should be incorporated into the next search |
123 | * @param query The object which contains the query set | 138 | * @param query The object which contains the query set |
124 | * @param querySettings This parameter defines what should be searched and how the query should be interpreted | 139 | * @param querySettings This parameter defines what should be searched and how the query should be interpreted |
125 | * @param endperiod Defines the end of a period for some special queries. | 140 | * @param startperiod Defines the start of a period for some special queries. |
126 | */ | 141 | */ |
127 | virtual List queryByExample( const OPimAccessTemplate::List& uidlist, const T& query, int querySettings, | 142 | virtual List queryByExample( const OPimAccessTemplate::List& uidlist, const T& query, int querySettings, |
128 | const QDateTime& endperiod = QDateTime() ); | 143 | const QDateTime& startperiod = QDateTime() ); |
129 | 144 | ||
130 | virtual T find( UID uid )const; | 145 | virtual T find( UID uid )const; |
131 | virtual T find( UID uid, const QArray<int>&, | 146 | virtual T find( UID uid, const QArray<int>&, |
132 | uint current, typename OTemplateBase<T>::CacheDirection dir = OTemplateBase<T>::Forward )const; | 147 | uint current, typename OTemplateBase<T>::CacheDirection dir = OTemplateBase<T>::Forward )const; |
133 | //@} | 148 | //@} |
134 | 149 | ||
135 | /** | 150 | /** |
136 | * Get sorted lists.. | 151 | * Get sorted lists.. |
137 | * @see OPimContactAccess, OPimTodoAccess and ODateBookAccess regarding more info for the following params: | 152 | * @see OPimContactAccess, OPimTodoAccess and ODateBookAccess regarding more info for the following params: |
138 | * @param list of UID's received by allRecords() or others... | 153 | * @param list of UID's received by allRecords() or others... |
139 | * @param sortOrder Setting the sort order defined by enum SortOrder | 154 | * @param sortOrder Setting the sort order defined by enum SortOrder |
140 | * @param ascending Sort in ascending order if true, otherwise descending | 155 | * @param ascending Sort in ascending order if true, otherwise descending |
@@ -299,24 +314,34 @@ typename OPimAccessTemplate<T>::List OPimAccessTemplate<T>::matchRegexp( const Q | |||
299 | List lis(ints, this ); | 314 | List lis(ints, this ); |
300 | return lis; | 315 | return lis; |
301 | } | 316 | } |
302 | 317 | ||
303 | /** | 318 | /** |
304 | * find the OPimRecord uid | 319 | * find the OPimRecord uid |
305 | */ | 320 | */ |
306 | template <class T> | 321 | template <class T> |
307 | QArray<int> OPimAccessTemplate<T>::records()const { | 322 | QArray<int> OPimAccessTemplate<T>::records()const { |
308 | return m_backEnd->allRecords(); | 323 | return m_backEnd->allRecords(); |
309 | } | 324 | } |
310 | 325 | ||
326 | template <class T> | ||
327 | const uint OPimAccessTemplate<T>::querySettings(){ | ||
328 | return m_backEnd->querySettings(); | ||
329 | } | ||
330 | |||
331 | template <class T> | ||
332 | bool OPimAccessTemplate<T>::hasQuerySettings ( int querySettings ) const { | ||
333 | return m_backEnd->hasQuerySettings( querySettings ); | ||
334 | } | ||
335 | |||
311 | 336 | ||
312 | template <class T> | 337 | template <class T> |
313 | typename OPimAccessTemplate<T>::List | 338 | typename OPimAccessTemplate<T>::List |
314 | OPimAccessTemplate<T>::queryByExample( const T& t, int settings, const QDateTime& d ) { | 339 | OPimAccessTemplate<T>::queryByExample( const T& t, int settings, const QDateTime& d ) { |
315 | QArray<int> ints = m_backEnd->queryByExample( t, settings, d ); | 340 | QArray<int> ints = m_backEnd->queryByExample( t, settings, d ); |
316 | 341 | ||
317 | List list(ints, this ); | 342 | List list(ints, this ); |
318 | return list; | 343 | return list; |
319 | } | 344 | } |
320 | 345 | ||
321 | template <class T> | 346 | template <class T> |
322 | typename OPimAccessTemplate<T>::List | 347 | typename OPimAccessTemplate<T>::List |