-rw-r--r-- | libopie/pim/ocontact.cpp | 1 | ||||
-rw-r--r-- | libopie/pim/ocontact.h | 4 | ||||
-rw-r--r-- | libopie/pim/opimrecord.cpp | 8 | ||||
-rw-r--r-- | libopie/pim/opimrecord.h | 13 |
4 files changed, 21 insertions, 5 deletions
diff --git a/libopie/pim/ocontact.cpp b/libopie/pim/ocontact.cpp index aeb69ee..a7ca975 100644 --- a/libopie/pim/ocontact.cpp +++ b/libopie/pim/ocontact.cpp @@ -954,4 +954,5 @@ void OContact::setChildren( const QString &str ) bool OContact::match( const QRegExp &r ) const { + setLastHitField( -1 ); bool match; match = false; diff --git a/libopie/pim/ocontact.h b/libopie/pim/ocontact.h index f79f0f3..dd2de17 100644 --- a/libopie/pim/ocontact.h +++ b/libopie/pim/ocontact.h @@ -215,8 +215,4 @@ public: QString emails() const { return find( Qtopia::Emails ); } static int rtti(); - int lastHitField() const {return m_lastHitField;}; -protected: - mutable int m_lastHitField; - void setLastHitField(int i) const { m_lastHitField = i; }; private: diff --git a/libopie/pim/opimrecord.cpp b/libopie/pim/opimrecord.cpp index d45417a..9510357 100644 --- a/libopie/pim/opimrecord.cpp +++ b/libopie/pim/opimrecord.cpp @@ -12,4 +12,5 @@ OPimRecord::OPimRecord( int uid ) : Qtopia::Record() { + m_lastHit = -1; setUid( uid ); } @@ -25,4 +26,5 @@ OPimRecord &OPimRecord::operator=( const OPimRecord& rec) { Qtopia::Record::operator=( rec ); m_xrefman = rec.m_xrefman; + m_lastHit = rec.m_lastHit; return *this; @@ -165,2 +167,8 @@ OPimXRefPartner OPimRecord::partner( QDataStream& stream ) { return par; } +void OPimRecord::setLastHitField( int lastHit )const { + m_lastHit = lastHit; +} +int OPimRecord::lastHitField()const{ + return m_lastHit; +} diff --git a/libopie/pim/opimrecord.h b/libopie/pim/opimrecord.h index 6e7c0da..494c78e 100644 --- a/libopie/pim/opimrecord.h +++ b/libopie/pim/opimrecord.h @@ -77,5 +77,13 @@ public: */ virtual bool match( const QString ®exp ) const - {return Qtopia::Record::match(QRegExp(regexp));}; + {setLastHitField( -1 ); + return Qtopia::Record::match(QRegExp(regexp));}; + + /** + * if implemented this function returns which item has been + * last hit by the match() function. + * or -1 if not implemented or no hit has occured + */ + int lastHitField()const; /** @@ -122,4 +130,7 @@ public: protected: + // need to be const cause it is called from const methods + mutable int m_lastHit; + void setLastHitField( int lastHit )const; Qtopia::UidGen &uidGen(); // QString crossToString()const; |