diff options
Diffstat (limited to 'Swift/QtUI/QtSwift.cpp')
| -rw-r--r-- | Swift/QtUI/QtSwift.cpp | 42 | 
1 files changed, 32 insertions, 10 deletions
| diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp index 7830150..57f4175 100644 --- a/Swift/QtUI/QtSwift.cpp +++ b/Swift/QtUI/QtSwift.cpp @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Kevin Smith + * Copyright (c) 2010-2011 Kevin Smith   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -18,13 +18,11 @@  #include "QtUIFactory.h"  #include "QtChatWindowFactory.h"  #include <Swiften/Base/Log.h> -#include <Swift/Controllers/CertificateFileStorageFactory.h> +#include <Swift/Controllers/Storages/CertificateFileStorageFactory.h> +#include "Swift/Controllers/Storages/FileStoragesFactory.h"  #include "SwifTools/Application/PlatformApplicationPathProvider.h" -#include "Swiften/Avatars/AvatarFileStorage.h" -#include "Swiften/Disco/CapsFileStorage.h"  #include <string>  #include "Swiften/Base/Platform.h" -#include "Swift/Controllers/FileStoragesFactory.h"  #include "Swiften/Elements/Presence.h"  #include "Swiften/Client/Client.h"  #include "Swift/Controllers/MainController.h" @@ -32,20 +30,30 @@  #include "Swift/Controllers/BuildVersion.h"  #include "SwifTools/AutoUpdater/AutoUpdater.h"  #include "SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h" +  #if defined(SWIFTEN_PLATFORM_WINDOWS)  #include "WindowsNotifier.h" -#endif -#if defined(HAVE_GROWL) +#elif defined(HAVE_GROWL)  #include "SwifTools/Notifier/GrowlNotifier.h"  #elif defined(SWIFTEN_PLATFORM_LINUX)  #include "FreeDesktopNotifier.h"  #else  #include "SwifTools/Notifier/NullNotifier.h"  #endif +  #if defined(SWIFTEN_PLATFORM_MACOSX)  #include "SwifTools/Dock/MacOSXDock.h" -#endif +#else  #include "SwifTools/Dock/NullDock.h" +#endif + +#if defined(SWIFTEN_PLATFORM_MACOSX) +#include "QtURIHandler.h" +#elif defined(SWIFTEN_PLATFORM_WIN32) +#include <SwifTools/URIHandler/NullURIHandler.h> +#else +#include "QtDBUSURIHandler.h" +#endif  namespace Swift{ @@ -66,12 +74,13 @@ po::options_description QtSwift::getOptionsDescription() {  		("latency-debug", "Use latency debugging (unsupported)")  		("multi-account", po::value<int>()->default_value(1), "Number of accounts to open windows for (unsupported)")  		("start-minimized", "Don't show the login/roster window at startup") +		("eagle-mode", "Settings more suitable for military/secure deployments")  		;  	return result;  } -QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMainThreadCaller_), autoUpdater_(NULL) { +QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMainThreadCaller_), autoUpdater_(NULL), idleDetector_(&idleQuerier_, networkFactories_.getTimerFactory(), 1000) {  	if (options.count("netbook-mode")) {  		splitter_ = new QSplitter();  	} else { @@ -96,6 +105,7 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa  	tabs_ = options.count("no-tabs") && !(splitter_ > 0) ? NULL : new QtChatTabs();  	bool startMinimized = options.count("start-minimized") > 0; +	bool eagleMode = options.count("eagle-mode") > 0;  	settings_ = new QtSettingsProvider();  	applicationPathProvider_ = new PlatformApplicationPathProvider(SWIFT_APPLICATION_NAME);  	storagesFactory_ = new FileStoragesFactory(applicationPathProvider_->getDataDir()); @@ -124,6 +134,14 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa  	dock_ = new NullDock();  #endif +#if defined(SWIFTEN_PLATFORM_MACOSX) +	uriHandler_ = new QtURIHandler(); +#elif defined(SWIFTEN_PLATFORM_WIN32) +	uriHandler_ = new NullURIHandler(); +#else +	uriHandler_ = new QtDBUSURIHandler(); +#endif +  	if (splitter_) {  		splitter_->show();  	} @@ -146,7 +164,10 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa  				certificateStorageFactory_,  				dock_,  				notifier_, -				options.count("latency-debug") > 0); +				uriHandler_, +				&idleDetector_, +				options.count("latency-debug") > 0, +				eagleMode);  		mainControllers_.push_back(mainController);  	} @@ -173,6 +194,7 @@ QtSwift::~QtSwift() {  	}  	delete tabs_;  	delete splitter_; +	delete uriHandler_;  	delete dock_;  	delete soundPlayer_;  	delete chatWindowFactory_; | 
 Swift
 Swift