summaryrefslogtreecommitdiffstats
path: root/smglobals.h
blob: 7cc332f61c49d9abdfdd688df2756a7ba20d1de1 (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
56
57
58
59
60
61
62
63
64
65
66
/*
  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 <QStringList>

class QAbstractItemModel;
class PictureViewer2;
class QPixmap;
class SeriesTreeWidget;
class ArchiveController;

// this was: 4707319808 - 20 * 1024 *1024
#define DVDSIZE 4686348288

// File type: used all over the place
#define FT_MOVIE 1
#define FT_FRONTCOVER 2
#define FT_BACKCOVER 3
#define FT_GENERALCOVER 4
#define FT_ORIGIN 5

class SmGlobals : public QObject {
	Q_OBJECT
	public:
		~SmGlobals();
		static SmGlobals *instance();
		QAbstractItemModel *model(const QString &which);
        PictureViewer2 *pictureViewer();
        void setArchiveController(ArchiveController *c) { mArchiveController = c; }
        ArchiveController *archiveController() { return mArchiveController; }
		QSize cursorSize();
        QIcon iconFor(const QString &type);
		const QHash<QString, QString> & icons() const { return mIcons; }
        QHash<int, QString> filetypeMap() const { return mFiletypeMap; }
        QHash<QString, QWidget*> registeredWidgets() { return mWidgets; }
        void registerWidget(const QString &name, QWidget *w);
        QStringList reencReasons() const { return mReencReasons; }
        void setReencReasons(const QStringList reasons);

	private:
		SmGlobals();
		SmGlobals(const SmGlobals &other);
		SmGlobals &operator=(const SmGlobals &other);
		static SmGlobals *mInstance;
		QHash<QString, QAbstractItemModel*> mModels;
        PictureViewer2 *mPictureViewer;
        SeriesTreeWidget *mSeriesTreeWidget;
        QSize mCursorSize;
		QHash<QString, QString> mIcons;
        ArchiveController *mArchiveController;
        QHash<int, QString> mFiletypeMap;
        QHash<QString, QWidget*> mWidgets;
        QStringList mReencReasons;
};

#endif