From f736a6252b691d8f10403a25a686360868b32e50 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Sun, 28 Aug 2011 22:19:46 -0400 Subject: [PATCH] Switch more places from qlist to qvector. more memory saving, 182mb->169mb --- gui/apitracecall.cpp | 17 +++++++++-------- gui/apitracecall.h | 12 ++++++------ gui/argumentseditor.cpp | 4 ++-- gui/mainwindow.cpp | 13 +++++++------ gui/saverthread.cpp | 2 +- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/gui/apitracecall.cpp b/gui/apitracecall.cpp index bdf5591..aa60781 100644 --- a/gui/apitracecall.cpp +++ b/gui/apitracecall.cpp @@ -635,6 +635,7 @@ ApiTraceCall::ApiTraceCall(ApiTraceFrame *parentFrame, const Trace::Call *call) m_binaryDataIndex = i; } } + m_argValues.squeeze(); } ApiTraceCall::~ApiTraceCall() @@ -670,12 +671,12 @@ ApiTrace * ApiTraceCall::parentTrace() const return NULL; } -QVariantList ApiTraceCall::originalValues() const +QVector ApiTraceCall::originalValues() const { return m_argValues; } -void ApiTraceCall::setEditedValues(const QVariantList &lst) +void ApiTraceCall::setEditedValues(const QVector &lst) { ApiTrace *trace = parentTrace(); @@ -695,7 +696,7 @@ void ApiTraceCall::setEditedValues(const QVariantList &lst) } } -QVariantList ApiTraceCall::editedValues() const +QVector ApiTraceCall::editedValues() const { return m_editedValues; } @@ -707,7 +708,7 @@ bool ApiTraceCall::edited() const void ApiTraceCall::revert() { - setEditedValues(QVariantList()); + setEditedValues(QVector()); } void ApiTraceCall::setHelpUrl(const QUrl &url) @@ -740,7 +741,7 @@ QStringList ApiTraceCall::argNames() const return m_signature->argNames(); } -QVariantList ApiTraceCall::arguments() const +QVector ApiTraceCall::arguments() const { if (m_editedValues.isEmpty()) return m_argValues; @@ -773,7 +774,7 @@ QStaticText ApiTraceCall::staticText() const if (m_staticText && !m_staticText->text().isEmpty()) return *m_staticText; - QVariantList argValues = arguments(); + QVector argValues = arguments(); QString richText = QString::fromLatin1( "%1(").arg( @@ -842,7 +843,7 @@ QString ApiTraceCall::toHtml() const .arg(m_signature->name()); } - QVariantList argValues = arguments(); + QVector argValues = arguments(); QStringList argNames = m_signature->argNames(); for (int i = 0; i < argNames.count(); ++i) { m_richText += @@ -892,7 +893,7 @@ QString ApiTraceCall::searchText() const if (!m_searchText.isEmpty()) return m_searchText; - QVariantList argValues = arguments(); + QVector argValues = arguments(); m_searchText = m_signature->name() + QLatin1Literal("("); QStringList argNames = m_signature->argNames(); for (int i = 0; i < argNames.count(); ++i) { diff --git a/gui/apitracecall.h b/gui/apitracecall.h index 3da1d7d..dbae40a 100644 --- a/gui/apitracecall.h +++ b/gui/apitracecall.h @@ -239,7 +239,7 @@ public: int index() const; QString name() const; QStringList argNames() const; - QVariantList arguments() const; + QVector arguments() const; QVariant returnValue() const; QUrl helpUrl() const; void setHelpUrl(const QUrl &url); @@ -250,11 +250,11 @@ public: QString error() const; void setError(const QString &msg); - QVariantList originalValues() const; + QVector originalValues() const; bool edited() const; - void setEditedValues(const QVariantList &lst); - QVariantList editedValues() const; + void setEditedValues(const QVector &lst); + QVector editedValues() const; void revert(); ApiTrace *parentTrace() const; @@ -268,11 +268,11 @@ public: private: int m_index; ApiTraceCallSignature *m_signature; - QVariantList m_argValues; + QVector m_argValues; QVariant m_returnValue; ApiTraceFrame *m_parentFrame; - QVariantList m_editedValues; + QVector m_editedValues; QString m_error; diff --git a/gui/argumentseditor.cpp b/gui/argumentseditor.cpp index 8848122..0f8a977 100644 --- a/gui/argumentseditor.cpp +++ b/gui/argumentseditor.cpp @@ -339,8 +339,8 @@ void ArgumentsEditor::sourceChanged() void ArgumentsEditor::accept() { QStringList argNames = m_call->argNames(); - QList originalValues = m_call->arguments(); - QList newValues; + QVector originalValues = m_call->arguments(); + QVector newValues; bool changed = false; for (int i = 0; i < argNames.count(); ++i) { bool valChanged = false; diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index 34e99f5..591c557 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -104,7 +104,7 @@ void MainWindow::callItemSelected(const QModelIndex &index) QByteArray data = call->arguments()[call->binaryDataIndex()].toByteArray(); m_vdataInterpreter->setData(data); - QVariantList args = call->arguments(); + QVector args = call->arguments(); for (int i = 0; i < call->argNames().count(); ++i) { QString name = call->argNames()[i]; @@ -320,7 +320,7 @@ static void variantToString(const QVariant &var, QString &str) { if (var.type() == QVariant::List) { - QVariantList lst = var.toList(); + QVector lst = var.toList().toVector(); str += QLatin1String("["); for (int i = 0; i < lst.count(); ++i) { QVariant val = lst[i]; @@ -358,7 +358,8 @@ variantMapToItems(const QVariantMap &map, const QVariantMap &defaultMap, QList &items) +variantListToItems(const QVector &lst, const QVector &defaultLst, + QList &items) { for (int i = 0; i < lst.count(); ++i) { QString key = QString::number(i); @@ -380,7 +381,7 @@ static bool isVariantDeep(const QVariant &var) { if (var.type() == QVariant::List) { - QVariantList lst = var.toList(); + QVector lst = var.toList().toVector(); for (int i = 0; i < lst.count(); ++i) { if (isVariantDeep(lst[i])) { return true; @@ -426,8 +427,8 @@ variantToItem(const QString &key, const QVariant &var, const QVariant &defaultVa variantMapToItems(map, defaultMap, children); } if (var.type() == QVariant::List) { - QVariantList lst = var.toList(); - QVariantList defaultLst = defaultVar.toList(); + QVector lst = var.toList().toVector(); + QVector defaultLst = defaultVar.toList().toVector(); variantListToItems(lst, defaultLst, children); } item->addChildren(children); diff --git a/gui/saverthread.cpp b/gui/saverthread.cpp index 5cf8818..f3158bb 100644 --- a/gui/saverthread.cpp +++ b/gui/saverthread.cpp @@ -229,7 +229,7 @@ void SaverThread::run() unsigned callNo = writer.beginEnter(funcSig); { //args - QVariantList vars = call->arguments(); + QVector vars = call->arguments(); int index = 0; foreach(QVariant var, vars) { writer.beginArg(index++); -- 2.43.0