summaryrefslogtreecommitdiffstats
blob: 72343d84b7349de1e519016bf2259fbd2a6dc744 (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
/*
 * Copyright (c) 2010 Kevin Smith
 * Licensed under the GNU General Public License v3.
 * See Documentation/Licenses/GPLv3.txt for more information.
 */

#ifndef SWIFT_QtSwift_H
#define SWIFT_QtSwift_H

#include <boost/program_options/variables_map.hpp>
#include <boost/program_options/options_description.hpp>

#include "Swiften/Base/String.h"
#include "Swiften/EventLoop/Qt/QtEventLoop.h"
#include "QtLoginWindowFactory.h"
#include "QtMainWindowFactory.h"
#include "QtChatWindowFactory.h"
#include "QtSettingsProvider.h"

namespace po = boost::program_options;

class QSplitter;

namespace Swift {
	class AutoUpdater;
	class Application;
	class MainController;
	class QtChatWindowFactory;
	class QtMainWindowFactory;
	class QtLoginWindowFactory;
	class QtTreeWidgetFactory;
	class QtXMLConsoleWidgetFactory;
	class QtSystemTray;
	class QtSoundPlayer;
	class QtEventWindowFactory;
	class QtChatListWindowFactory;
		
	class QtSwift : public QObject {
		Q_OBJECT
		public:
			QtSwift(po::variables_map options);
			static po::options_description getOptionsDescription();
			~QtSwift();
		private:
			MainController *mainController_;
			QtTreeWidgetFactory *treeWidgetFactory_;
			QtChatWindowFactory *chatWindowFactory_;
			QtChatListWindowFactory *chatListWindowFactory_;
			QtMainWindowFactory *rosterWindowFactory_;
			QtLoginWindowFactory *loginWindowFactory_;
			QtXMLConsoleWidgetFactory* xmlConsoleWidgetFactory_;
			QtEventLoop clientMainThreadCaller_;
			QtSettingsProvider *settings_;
			QtSystemTray* systemTray_;
			QSplitter* splitter_;
			QtSoundPlayer* soundPlayer_;
			QtChatTabs* tabs_;
			QtEventWindowFactory* eventWindowFactory_;
			Application* application_;
			AutoUpdater* autoUpdater_;
	};
}

#endif