summaryrefslogtreecommitdiffstats
path: root/smglobals.h
blob: 3c2b36c28e4c4b1bc4bd092ea392ba2b3f8fff9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
  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 <QObject>

#include <QHash>
#include <QSize>
#include <QPair>
#include <QList>

class QAbstractItemModel;
class PictureViewer2;
class QPixmap;
class SeriesTreeWidget;
class FrameCache;

class SmGlobals : public QObject {
	Q_OBJECT
	public:
		~SmGlobals();
		static SmGlobals *instance();
		QAbstractItemModel *model(const QString &which);
        PictureViewer2 *pictureViewer();
		FrameCache *frameCache();
        void setSeriesTreeWidget(SeriesTreeWidget *stree) { mSeriesTreeWidget = stree; }
        SeriesTreeWidget *seriesTreeWidget();
		QSize cursorSize();
        const QSize minPVSize() const { return QSize(640, 480); }
		const QHash<QString, QString> & icons() const { return mIcons; }
		qint64 dvdSize() const { return mDvdSize; }
        QList<QWidget*> &treeWidgets() { return mTreeWidgets; }

	private:
		SmGlobals();
		SmGlobals(const SmGlobals &other);
		SmGlobals &operator=(const SmGlobals &other);
		static SmGlobals *mInstance;
		QHash<QString, QAbstractItemModel*> mModels;
        PictureViewer2 *mPictureViewer;
        SeriesTreeWidget *mSeriesTreeWidget;
        FrameCache *mFrameCache;
		QSize mCursorSize;
		QHash<QString, QString> mIcons;
		qint64 mDvdSize;
        QList<QWidget*> mTreeWidgets;
};

#endif