summaryrefslogtreecommitdiffstats
path: root/smmodelsingleton.h
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-06-23 20:27:32 +0200
committerArno <am@disconnect.de>2010-06-23 20:31:26 +0200
commite8f4f398c60060d4edd09065000d977cf38a9bcc (patch)
tree5860233bf58d484d779169d3cc88a92bc6fb3e1f /smmodelsingleton.h
parentf81a83e91b77d41384667eec02409be05e088a06 (diff)
downloadSheMov-e8f4f398c60060d4edd09065000d977cf38a9bcc.tar.gz
SheMov-e8f4f398c60060d4edd09065000d977cf38a9bcc.tar.bz2
SheMov-e8f4f398c60060d4edd09065000d977cf38a9bcc.zip
Singleton cleanup
The SmUberModel class wasn't needed at all, so I removed it. Instead I renamed SmUmberModelSingleton into a real singleton for all QAbstractItemModel*, though right now it only supports the SeriesTreeModel and FileTreeModel. But it should eventually evolve into a singleton for all QAbstractItemModel *. For this I renamed the class SmUberModelSingleton to SmModelSingleton.
Diffstat (limited to 'smmodelsingleton.h')
-rw-r--r--smmodelsingleton.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/smmodelsingleton.h b/smmodelsingleton.h
new file mode 100644
index 0000000..e8a3eaf
--- /dev/null
+++ b/smmodelsingleton.h
@@ -0,0 +1,30 @@
+/*
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#ifndef SMUBERMODELSINGLETON_H
+#define SMUBERMODELSINGLETON_H
+
+#include <QHash>
+
+class QAbstractItemModel;
+
+class SmModelSingleton : public QObject {
+ Q_OBJECT
+ public:
+ ~SmModelSingleton();
+ static SmModelSingleton *instance();
+ QAbstractItemModel *model(const QString &which);
+
+ private:
+ SmModelSingleton() {}
+ SmModelSingleton(const SmModelSingleton &other);
+ SmModelSingleton &operator=(const SmModelSingleton &other);
+ static SmModelSingleton *mInstance;
+ QHash<QString, QAbstractItemModel*> mModels;
+};
+
+#endif