summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-12-17 10:33:48 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-12-17 16:09:00 (GMT)
commitce54856995e6efe067276ed2f1a8c67decbc5abf (patch)
tree9eefceaa7c908daf649ccf8fb67716324cdb11fe
parent0f69400cf4572a970cf602a2c5b90ffc38a4b3b0 (diff)
downloadswift-ce54856995e6efe067276ed2f1a8c67decbc5abf.zip
swift-ce54856995e6efe067276ed2f1a8c67decbc5abf.tar.bz2
Fixed IPv6 network test.
-rw-r--r--Swift/Controllers/Chat/ChatsManager.cpp2
-rw-r--r--Swift/Controllers/MainController.cpp30
-rw-r--r--Swift/Controllers/MainController.h24
-rw-r--r--Swift/Controllers/UIInterfaces/ChatListWindowFactory.h2
-rw-r--r--Swift/QtUI/ChatList/QtChatListWindowFactory.cpp22
-rw-r--r--Swift/QtUI/ChatList/QtChatListWindowFactory.h20
-rw-r--r--Swift/QtUI/EventViewer/QtEventWindowFactory.cpp22
-rw-r--r--Swift/QtUI/EventViewer/QtEventWindowFactory.h22
-rw-r--r--Swift/QtUI/MUCSearch/QtMUCSearchWindowFactory.h22
-rw-r--r--Swift/QtUI/QtLoginWindowFactory.cpp39
-rw-r--r--Swift/QtUI/QtLoginWindowFactory.h34
-rw-r--r--Swift/QtUI/QtMainWindowFactory.cpp27
-rw-r--r--Swift/QtUI/QtMainWindowFactory.h24
-rw-r--r--Swift/QtUI/QtSwift.cpp55
-rw-r--r--Swift/QtUI/QtSwift.h21
-rw-r--r--Swift/QtUI/QtXMLConsoleWidgetFactory.cpp28
-rw-r--r--Swift/QtUI/QtXMLConsoleWidgetFactory.h22
-rw-r--r--Swift/QtUI/SConscript8
18 files changed, 32 insertions, 392 deletions
diff --git a/Swift/Controllers/Chat/ChatsManager.cpp b/Swift/Controllers/Chat/ChatsManager.cpp
index 6bd7597..814d87d 100644
--- a/Swift/Controllers/Chat/ChatsManager.cpp
+++ b/Swift/Controllers/Chat/ChatsManager.cpp
@@ -42,7 +42,7 @@ ChatsManager::ChatsManager(JID jid, StanzaChannel* stanzaChannel, IQRouter* iqRo
mucBookmarkManager_ = NULL;
presenceOracle_->onPresenceChange.connect(boost::bind(&ChatsManager::handlePresenceChange, this, _1));
uiEventConnection_ = uiEventStream_->onUIEvent.connect(boost::bind(&ChatsManager::handleUIEvent, this, _1));
- chatListWindow_ = chatListWindowFactory->createWindow(uiEventStream_);
+ chatListWindow_ = chatListWindowFactory->createChatListWindow(uiEventStream_);
setupBookmarks();
}
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp
index de7009c..c965c1c 100644
--- a/Swift/Controllers/MainController.cpp
+++ b/Swift/Controllers/MainController.cpp
@@ -4,13 +4,14 @@
* See Documentation/Licenses/GPLv3.txt for more information.
*/
-#include "Swift/Controllers/MainController.h"
+#include <Swift/Controllers/MainController.h>
#include <boost/bind.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/shared_ptr.hpp>
#include <stdlib.h>
+#include <Swift/Controllers/UIInterfaces/UIFactory.h>
#include "Swiften/Network/TimerFactory.h"
#include "Swift/Controllers/BuildVersion.h"
#include "Swift/Controllers/StoragesFactory.h"
@@ -69,16 +70,10 @@ static const String SHOW_NOTIFICATIONS = "showNotifications";
MainController::MainController(
EventLoop* eventLoop,
NetworkFactories* networkFactories,
- ChatWindowFactory* chatWindowFactory,
- MainWindowFactory *mainWindowFactory,
- LoginWindowFactory *loginWindowFactory,
- EventWindowFactory* eventWindowFactory,
+ UIFactory* uiFactories,
SettingsProvider *settings,
SystemTray* systemTray,
SoundPlayer* soundPlayer,
- XMLConsoleWidgetFactory* xmlConsoleWidgetFactory,
- ChatListWindowFactory* chatListWindowFactory,
- MUCSearchWindowFactory* mucSearchWindowFactory,
StoragesFactory* storagesFactory,
CertificateStorageFactory* certificateStorageFactory,
Dock* dock,
@@ -86,12 +81,10 @@ MainController::MainController(
bool useDelayForLatency) :
eventLoop_(eventLoop),
networkFactories_(networkFactories),
+ uiFactory_(uiFactories),
idleDetector_(&idleQuerier_, networkFactories_->getTimerFactory(), 100),
storagesFactory_(storagesFactory),
certificateStorageFactory_(certificateStorageFactory),
- chatWindowFactory_(chatWindowFactory),
- mainWindowFactory_(mainWindowFactory),
- loginWindowFactory_(loginWindowFactory),
settings_(settings),
loginWindow_(NULL) ,
useDelayForLatency_(useDelayForLatency) {
@@ -108,10 +101,7 @@ MainController::MainController(
quitRequested_ = false;
timeBeforeNextReconnect_ = -1;
- mucSearchWindowFactory_ = mucSearchWindowFactory;
- eventWindowFactory_ = eventWindowFactory;
dock_ = dock;
- chatListWindowFactory_ = chatListWindowFactory;
uiEventStream_ = new UIEventStream();
notifier_ = new TogglableNotifier(notifier);
@@ -119,7 +109,7 @@ MainController::MainController(
eventController_->onEventQueueLengthChange.connect(boost::bind(&MainController::handleEventQueueLengthChange, this, _1));
systemTrayController_ = new SystemTrayController(eventController_, systemTray);
- loginWindow_ = loginWindowFactory_->createLoginWindow(uiEventStream_);
+ loginWindow_ = uiFactory_->createLoginWindow(uiEventStream_);
soundEventController_ = new SoundEventController(eventController_, soundPlayer, settings, uiEventStream_);
String selectedLoginJID = settings_->getStringSetting("lastLoginJID");
@@ -147,7 +137,7 @@ MainController::MainController(
idleDetector_.setIdleTimeSeconds(600);
idleDetector_.onIdleChanged.connect(boost::bind(&MainController::handleInputIdleChanged, this, _1));
- xmlConsoleController_ = new XMLConsoleController(uiEventStream_, xmlConsoleWidgetFactory);
+ xmlConsoleController_ = new XMLConsoleController(uiEventStream_, uiFactory_);
uiEventStream_->onUIEvent.connect(boost::bind(&MainController::handleUIEvent, this, _1));
bool enabled = settings_->getBoolSetting(SHOW_NOTIFICATIONS, true);
@@ -232,15 +222,15 @@ void MainController::handleConnected() {
bool freshLogin = rosterController_ == NULL;
myStatusLooksOnline_ = true;
if (freshLogin) {
- rosterController_ = new RosterController(jid_, client_->getRoster(), client_->getAvatarManager(), mainWindowFactory_, client_->getNickManager(), client_->getNickResolver(), client_->getPresenceOracle(), client_->getSubscriptionManager(), eventController_, uiEventStream_, client_->getIQRouter(), settings_);
+ rosterController_ = new RosterController(jid_, client_->getRoster(), client_->getAvatarManager(), uiFactory_, client_->getNickManager(), client_->getNickResolver(), client_->getPresenceOracle(), client_->getSubscriptionManager(), eventController_, uiEventStream_, client_->getIQRouter(), settings_);
rosterController_->onChangeStatusRequest.connect(boost::bind(&MainController::handleChangeStatusRequest, this, _1, _2));
rosterController_->onSignOutRequest.connect(boost::bind(&MainController::signOut, this));
- chatsManager_ = new ChatsManager(jid_, client_->getStanzaChannel(), client_->getIQRouter(), eventController_, chatWindowFactory_, client_->getNickResolver(), client_->getPresenceOracle(), client_->getPresenceSender(), uiEventStream_, chatListWindowFactory_, useDelayForLatency_, networkFactories_->getTimerFactory(), client_->getMUCRegistry(), client_->getEntityCapsProvider(), client_->getMUCManager());
+ chatsManager_ = new ChatsManager(jid_, client_->getStanzaChannel(), client_->getIQRouter(), eventController_, uiFactory_, client_->getNickResolver(), client_->getPresenceOracle(), client_->getPresenceSender(), uiEventStream_, uiFactory_, useDelayForLatency_, networkFactories_->getTimerFactory(), client_->getMUCRegistry(), client_->getEntityCapsProvider(), client_->getMUCManager());
client_->onMessageReceived.connect(boost::bind(&ChatsManager::handleIncomingMessage, chatsManager_, _1));
chatsManager_->setAvatarManager(client_->getAvatarManager());
- eventWindowController_ = new EventWindowController(eventController_, eventWindowFactory_);
+ eventWindowController_ = new EventWindowController(eventController_, uiFactory_);
loginWindow_->morphInto(rosterController_->getWindow());
@@ -251,7 +241,7 @@ void MainController::handleConnected() {
client_->getDiscoManager()->setCapsNode(CLIENT_NODE);
client_->getDiscoManager()->setDiscoInfo(discoInfo);
- mucSearchController_ = new MUCSearchController(jid_, uiEventStream_, mucSearchWindowFactory_, client_->getIQRouter(), settings_);
+ mucSearchController_ = new MUCSearchController(jid_, uiEventStream_, uiFactory_, client_->getIQRouter(), settings_);
}
client_->requestRoster();
diff --git a/Swift/Controllers/MainController.h b/Swift/Controllers/MainController.h
index 0427307..2f101a5 100644
--- a/Swift/Controllers/MainController.h
+++ b/Swift/Controllers/MainController.h
@@ -6,7 +6,7 @@
#pragma once
-#include "Swiften/Base/boost_bsignals.h"
+#include <Swiften/Base/boost_bsignals.h>
#include <boost/shared_ptr.hpp>
#include <vector>
@@ -27,22 +27,19 @@
#include "Swift/Controllers/UIEvents/UIEvent.h"
namespace Swift {
+ class UIFactory;
class EventLoop;
class Client;
- class ChatWindowFactory;
class ChatController;
class ChatsManager;
class CertificateStorageFactory;
class CertificateStorage;
class CertificateStorageTrustChecker;
- class ChatListWindowFactory;
class EventController;
- class MainWindowFactory;
class MainWindow;
class RosterController;
class LoginWindow;
class EventLoop;
- class LoginWindowFactory;
class MUCController;
class Notifier;
class TogglableNotifier;
@@ -54,11 +51,9 @@ namespace Swift {
class SoundPlayer;
class XMLConsoleController;
class UIEventStream;
- class XMLConsoleWidgetFactory;
class EventWindowFactory;
class EventWindowController;
class MUCSearchController;
- class MUCSearchWindowFactory;
class StatusTracker;
class Dock;
class Storages;
@@ -70,16 +65,10 @@ namespace Swift {
MainController(
EventLoop* eventLoop,
NetworkFactories* networkFactories,
- ChatWindowFactory* chatWindowFactory,
- MainWindowFactory *mainWindowFactory,
- LoginWindowFactory *loginWindowFactory,
- EventWindowFactory* eventWindowFactory,
+ UIFactory* uiFactories,
SettingsProvider *settings,
SystemTray* systemTray,
SoundPlayer* soundPlayer,
- XMLConsoleWidgetFactory* xmlConsoleWidgetFactory,
- ChatListWindowFactory* chatListWindowFactory_,
- MUCSearchWindowFactory* mucSearchWindowFactory,
StoragesFactory* storagesFactory,
CertificateStorageFactory* certificateStorageFactory,
Dock* dock,
@@ -116,6 +105,7 @@ namespace Swift {
private:
EventLoop* eventLoop_;
NetworkFactories* networkFactories_;
+ UIFactory* uiFactory_;
PlatformIdleQuerier idleQuerier_;
ActualIdleDetector idleDetector_;
StoragesFactory* storagesFactory_;
@@ -124,10 +114,6 @@ namespace Swift {
CertificateStorage* certificateStorage_;
CertificateStorageTrustChecker* certificateTrustChecker_;
Client* client_;
- ChatWindowFactory* chatWindowFactory_;
- MainWindowFactory* mainWindowFactory_;
- LoginWindowFactory* loginWindowFactory_;
- EventWindowFactory* eventWindowFactory_;
SettingsProvider *settings_;
ProfileSettingsProvider* profileSettings_;
Dock* dock_;
@@ -148,11 +134,9 @@ namespace Swift {
String vCardPhotoHash_;
String password_;
String certificateFile_;
- ChatListWindowFactory* chatListWindowFactory_;
boost::shared_ptr<ErrorEvent> lastDisconnectError_;
bool useDelayForLatency_;
MUCSearchController* mucSearchController_;
- MUCSearchWindowFactory* mucSearchWindowFactory_;
int timeBeforeNextReconnect_;
Timer::ref reconnectTimer_;
StatusTracker* statusTracker_;
diff --git a/Swift/Controllers/UIInterfaces/ChatListWindowFactory.h b/Swift/Controllers/UIInterfaces/ChatListWindowFactory.h
index b920e43..cf8409e 100644
--- a/Swift/Controllers/UIInterfaces/ChatListWindowFactory.h
+++ b/Swift/Controllers/UIInterfaces/ChatListWindowFactory.h
@@ -13,6 +13,6 @@ namespace Swift {
class ChatListWindowFactory {
public:
virtual ~ChatListWindowFactory() {}
- virtual ChatListWindow* createWindow(UIEventStream* uiEventStream) = 0;
+ virtual ChatListWindow* createChatListWindow(UIEventStream* uiEventStream) = 0;
};
}
diff --git a/Swift/QtUI/ChatList/QtChatListWindowFactory.cpp b/Swift/QtUI/ChatList/QtChatListWindowFactory.cpp
deleted file mode 100644
index 0e9d324..0000000
--- a/Swift/QtUI/ChatList/QtChatListWindowFactory.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "Swift/QtUI/ChatList/QtChatListWindowFactory.h"
-
-#include "Swift/QtUI/QtMainWindowFactory.h"
-#include "Swift/QtUI/QtMainWindow.h"
-
-namespace Swift {
-
-QtChatListWindowFactory::QtChatListWindowFactory(QtMainWindowFactory* mainWindowFactory) {
- mainWindowFactory_ = mainWindowFactory;
-}
-
-ChatListWindow* QtChatListWindowFactory::createWindow(UIEventStream* /*uiEventStream*/) {
- return static_cast<QtMainWindow*>(mainWindowFactory_->getLastCreatedWindow())->getChatListWindow();
-}
-
-}
diff --git a/Swift/QtUI/ChatList/QtChatListWindowFactory.h b/Swift/QtUI/ChatList/QtChatListWindowFactory.h
deleted file mode 100644
index 604ce2e..0000000
--- a/Swift/QtUI/ChatList/QtChatListWindowFactory.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#pragma once
-
-#include "Swift/Controllers/UIInterfaces/ChatListWindowFactory.h"
-
-namespace Swift {
- class QtMainWindowFactory;
- class QtChatListWindowFactory : public ChatListWindowFactory{
- public:
- QtChatListWindowFactory(QtMainWindowFactory* mainWindowFactory);
- ChatListWindow* createWindow(UIEventStream* uiEventStream);
- private:
- QtMainWindowFactory* mainWindowFactory_;
- };
-}
diff --git a/Swift/QtUI/EventViewer/QtEventWindowFactory.cpp b/Swift/QtUI/EventViewer/QtEventWindowFactory.cpp
deleted file mode 100644
index 45f6da0..0000000
--- a/Swift/QtUI/EventViewer/QtEventWindowFactory.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "Swift/QtUI/EventViewer/QtEventWindowFactory.h"
-
-#include "Swift/QtUI/QtMainWindowFactory.h"
-#include "Swift/QtUI/QtMainWindow.h"
-
-namespace Swift {
-
-QtEventWindowFactory::QtEventWindowFactory(QtMainWindowFactory* mainWindowFactory) {
- mainWindowFactory_ = mainWindowFactory;
-}
-
-EventWindow* QtEventWindowFactory::createEventWindow() {
- return static_cast<QtMainWindow*>(mainWindowFactory_->getLastCreatedWindow())->getEventWindow();
-}
-
-}
diff --git a/Swift/QtUI/EventViewer/QtEventWindowFactory.h b/Swift/QtUI/EventViewer/QtEventWindowFactory.h
deleted file mode 100644
index af64a58..0000000
--- a/Swift/QtUI/EventViewer/QtEventWindowFactory.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#pragma once
-
-#include "Swift/Controllers/UIInterfaces/EventWindowFactory.h"
-
-namespace Swift {
- class QtMainWindowFactory;
- class QtEventWindowFactory : public EventWindowFactory {
- public:
- QtEventWindowFactory(QtMainWindowFactory* mainWindowFactory);
- virtual EventWindow* createEventWindow();
- private:
- QtMainWindowFactory* mainWindowFactory_;
- };
-}
-
-
diff --git a/Swift/QtUI/MUCSearch/QtMUCSearchWindowFactory.h b/Swift/QtUI/MUCSearch/QtMUCSearchWindowFactory.h
deleted file mode 100644
index 9bcb53f..0000000
--- a/Swift/QtUI/MUCSearch/QtMUCSearchWindowFactory.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#pragma once
-
-#include "Swift/Controllers/UIInterfaces/MUCSearchWindowFactory.h"
-#include "Swift/QtUI/MUCSearch/QtMUCSearchWindow.h"
-
-namespace Swift {
- class UIEventStream;
- class QtMUCSearchWindowFactory : public MUCSearchWindowFactory {
- public:
- virtual ~QtMUCSearchWindowFactory() {};
-
- MUCSearchWindow* createMUCSearchWindow(UIEventStream* eventStream) {
- return new QtMUCSearchWindow(eventStream);
- };
- };
-}
diff --git a/Swift/QtUI/QtLoginWindowFactory.cpp b/Swift/QtUI/QtLoginWindowFactory.cpp
deleted file mode 100644
index 2ac3dec..0000000
--- a/Swift/QtUI/QtLoginWindowFactory.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "QtLoginWindowFactory.h"
-#include "QtLoginWindow.h"
-
-#include <QDesktopWidget>
-
-namespace Swift {
-
-QtLoginWindowFactory::QtLoginWindowFactory(QSplitter* splitter, QtSystemTray* systemTray, QtSettingsProvider* settings) : QObject() {
- settings_ = settings;
- splitter_ = splitter;
- systemTray_ = systemTray;
-}
-
-LoginWindow* QtLoginWindowFactory::createLoginWindow(UIEventStream* uiEventStream) {
- window_ = new QtLoginWindow(uiEventStream);
- if (splitter_) {
- splitter_->insertWidget(0, window_);
- //return window_;
- }
- connect(systemTray_, SIGNAL(clicked()), window_, SLOT(bringToFront()));
- QVariant loginWindowGeometryVariant = settings_->getQSettings()->value("loginWindowGeometry");
- if (loginWindowGeometryVariant.isValid()) {
- window_->restoreGeometry(loginWindowGeometryVariant.toByteArray());
- }
- connect(window_, SIGNAL(geometryChanged()), this, SLOT(handleWindowGeometryChanged()));
- return window_;
-}
-
-void QtLoginWindowFactory::handleWindowGeometryChanged() {
- settings_->getQSettings()->setValue("loginWindowGeometry", window_->saveGeometry());
-}
-
-}
diff --git a/Swift/QtUI/QtLoginWindowFactory.h b/Swift/QtUI/QtLoginWindowFactory.h
deleted file mode 100644
index 0a90e05..0000000
--- a/Swift/QtUI/QtLoginWindowFactory.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#ifndef SWIFT_QtLoginWindowFactory_H
-#define SWIFT_QtLoginWindowFactory_H
-
-#include "Swift/Controllers/UIInterfaces/LoginWindowFactory.h"
-#include "Swift/QtUI/QtSystemTray.h"
-
-#include <QSplitter>
-
-#include "QtSettingsProvider.h"
-
-namespace Swift {
- class QtLoginWindow;
- class QtLoginWindowFactory : public QObject, public LoginWindowFactory {
- Q_OBJECT
- public:
- QtLoginWindowFactory(QSplitter* splitter, QtSystemTray* systemTray, QtSettingsProvider* settings);
- LoginWindow* createLoginWindow(UIEventStream* uiEventStream);
- private slots:
- void handleWindowGeometryChanged();
- private:
- QSplitter* splitter_;
- QtSystemTray* systemTray_;
- QtSettingsProvider* settings_;
- QtLoginWindow* window_;
- };
-}
-
-#endif
diff --git a/Swift/QtUI/QtMainWindowFactory.cpp b/Swift/QtUI/QtMainWindowFactory.cpp
deleted file mode 100644
index 8833e03..0000000
--- a/Swift/QtUI/QtMainWindowFactory.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "QtMainWindowFactory.h"
-#include "QtMainWindow.h"
-
-namespace Swift {
-
-QtMainWindowFactory::QtMainWindowFactory(QtSettingsProvider* settings) {
- settings_ = settings;
- lastWindow_ = NULL;
-}
-
-MainWindow* QtMainWindowFactory::createMainWindow(UIEventStream* eventStream) {
- lastWindow_ = new QtMainWindow(settings_, eventStream);
- return lastWindow_;
-}
-
-MainWindow* QtMainWindowFactory::getLastCreatedWindow() {
- assert(lastWindow_);
- return lastWindow_;;
-}
-
-}
diff --git a/Swift/QtUI/QtMainWindowFactory.h b/Swift/QtUI/QtMainWindowFactory.h
deleted file mode 100644
index c6658a9..0000000
--- a/Swift/QtUI/QtMainWindowFactory.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#pragma once
-
-#include "Swift/Controllers/UIInterfaces/MainWindowFactory.h"
-
-namespace Swift {
- class QtTreeWidgetFactory;
- class QtSettingsProvider;
-
- class QtMainWindowFactory : public MainWindowFactory{
- public:
- QtMainWindowFactory(QtSettingsProvider* settings);
- MainWindow* createMainWindow(UIEventStream* eventStream);
- MainWindow* getLastCreatedWindow();
- private:
- QtSettingsProvider* settings_;
- MainWindow* lastWindow_;
- };
-}
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp
index 65eb534..9a1788f 100644
--- a/Swift/QtUI/QtSwift.cpp
+++ b/Swift/QtUI/QtSwift.cpp
@@ -7,22 +7,16 @@
#include "QtSwift.h"
#include <string>
+#include <QSplitter>
+#include <boost/bind.hpp>
-#include "QtLoginWindowFactory.h"
-#include "QtChatWindowFactory.h"
#include "QtLoginWindow.h"
#include "QtChatTabs.h"
-#include "QtMainWindowFactory.h"
#include "QtSystemTray.h"
#include "QtSoundPlayer.h"
#include "QtSwiftUtil.h"
-#include "QtXMLConsoleWidgetFactory.h"
-#include "ChatList/QtChatListWindowFactory.h"
-#include "EventViewer/QtEventWindowFactory.h"
-#include "MUCSearch/QtMUCSearchWindowFactory.h"
-#include <boost/bind.hpp>
-#include <QSplitter>
-
+#include "QtUIFactory.h"
+#include "QtChatWindowFactory.h"
#include <Swiften/Base/Log.h>
#include <Swift/Controllers/CertificateFileStorageFactory.h>
#include "SwifTools/Application/PlatformApplicationPathProvider.h"
@@ -129,31 +123,15 @@ QtSwift::QtSwift(po::variables_map options) : networkFactories_(&clientMainThrea
for (int i = 0; i < numberOfAccounts; i++) {
QtSystemTray* systemTray = new QtSystemTray();
systemTrays_.push_back(systemTray);
- QtLoginWindowFactory* loginWindowFactory = new QtLoginWindowFactory(splitter_, systemTray, settings_);
- loginWindowFactories_.push_back(loginWindowFactory);
- QtMainWindowFactory* rosterWindowFactory = new QtMainWindowFactory(settings_);
- rosterWindowFactories_.push_back(rosterWindowFactory);
- QtEventWindowFactory* eventWindowFactory = new QtEventWindowFactory(rosterWindowFactory);
- eventWindowFactories_.push_back(eventWindowFactory);
- QtXMLConsoleWidgetFactory* xmlConsoleWidgetFactory = new QtXMLConsoleWidgetFactory(tabs_);
- xmlConsoleWidgetFactories_.push_back(xmlConsoleWidgetFactory);
- QtChatListWindowFactory* chatListWindowFactory = new QtChatListWindowFactory(rosterWindowFactory);
- chatListWindowFactories_.push_back(chatListWindowFactory);
- QtMUCSearchWindowFactory* mucSearchWindowFactory = new QtMUCSearchWindowFactory();
- mucSearchWindowFactories_.push_back(mucSearchWindowFactory);
+ QtUIFactory* uiFactory = new QtUIFactory(settings_, tabs_, splitter_, systemTray, chatWindowFactory_);
+ uiFactories_.push_back(uiFactory);
MainController* mainController = new MainController(
&clientMainThreadCaller_,
&networkFactories_,
- chatWindowFactory_,
- rosterWindowFactory,
- loginWindowFactory,
- eventWindowFactory,
+ uiFactory,
settings_,
systemTray,
soundPlayer_,
- xmlConsoleWidgetFactory,
- chatListWindowFactory,
- mucSearchWindowFactory,
storagesFactory_,
certificateStorageFactory_,
dock_,
@@ -173,14 +151,7 @@ QtSwift::QtSwift(po::variables_map options) : networkFactories_(&clientMainThrea
QtSwift::~QtSwift() {
delete notifier_;
delete autoUpdater_;
- delete chatWindowFactory_;
- foreach (QtMainWindowFactory* factory, rosterWindowFactories_) {
- delete factory;
- }
- foreach (QtLoginWindowFactory* factory, loginWindowFactories_) {
- delete factory;
- }
- foreach (MUCSearchWindowFactory* factory, mucSearchWindowFactories_) {
+ foreach (QtUIFactory* factory, uiFactories_) {
delete factory;
}
foreach (MainController* controller, mainControllers_) {
@@ -194,15 +165,7 @@ QtSwift::~QtSwift() {
delete splitter_;
delete dock_;
delete soundPlayer_;
- foreach (QtXMLConsoleWidgetFactory* factory, xmlConsoleWidgetFactories_) {
- delete factory;
- }
- foreach (QtEventWindowFactory* factory, eventWindowFactories_) {
- delete factory;
- }
- foreach (QtChatListWindowFactory* factory, chatListWindowFactories_) {
- delete factory;
- }
+ delete chatWindowFactory_;
delete certificateStorageFactory_;
delete storagesFactory_;
}
diff --git a/Swift/QtUI/QtSwift.h b/Swift/QtUI/QtSwift.h
index 68933dd..f241fd0 100644
--- a/Swift/QtUI/QtSwift.h
+++ b/Swift/QtUI/QtSwift.h
@@ -14,9 +14,6 @@
#include "Swiften/Base/String.h"
#include "Swiften/Base/Platform.h"
#include "Swiften/EventLoop/Qt/QtEventLoop.h"
-#include "QtLoginWindowFactory.h"
-#include "QtMainWindowFactory.h"
-#include "QtChatWindowFactory.h"
#include "QtSettingsProvider.h"
#if defined(SWIFTEN_PLATFORM_MACOSX)
#include "SwifTools/Application/CocoaApplication.h"
@@ -30,6 +27,7 @@ namespace po = boost::program_options;
class QSplitter;
namespace Swift {
+ class QtUIFactory;
class CertificateStorageFactory;
class Dock;
class Notifier;
@@ -39,14 +37,10 @@ namespace Swift {
class AvatarStorage;
class CapsStorage;
class MainController;
- class QtChatWindowFactory;
- class QtMainWindowFactory;
- class QtLoginWindowFactory;
- class QtXMLConsoleWidgetFactory;
class QtSystemTray;
+ class QtChatTabs;
+ class QtChatWindowFactory;
class QtSoundPlayer;
- class QtEventWindowFactory;
- class QtChatListWindowFactory;
class QtMUCSearchWindowFactory;
class EventLoop;
@@ -60,15 +54,10 @@ namespace Swift {
QtEventLoop clientMainThreadCaller_;
PlatformTLSFactories tlsFactories_;
BoostNetworkFactories networkFactories_;
+ QtChatWindowFactory* chatWindowFactory_;
std::vector<MainController*> mainControllers_;
- QtChatWindowFactory *chatWindowFactory_;
- std::vector<QtMainWindowFactory*> rosterWindowFactories_;
- std::vector<QtLoginWindowFactory*> loginWindowFactories_;
- std::vector<QtXMLConsoleWidgetFactory*> xmlConsoleWidgetFactories_;
- std::vector<QtEventWindowFactory*> eventWindowFactories_;
std::vector<QtSystemTray*> systemTrays_;
- std::vector<QtChatListWindowFactory*> chatListWindowFactories_;
- std::vector<QtMUCSearchWindowFactory*> mucSearchWindowFactories_;
+ std::vector<QtUIFactory*> uiFactories_;
QtSettingsProvider *settings_;
QSplitter* splitter_;
QtSoundPlayer* soundPlayer_;
diff --git a/Swift/QtUI/QtXMLConsoleWidgetFactory.cpp b/Swift/QtUI/QtXMLConsoleWidgetFactory.cpp
deleted file mode 100644
index e3f9e0a..0000000
--- a/Swift/QtUI/QtXMLConsoleWidgetFactory.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2010 Remko Tronçon
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "QtXMLConsoleWidgetFactory.h"
-
-#include "QtXMLConsoleWidget.h"
-#include "QtChatTabs.h"
-
-namespace Swift {
-
-QtXMLConsoleWidgetFactory::QtXMLConsoleWidgetFactory(QtChatTabs* tabs) {
- tabs_ = tabs;
-}
-
-XMLConsoleWidget* QtXMLConsoleWidgetFactory::createXMLConsoleWidget() {
- QtXMLConsoleWidget* widget = new QtXMLConsoleWidget();
- tabs_->addTab(widget);
- if (!tabs_->isVisible()) {
- tabs_->show();
- }
- widget->show();
- return widget;
-}
-
-}
diff --git a/Swift/QtUI/QtXMLConsoleWidgetFactory.h b/Swift/QtUI/QtXMLConsoleWidgetFactory.h
deleted file mode 100644
index b54c4b2..0000000
--- a/Swift/QtUI/QtXMLConsoleWidgetFactory.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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 "Swift/Controllers/UIInterfaces/XMLConsoleWidgetFactory.h"
-
-#include "QtXMLConsoleWidget.h"
-
-namespace Swift {
- class QtChatTabs;
- class QtXMLConsoleWidgetFactory : public XMLConsoleWidgetFactory {
- public:
- QtXMLConsoleWidgetFactory(QtChatTabs* tabs);
- XMLConsoleWidget* createXMLConsoleWidget();
- private:
- QtChatTabs* tabs_;
- };
-}
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript
index 864fdb5..377b949 100644
--- a/Swift/QtUI/SConscript
+++ b/Swift/QtUI/SConscript
@@ -63,12 +63,11 @@ sources = [
"main.cpp",
"QtAboutWidget.cpp",
"QtAddContactDialog.cpp",
- "QtChatWindow.cpp",
+ "QtUIFactory.cpp",
"QtChatWindowFactory.cpp",
+ "QtChatWindow.cpp",
"QtLoginWindow.cpp",
- "QtLoginWindowFactory.cpp",
"QtMainWindow.cpp",
- "QtMainWindowFactory.cpp",
"QtNameWidget.cpp",
"QtSettingsProvider.cpp",
"QtStatusWidget.cpp",
@@ -82,7 +81,6 @@ sources = [
"QtTabbable.cpp",
"QtTabWidget.cpp",
"QtTextEdit.cpp",
- "QtXMLConsoleWidgetFactory.cpp",
"QtXMLConsoleWidget.cpp",
"QtUtilities.cpp",
"QtBookmarkDetailWindow.cpp",
@@ -103,11 +101,9 @@ sources = [
"EventViewer/EventModel.cpp",
"EventViewer/EventDelegate.cpp",
"EventViewer/TwoLineDelegate.cpp",
- "EventViewer/QtEventWindowFactory.cpp",
"EventViewer/QtEventWindow.cpp",
"EventViewer/QtEvent.cpp",
"ChatList/QtChatListWindow.cpp",
- "ChatList/QtChatListWindowFactory.cpp",
"ChatList/ChatListModel.cpp",
"ChatList/ChatListDelegate.cpp",
"ChatList/ChatListMUCItem.cpp",