summaryrefslogtreecommitdiff
path: root/libopie2
Unidiff
Diffstat (limited to 'libopie2') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiepim/core/opimrecord.cpp8
-rw-r--r--libopie2/opiepim/core/opimrecord.h13
-rw-r--r--libopie2/opiepim/ocontact.cpp1
-rw-r--r--libopie2/opiepim/ocontact.h4
4 files changed, 21 insertions, 5 deletions
diff --git a/libopie2/opiepim/core/opimrecord.cpp b/libopie2/opiepim/core/opimrecord.cpp
index d45417a..9510357 100644
--- a/libopie2/opiepim/core/opimrecord.cpp
+++ b/libopie2/opiepim/core/opimrecord.cpp
@@ -11,6 +11,7 @@ Qtopia::UidGen OPimRecord::m_uidGen( Qtopia::UidGen::Qtopia );
11OPimRecord::OPimRecord( int uid ) 11OPimRecord::OPimRecord( int uid )
12 : Qtopia::Record() { 12 : Qtopia::Record() {
13 13
14 m_lastHit = -1;
14 setUid( uid ); 15 setUid( uid );
15} 16}
16OPimRecord::~OPimRecord() { 17OPimRecord::~OPimRecord() {
@@ -24,6 +25,7 @@ OPimRecord::OPimRecord( const OPimRecord& rec )
24OPimRecord &OPimRecord::operator=( const OPimRecord& rec) { 25OPimRecord &OPimRecord::operator=( const OPimRecord& rec) {
25 Qtopia::Record::operator=( rec ); 26 Qtopia::Record::operator=( rec );
26 m_xrefman = rec.m_xrefman; 27 m_xrefman = rec.m_xrefman;
28 m_lastHit = rec.m_lastHit;
27 29
28 return *this; 30 return *this;
29} 31}
@@ -164,3 +166,9 @@ OPimXRefPartner OPimRecord::partner( QDataStream& stream ) {
164 166
165 return par; 167 return par;
166} 168}
169void OPimRecord::setLastHitField( int lastHit )const {
170 m_lastHit = lastHit;
171}
172int OPimRecord::lastHitField()const{
173 return m_lastHit;
174}
diff --git a/libopie2/opiepim/core/opimrecord.h b/libopie2/opiepim/core/opimrecord.h
index 6e7c0da..494c78e 100644
--- a/libopie2/opiepim/core/opimrecord.h
+++ b/libopie2/opiepim/core/opimrecord.h
@@ -76,7 +76,15 @@ public:
76 * matches the Records the regular expression? 76 * matches the Records the regular expression?
77 */ 77 */
78 virtual bool match( const QString &regexp ) const 78 virtual bool match( const QString &regexp ) const
79 {return Qtopia::Record::match(QRegExp(regexp));}; 79 {setLastHitField( -1 );
80 return Qtopia::Record::match(QRegExp(regexp));};
81
82 /**
83 * if implemented this function returns which item has been
84 * last hit by the match() function.
85 * or -1 if not implemented or no hit has occured
86 */
87 int lastHitField()const;
80 88
81 /** 89 /**
82 * converts the internal structure to a map 90 * converts the internal structure to a map
@@ -121,6 +129,9 @@ public:
121 virtual bool saveToStream( QDataStream& stream )const; 129 virtual bool saveToStream( QDataStream& stream )const;
122 130
123protected: 131protected:
132 // need to be const cause it is called from const methods
133 mutable int m_lastHit;
134 void setLastHitField( int lastHit )const;
124 Qtopia::UidGen &uidGen(); 135 Qtopia::UidGen &uidGen();
125// QString crossToString()const; 136// QString crossToString()const;
126 137
diff --git a/libopie2/opiepim/ocontact.cpp b/libopie2/opiepim/ocontact.cpp
index aeb69ee..a7ca975 100644
--- a/libopie2/opiepim/ocontact.cpp
+++ b/libopie2/opiepim/ocontact.cpp
@@ -953,6 +953,7 @@ void OContact::setChildren( const QString &str )
953*/ 953*/
954bool OContact::match( const QRegExp &r ) const 954bool OContact::match( const QRegExp &r ) const
955{ 955{
956 setLastHitField( -1 );
956 bool match; 957 bool match;
957 match = false; 958 match = false;
958 QMap<int, QString>::ConstIterator it; 959 QMap<int, QString>::ConstIterator it;
diff --git a/libopie2/opiepim/ocontact.h b/libopie2/opiepim/ocontact.h
index f79f0f3..dd2de17 100644
--- a/libopie2/opiepim/ocontact.h
+++ b/libopie2/opiepim/ocontact.h
@@ -214,10 +214,6 @@ public:
214 void setEmails( const QString &v ); 214 void setEmails( const QString &v );
215 QString emails() const { return find( Qtopia::Emails ); } 215 QString emails() const { return find( Qtopia::Emails ); }
216 static int rtti(); 216 static int rtti();
217 int lastHitField() const {return m_lastHitField;};
218protected:
219 mutable int m_lastHitField;
220 void setLastHitField(int i) const { m_lastHitField = i; };
221 217
222private: 218private:
223 // The XML-Backend needs some access to the private functions 219 // The XML-Backend needs some access to the private functions