summaryrefslogtreecommitdiff
path: root/libopie/pim
Side-by-side diff
Diffstat (limited to 'libopie/pim') (more/less context) (show whitespace changes)
-rw-r--r--libopie/pim/ocontact.cpp1
-rw-r--r--libopie/pim/ocontact.h4
-rw-r--r--libopie/pim/opimrecord.cpp8
-rw-r--r--libopie/pim/opimrecord.h13
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 &regexp ) 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;