summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-12-17 15:47:07 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-12-17 16:09:00 (GMT)
commitb5ad1ec998ec01501866c2ae5ea66c650b79c5cf (patch)
tree078c087c365dcb36e9591034f2a0aeeb0a46ce7e /Swift/QtUI/QtUIFactory.h
parentce54856995e6efe067276ed2f1a8c67decbc5abf (diff)
downloadswift-b5ad1ec998ec01501866c2ae5ea66c650b79c5cf.zip
swift-b5ad1ec998ec01501866c2ae5ea66c650b79c5cf.tar.bz2
Collapsed all UI factories into UIFactory.
Diffstat (limited to 'Swift/QtUI/QtUIFactory.h')
-rw-r--r--Swift/QtUI/QtUIFactory.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/Swift/QtUI/QtUIFactory.h b/Swift/QtUI/QtUIFactory.h
new file mode 100644
index 0000000..e06b411
--- /dev/null
+++ b/Swift/QtUI/QtUIFactory.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#include <QObject>
+
+#include <Swift/Controllers/UIInterfaces/UIFactory.h>
+
+class QSplitter;
+
+namespace Swift {
+ class QtSettingsProvider;
+ class QtChatTabs;
+ class QtSystemTray;
+ class QtLoginWindow;
+ class QtMainWindow;
+ class QtChatTheme;
+ class QtChatWindowFactory;
+
+ class QtUIFactory : public QObject, public UIFactory {
+ Q_OBJECT
+ public:
+ QtUIFactory(QtSettingsProvider* settings, QtChatTabs* tabs, QSplitter* netbookSplitter, QtSystemTray* systemTray, QtChatWindowFactory* chatWindowFactory);
+
+ virtual XMLConsoleWidget* createXMLConsoleWidget();
+ virtual MainWindow* createMainWindow(UIEventStream* eventStream);
+ virtual LoginWindow* createLoginWindow(UIEventStream* eventStream);
+ virtual EventWindow* createEventWindow();
+ virtual ChatListWindow* createChatListWindow(UIEventStream*);
+ virtual MUCSearchWindow* createMUCSearchWindow(UIEventStream* eventStream);
+ virtual ChatWindow* createChatWindow(const JID &contact, UIEventStream* eventStream);
+
+ private slots:
+ void handleLoginWindowGeometryChanged();
+
+ private:
+ QtSettingsProvider* settings;
+ QtChatTabs* tabs;
+ QSplitter* netbookSplitter;
+ QtSystemTray* systemTray;
+ QtChatWindowFactory* chatWindowFactory;
+ QtMainWindow* lastMainWindow;
+ QtLoginWindow* loginWindow;
+ };
+}