[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/pim/ksig
From: Pino Toscano <pino () kde ! org>
Date: 2012-09-21 15:50:51
Message-ID: 20120921155051.985A8AC7E8 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1317187 by pino:
SigModel: cache the signatures
should be faster than updating the whole dom tree of each signature for each change \
(like every keypress (!))
M +5 -2 sigmodel.cpp
M +2 -0 sigmodel.h
--- trunk/extragear/pim/ksig/sigmodel.cpp #1317186:1317187
@@ -40,9 +40,9 @@
switch(role) {
case Qt::DisplayRole:
- return signatureString(m_signatures.at(index.row())).simplified();
+ return m_cachedSignatures.at(index.row()).simplified();
case SignatureRole:
- return signatureString(m_signatures.at(index.row()));
+ return m_cachedSignatures.at(index.row());
}
return QVariant();
}
@@ -130,6 +130,9 @@
}
m_signatures = m_doc.elementsByTagName("signature");
+ m_cachedSignatures.resize(m_signatures.count());
+ for(int i = 0; i < m_signatures.count(); ++i)
+ m_cachedSignatures[i] = signatureString(m_signatures.at(i));
}
// if the document could not be opened or setData failed, create the document \
framework else {
--- trunk/extragear/pim/ksig/sigmodel.h #1317186:1317187
@@ -13,6 +13,7 @@
#include <qabstractitemmodel.h>
#include <qdom.h>
#include <qfile.h>
+#include <qvector.h>
class SigModel : public QAbstractItemModel
{
@@ -41,6 +42,7 @@
QDomDocument m_doc;
QDomElement m_rootElement;
QDomNodeList m_signatures;
+ QVector<QString> m_cachedSignatures;
mutable QString m_emptySigString;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic