static allocation instead of dynamic added when creating activity map
authorkorrco <korrco@localhost>
Wed, 20 Jan 2010 12:26:30 +0000 (12:26 +0000)
committerkorrco <korrco@localhost>
Wed, 20 Jan 2010 12:26:30 +0000 (12:26 +0000)
src/mvc/activity.cpp
src/mvc/activity.h

index 36ecaa1..2ff2d6b 100644 (file)
@@ -14,6 +14,8 @@ QSqlRecord const Activity::sColumns = Activity::toRecord(QList<QSqlField>()
     << QSqlField("id", QVariant::Int)
     << QSqlField("name", QVariant::String));
 
+QMap<int, Activity> Activity::mIdToActivity;
+
 QList<Activity> Activity::getAll()
 {
     QSqlQuery query;
@@ -21,26 +23,20 @@ QList<Activity> Activity::getAll()
     return load(query);
 }
 
-QMap<int, Activity>* Activity::mIdToActivity = 0;
-
 void Activity::updateActivityMap()
 {
-    if (mIdToActivity)
-    {
-        delete mIdToActivity;
-    }
-    mIdToActivity = new QMap<int, Activity>;
+    mIdToActivity.clear();
     QList<Activity> activityList = Activity::getAll();
     Activity activity;
     for (int id = 0; id < activityList.count(); ++id) {
         activity = activityList.at(id);
-        mIdToActivity->insert(activity.id(), activity);
+        mIdToActivity.insert(activity.id(), activity);
     }
 }
 
 QString Activity::getActivityName(int id)
 {
-    QString name = mIdToActivity->value(id).name();
+    QString name = mIdToActivity.value(id).name();
     if (name == "") {
         qDebug() << QString("Error: undefined activity name for id %1").arg(id);
     }
index 86be082..7a300ec 100644 (file)
@@ -16,6 +16,8 @@ public:
     static const QSqlRecord sColumns;
     static QString const sTableName;
     static const int sTableColCount;
+public:
+    static QMap<int, Activity> mIdToActivity;
 public:
     static QList<Activity> getAll();
     int id() const { return value("id").toInt(); }
@@ -25,8 +27,6 @@ public:
 public:
     static void updateActivityMap();
     static QString getActivityName(int id);
-private:
-    static QMap<int, Activity>* mIdToActivity;
 };
 
 #endif /* ACTIVITY_H_ */