From 77ff98a6bc65e7ddf29e241e6b40e5ac63337871 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Sun, 28 Aug 2011 22:30:35 -0400 Subject: [PATCH] Change apiarray to use a qvector instead of a qlist 163mb->151mb --- gui/apitracecall.cpp | 5 +++-- gui/apitracecall.h | 6 +++--- gui/argumentseditor.cpp | 16 ++++++++-------- gui/argumentseditor.h | 2 +- gui/saverthread.cpp | 2 +- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/gui/apitracecall.cpp b/gui/apitracecall.cpp index aa60781..58d5d72 100644 --- a/gui/apitracecall.cpp +++ b/gui/apitracecall.cpp @@ -388,12 +388,12 @@ ApiArray::ApiArray(const Trace::Array *arr) init(arr); } -ApiArray::ApiArray(const QList &vals) +ApiArray::ApiArray(const QVector &vals) : m_array(vals) { } -QList ApiArray::values() const +QVector ApiArray::values() const { return m_array; } @@ -425,6 +425,7 @@ void ApiArray::init(const Trace::Array *arr) m_array.append(vis.variant()); } + m_array.squeeze(); } ApiTraceState::ApiTraceState() diff --git a/gui/apitracecall.h b/gui/apitracecall.h index dbae40a..33648f2 100644 --- a/gui/apitracecall.h +++ b/gui/apitracecall.h @@ -131,15 +131,15 @@ class ApiArray { public: ApiArray(const Trace::Array *arr = 0); - ApiArray(const QList &vals); + ApiArray(const QVector &vals); QString toString() const; - QList values() const; + QVector values() const; private: void init(const Trace::Array *arr); private: - QList m_array; + QVector m_array; }; Q_DECLARE_METATYPE(ApiArray); diff --git a/gui/argumentseditor.cpp b/gui/argumentseditor.cpp index 0f8a977..1ee519e 100644 --- a/gui/argumentseditor.cpp +++ b/gui/argumentseditor.cpp @@ -16,7 +16,7 @@ isVariantEditable(const QVariant &var) { if (var.canConvert()) { ApiArray array = var.value(); - QList vals = array.values(); + QVector vals = array.values(); if (vals.isEmpty()) return false; else @@ -42,7 +42,7 @@ isVariantStringArray(const QVariant &var) return false; ApiArray array = var.value(); - QList origValues = array.values(); + QVector origValues = array.values(); if (origValues.isEmpty() || origValues.first().userType() != QVariant::String) return false; @@ -210,7 +210,7 @@ void ArgumentsEditor::setupCall() if (val.canConvert()) { ApiArray array = val.value(); - QList vals = array.values(); + QVector vals = array.values(); QVariant firstVal = vals.value(0); if (firstVal.userType() == QVariant::String) { @@ -304,7 +304,7 @@ void ArgumentsEditor::setupCall() } } -void ArgumentsEditor::setupShaderEditor(const QList &sources) +void ArgumentsEditor::setupShaderEditor(const QVector &sources) { m_ui.selectStringCB->clear(); m_ui.glslEdit->clear(); @@ -405,14 +405,14 @@ QVariant ArgumentsEditor::arrayFromIndex(const QModelIndex &parentIndex, const ApiArray &origArray, bool *changed) const { - QList origValues = origArray.values(); + QVector origValues = origArray.values(); *changed = false; if (origValues.isEmpty()) return QVariant::fromValue(ApiArray()); - QList lst; + QVector lst; for (int i = 0; i < origValues.count(); ++i) { QModelIndex valIdx = m_model->index(i, 1, parentIndex); QVariant var = valIdx.data(); @@ -428,8 +428,8 @@ QVariant ArgumentsEditor::arrayFromIndex(const QModelIndex &parentIndex, QVariant ArgumentsEditor::arrayFromEditor(const ApiArray &origArray, bool *changed) const { - QList vals; - QList origValues = origArray.values(); + QVector vals; + QVector origValues = origArray.values(); Q_ASSERT(isVariantStringArray(QVariant::fromValue(origArray))); *changed = false; diff --git a/gui/argumentseditor.h b/gui/argumentseditor.h index e6b3d8f..7671d71 100644 --- a/gui/argumentseditor.h +++ b/gui/argumentseditor.h @@ -49,7 +49,7 @@ private slots: private: void init(); void setupCall(); - void setupShaderEditor(const QList &sources); + void setupShaderEditor(const QVector &sources); QVariant valueForName(const QString &name, const QVariant &orignalValue, bool *changed) const; diff --git a/gui/saverthread.cpp b/gui/saverthread.cpp index f3158bb..5837c99 100644 --- a/gui/saverthread.cpp +++ b/gui/saverthread.cpp @@ -162,7 +162,7 @@ writeValue(Trace::Writer &writer, const QVariant &var, unsigned &id) default: if (type == arrayType) { ApiArray array = var.value(); - QList vals = array.values(); + QVector vals = array.values(); writer.beginArray(vals.count()); foreach(QVariant el, vals) { writer.beginElement(); -- 2.43.0