]> ToastFreeware Gitweb - toast/confclerk.git/blobdiff - src/mvc/activity.cpp
static allocation instead of dynamic added when creating activity map
[toast/confclerk.git] / src / mvc / activity.cpp
index 36ecaa1d3e34710cf0acbb5e1a62799aa3d44911..2ff2d6b97f44234f00596d371dc230f55dcca6a4 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);
     }