diff options
| -rw-r--r-- | BuildTools/SCons/Tools/AppBundle.py | 6 | ||||
| -rw-r--r-- | SConstruct | 1 | ||||
| -rw-r--r-- | SwifTools/AutoUpdater/DummyAutoUpdater.h | 10 | ||||
| -rw-r--r-- | SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.cpp | 19 | ||||
| -rw-r--r-- | SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h | 9 | ||||
| -rw-r--r-- | SwifTools/SConscript | 3 | ||||
| -rw-r--r-- | Swift/QtUI/QtSwift.cpp | 14 | ||||
| -rw-r--r-- | Swift/QtUI/QtSwift.h | 2 | ||||
| -rw-r--r-- | Swift/QtUI/SConscript | 145 | ||||
| -rw-r--r-- | Swift/QtUI/main.cpp | 3 | ||||
| -rw-r--r-- | Swiften/Application/MacOSX/MacOSXApplication.h | 2 | ||||
| -rw-r--r-- | Swiften/Application/SConscript | 3 |
12 files changed, 143 insertions, 74 deletions
diff --git a/BuildTools/SCons/Tools/AppBundle.py b/BuildTools/SCons/Tools/AppBundle.py index 2849435..3d06e97 100644 --- a/BuildTools/SCons/Tools/AppBundle.py +++ b/BuildTools/SCons/Tools/AppBundle.py @@ -1,45 +1,49 @@ import SCons.Util def generate(env) : - def createAppBundle(env, bundle, version = "1.0", resources = [], info = {}) : + def createAppBundle(env, bundle, version = "1.0", resources = [], frameworks = [], info = {}) : bundleContentsDir = bundle + ".app" + "/Contents" resourcesDir = bundleContentsDir + "/Resources" + frameworksDir = bundleContentsDir + "/Frameworks" env.Install(bundleContentsDir + "/MacOS", bundle) env.WriteVal(bundleContentsDir + "/PkgInfo", env.Value("APPL\77\77\77\77")) infoDict = { "CFBundleDevelopmentRegion" : "English", "CFBundleExecutable" : bundle, "CFBundleIdentifier" : "im.swift." + bundle, "CFBundleInfoDictionaryVersion" : "6.0", "CFBundleName" : bundle, "CFBundlePackageType" : "APPL", "CFBundleSignature": "\77\77\77\77", "CFBundleVersion" : version, "CFBundleIconFile" : bundle, "NSPrincipalClass" : "NSApplication", "NSHumanReadableCopyright" : unichr(0xA9) + " 2009 Swift Development Team.\nAll Rights Reserved." } infoDict.update(info) plist = """<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> """ for key, value in infoDict.items() : plist += "<key>" + key + "</key>\n" plist += "<string>" + value.encode("utf-8") + "</string>\n" plist += """</dict> </plist> """ env.WriteVal(bundleContentsDir + "/Info.plist", env.Value(plist)) for resource in resources : env.Install(resourcesDir, resource) + for framework in frameworks : + env.Install(frameworksDir, framework) + env.AddMethod(createAppBundle, "AppBundle") def exists(env) : return env["PLATFORM"] == "darwin" @@ -179,96 +179,97 @@ if conf.CheckLib("z") : env["ZLIB_FLAGS"] = "" else : SConscript("3rdParty/ZLib/SConscript") if conf.CheckLib("dl") : env.Append(LIBS = ["dl"]) if conf.CheckLib("c") : env.Append(LIBS = ["c"]) if conf.CheckLib("resolv") : env.Append(LIBS = ["resolv"]) # Expat if conf.CheckCHeader("expat.h") and conf.CheckLib("expat") : env["HAVE_EXPAT"] = 1 env["EXPAT_FLAGS"] = { "LIBS": ["expat"] } conf.Finish() # Xss env["HAVE_XSS"] = 0 if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" : xss_flags = { "LIBPATH": ["/usr/X11R6/lib"], "LIBS": ["X11", "Xss"] } xss_env = conf_env.Clone() xss_env.MergeFlags(xss_flags) conf = Configure(xss_env) if conf.CheckFunc("XScreenSaverQueryExtension") : env["HAVE_XSS"] = 1 env["XSS_FLAGS"] = xss_flags conf.Finish() # Sparkle env["HAVE_SPARKLE"] = 0 if env["PLATFORM"] == "darwin" : sparkle_flags = { "FRAMEWORKPATH": ["/Library/Frameworks"], "FRAMEWORKS": ["Sparkle"] } sparkle_env = conf_env.Clone() sparkle_env.MergeFlags(sparkle_flags) conf = Configure(sparkle_env, custom_tests = { "CheckObjCHeader" : checkObjCHeader }) if conf.CheckObjCHeader("Sparkle/Sparkle.h") : env["HAVE_SPARKLE"] = 1 env["SPARKLE_FLAGS"] = sparkle_flags + env["SPARKLE_FRAMEWORK"] = "/Library/Frameworks/Sparkle.framework" conf.Finish() # LibXML conf = Configure(conf_env) if conf.CheckCHeader("libxml/parser.h") and conf.CheckLib("xml2") : env["HAVE_LIBXML"] = 1 env["LIBXML_FLAGS"] = { "LIBS": ["xml2"] } conf.Finish() if not env.get("HAVE_LIBXML", 0) : libxml_env = conf_env.Clone() libxml_env.Append(CPPPATH = ["/usr/include/libxml2"]) conf = Configure(libxml_env) if conf.CheckCHeader("libxml/parser.h") and conf.CheckLib("xml2") : env["HAVE_LIBXML"] = 1 env["LIBXML_FLAGS"] = { "CPPPATH": ["/usr/include/libxml2"], "LIBS": ["xml2"] } conf.Finish() # Bundled expat bundledExpat = False if not env.get("HAVE_EXPAT", 0) : print "Expat or LibXML not found. Using bundled Expat" SConscript("3rdParty/Expat/SConscript") env["HAVE_EXPAT"] = 1 bundledExpat = True # Qt if env["qt"] : env["QTDIR"] = env["qt"] # OpenSSL openssl_env = conf_env.Clone() use_openssl = bool(env["openssl"]) openssl_prefix = env["openssl"] if isinstance(env["openssl"], str) else "" openssl_flags = {} if openssl_prefix : openssl_flags = { "CPPPATH": [os.path.join(openssl_prefix, "include")] } if env["PLATFORM"] == "win32" : openssl_flags["LIBPATH"] = [os.path.join(openssl_prefix, "lib", "VC")] env["OPENSSL_DIR"] = openssl_prefix else : openssl_flags["LIBPATH"] = [os.path.join(openssl_prefix, "lib")] openssl_env.MergeFlags(openssl_flags) openssl_conf = Configure(openssl_env) if use_openssl and openssl_conf.CheckCHeader("openssl/ssl.h") : env["HAVE_OPENSSL"] = 1 env["OPENSSL_FLAGS"] = openssl_flags diff --git a/SwifTools/AutoUpdater/DummyAutoUpdater.h b/SwifTools/AutoUpdater/DummyAutoUpdater.h new file mode 100644 index 0000000..bdddb2a --- /dev/null +++ b/SwifTools/AutoUpdater/DummyAutoUpdater.h @@ -0,0 +1,10 @@ +#pragma once + +#include "SwifTools/AutoUpdater/AutoUpdater.h" + +namespace Swift { + class DummyAutoUpdater : public AutoUpdater { + public: + void checkForUpdates() {} + }; +} diff --git a/SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.cpp b/SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.cpp new file mode 100644 index 0000000..2049a4e --- /dev/null +++ b/SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.cpp @@ -0,0 +1,19 @@ +#include "SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h" + +#ifdef HAVE_SPARKLE +#include "SwifTools/AutoUpdater/SparkleAutoUpdater.h" +#else +#include "SwifTools/AutoUpdater/DummyAutoUpdater.h" +#endif + +namespace Swift { + +AutoUpdater* PlatformAutoUpdaterFactory::createAutoUpdater(const String& appcastURL) { +#ifdef HAVE_SPARKLE + return new SparkleAutoUpdater(appcastURL); +#else + return new DummyAutoUpdater(); +#endif +} + +} diff --git a/SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h b/SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h new file mode 100644 index 0000000..4e3cef1 --- /dev/null +++ b/SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h @@ -0,0 +1,9 @@ +namespace Swift { + class AutoUpdater; + class String; + + class PlatformAutoUpdaterFactory { + public: + AutoUpdater* createAutoUpdater(const String& appcastURL); + }; +} diff --git a/SwifTools/SConscript b/SwifTools/SConscript index 92e82be..a1b3d18 100644 --- a/SwifTools/SConscript +++ b/SwifTools/SConscript @@ -1,39 +1,42 @@ Import("env") env["SWIFTOOLS_FLAGS"] = { "LIBPATH": [Dir(".")], "LIBS": ["SwifTools"] } myenv = env.Clone() myenv.MergeFlags(myenv["BOOST_FLAGS"]) sources = [ "Idle/IdleDetector.cpp", "Idle/ActualIdleDetector.cpp", "Idle/IdleQuerier.cpp", "Idle/PlatformIdleQuerier.cpp", "AutoUpdater/AutoUpdater.cpp", + "AutoUpdater/PlatformAutoUpdaterFactory.cpp", "Linkify.cpp", ] if myenv.get("HAVE_SPARKLE", 0) : + myenv.MergeFlags(myenv["SPARKLE_FLAGS"]) + myenv.Append(CPPDEFINES = ["HAVE_SPARKLE"]) sources += ["AutoUpdater/SparkleAutoUpdater.mm"] if myenv["PLATFORM"] == "win32" : sources += ["Idle/WindowsIdleQuerier.cpp"] elif myenv["PLATFORM"] == "darwin" : sources += ["Idle/MacOSXIdleQuerier.cpp"] elif myenv["HAVE_XSS"] : myenv.Append(CPPDEFINES = ["HAVE_XSS"]) sources += ["Idle/XSSIdleQuerier.cpp"] else : sources += ["Idle/DummyIdleQuerier.cpp"] myenv.StaticLibrary("SwifTools", sources) SConscript(dirs = [ "Idle/IdleQuerierTest", "Idle/UnitTest", "UnitTest" ]) diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp index 7e204e9..4c7eabb 100644 --- a/Swift/QtUI/QtSwift.cpp +++ b/Swift/QtUI/QtSwift.cpp @@ -1,68 +1,82 @@ #include "QtSwift.h" #include "QtLoginWindowFactory.h" #include "QtChatWindowFactory.h" #include "QtLoginWindow.h" #include "QtChatTabs.h" #include "QtMainWindowFactory.h" #include "Roster/QtTreeWidgetFactory.h" #include "QtSystemTray.h" #include "QtSoundPlayer.h" #include "QtXMLConsoleWidgetFactory.h" #include <boost/bind.hpp> #include <QSplitter> #include "Swiften/Application/Application.h" #include "Swiften/Application/Platform/PlatformApplication.h" #include "Swiften/Base/String.h" +#include "Swiften/Base/Platform.h" #include "Swiften/Elements/Presence.h" #include "Swiften/Client/Client.h" #include "Swift/Controllers/ChatController.h" #include "Swift/Controllers/MainController.h" #include "Swift/QtUI/BuildVersion.h" +#include "SwifTools/AutoUpdater/AutoUpdater.h" +#include "SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h" namespace Swift{ +#if defined(SWIFTEN_PLATFORM_MACOSX) +#define SWIFT_APPCAST_URL "http://swift.im/appcast/psi-mac.xml" +#else +#define SWIFT_APPCAST_URL "" +#endif + + QtSwift::QtSwift(bool netbookMode) { if (netbookMode) { splitter_ = new QSplitter(); } else { splitter_ = NULL; } QCoreApplication::setApplicationName("Swift"); QCoreApplication::setOrganizationName("Swift"); QCoreApplication::setOrganizationDomain("swift.im"); QCoreApplication::setApplicationVersion(buildVersion); tabs_ = new QtChatTabs(); settings_ = new QtSettingsProvider(); application_ = new PlatformApplication("Swift"); treeWidgetFactory_ = new QtTreeWidgetFactory(); systemTray_ = new QtSystemTray(); loginWindowFactory_ = new QtLoginWindowFactory(splitter_, systemTray_, settings_); chatWindowFactory_ = new QtChatWindowFactory(treeWidgetFactory_, splitter_, settings_, tabs_); rosterWindowFactory_ = new QtMainWindowFactory(treeWidgetFactory_); xmlConsoleWidgetFactory_ = new QtXMLConsoleWidgetFactory(tabs_); soundPlayer_ = new QtSoundPlayer(); if (splitter_) { splitter_->show(); } mainController_ = new MainController(chatWindowFactory_, rosterWindowFactory_, loginWindowFactory_, treeWidgetFactory_, settings_, application_, systemTray_, soundPlayer_, xmlConsoleWidgetFactory_); + + autoUpdater_ = PlatformAutoUpdaterFactory().createAutoUpdater(SWIFT_APPCAST_URL); + autoUpdater_->checkForUpdates(); } QtSwift::~QtSwift() { + delete autoUpdater_; delete chatWindowFactory_; delete rosterWindowFactory_; delete loginWindowFactory_; delete treeWidgetFactory_; delete mainController_; delete settings_; delete application_; delete systemTray_; delete splitter_; delete soundPlayer_; delete tabs_; delete xmlConsoleWidgetFactory_; } } diff --git a/Swift/QtUI/QtSwift.h b/Swift/QtUI/QtSwift.h index ad113d6..0ba9926 100644 --- a/Swift/QtUI/QtSwift.h +++ b/Swift/QtUI/QtSwift.h @@ -1,46 +1,48 @@ #ifndef SWIFT_QtSwift_H #define SWIFT_QtSwift_H #include "Swiften/Base/String.h" #include "Swiften/EventLoop/Qt/QtEventLoop.h" #include "QtLoginWindowFactory.h" #include "QtMainWindowFactory.h" #include "QtChatWindowFactory.h" #include "QtSettingsProvider.h" 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 QtSwift : public QObject { Q_OBJECT public: QtSwift(bool netbookMode); ~QtSwift(); private: MainController *mainController_; QtTreeWidgetFactory *treeWidgetFactory_; QtChatWindowFactory *chatWindowFactory_; QtMainWindowFactory *rosterWindowFactory_; QtLoginWindowFactory *loginWindowFactory_; QtXMLConsoleWidgetFactory* xmlConsoleWidgetFactory_; QtEventLoop clientMainThreadCaller_; QtSettingsProvider *settings_; QtSystemTray* systemTray_; QSplitter* splitter_; QtSoundPlayer* soundPlayer_; QtChatTabs* tabs_; Application* application_; + AutoUpdater* autoUpdater_; }; } #endif diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript index f8de60e..3a9545c 100644 --- a/Swift/QtUI/SConscript +++ b/Swift/QtUI/SConscript @@ -1,124 +1,129 @@ import os, shutil, datetime import Version def generateDefaultTheme(env, target, source) : - sourceDir = source[0].abspath - output = open(target[0].abspath, "w") - output.write("<RCC version =\"1.0\">") - output.write("<qresource prefix=\"/themes/Default\">") - for (path, dirs, files) in os.walk(sourceDir) : - for file in files : - filePath = os.path.join(path,file) - output.write("<file alias=\"%(alias)s\">%(path)s</file>" % { - "alias": filePath[len(sourceDir)+1:], - "path": filePath - }) - output.write("</qresource>") - output.write("</RCC>") + sourceDir = source[0].abspath + output = open(target[0].abspath, "w") + output.write("<RCC version =\"1.0\">") + output.write("<qresource prefix=\"/themes/Default\">") + for (path, dirs, files) in os.walk(sourceDir) : + for file in files : + filePath = os.path.join(path,file) + output.write("<file alias=\"%(alias)s\">%(path)s</file>" % { + "alias": filePath[len(sourceDir)+1:], + "path": filePath + }) + output.write("</qresource>") + output.write("</RCC>") Import("env") myenv = env.Clone() myenv.MergeFlags(env["SWIFT_CONTROLLERS_FLAGS"]) myenv.MergeFlags(env["SWIFTOOLS_FLAGS"]) if myenv["HAVE_XSS"] : myenv.MergeFlags(env["XSS_FLAGS"]) +if myenv["HAVE_SPARKLE"] : + myenv.MergeFlags(env["SPARKLE_FLAGS"]) myenv.MergeFlags(env["SWIFTEN_FLAGS"]) myenv.MergeFlags(env["CPPUNIT_FLAGS"]) myenv.MergeFlags(env["LIBIDN_FLAGS"]) myenv.MergeFlags(env["BOOST_FLAGS"]) myenv.MergeFlags(env["SQLITE_FLAGS"]) myenv.MergeFlags(env["ZLIB_FLAGS"]) myenv.MergeFlags(env["OPENSSL_FLAGS"]) myenv.MergeFlags(env.get("LIBXML_FLAGS", "")) myenv.MergeFlags(env.get("EXPAT_FLAGS", "")) myenv.Tool("qt4", toolpath = ["#/BuildTools/SCons/Tools"]) myenv.Tool("nsis", toolpath = ["#/BuildTools/SCons/Tools"]) myenv.EnableQt4Modules(['QtCore', 'QtGui', 'QtWebKit'], debug = False) myenv.Append(CPPPATH = ["/usr/include/phonon"]) myenv.Append(CPPPATH = ["."]) if env["PLATFORM"] == "win32" : - #myenv["LINKFLAGS"] = ["/SUBSYSTEM:CONSOLE"] - myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"]) - myenv.Append(LIBS = "qtmain") + #myenv["LINKFLAGS"] = ["/SUBSYSTEM:CONSOLE"] + myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"]) + myenv.Append(LIBS = "qtmain") myenv.Command("DefaultTheme.qrc", "../resources/themes/Default", Action(generateDefaultTheme, cmdstr = "$GENCOMSTR")) sources = [ - "main.cpp", - "QtAboutWidget.cpp", - "QtAddContactDialog.cpp", - "QtChatWindow.cpp", - "QtChatWindowFactory.cpp", - "QtJoinMUCDialog.cpp", - "QtLoginWindow.cpp", - "QtLoginWindowFactory.cpp", - "QtMainWindow.cpp", - "QtMainWindowFactory.cpp", - "QtSettingsProvider.cpp", - "QtStatusWidget.cpp", - "QtSwift.cpp", - "QtChatView.cpp", - "QtChatTabs.cpp", - "QtSoundPlayer.cpp", - "QtSystemTray.cpp", - "QtTabbable.cpp", - "QtTextEdit.cpp", - "QtXMLConsoleWidgetFactory.cpp", - "QtXMLConsoleWidget.cpp", - "ChatSnippet.cpp", - "MessageSnippet.cpp", - "SystemMessageSnippet.cpp", - "Roster/RosterModel.cpp", - "Roster/QtTreeWidget.cpp", - "Roster/QtTreeWidgetItem.cpp", - "Roster/RosterDelegate.cpp", - "EventViewer/EventView.cpp", - "EventViewer/EventModel.cpp", - "EventViewer/EventDelegate.cpp", - "QtRosterHeader.cpp", - "qrc_DefaultTheme.cc", - "qrc_Swift.cc", - ] + "main.cpp", + "QtAboutWidget.cpp", + "QtAddContactDialog.cpp", + "QtChatWindow.cpp", + "QtChatWindowFactory.cpp", + "QtJoinMUCDialog.cpp", + "QtLoginWindow.cpp", + "QtLoginWindowFactory.cpp", + "QtMainWindow.cpp", + "QtMainWindowFactory.cpp", + "QtSettingsProvider.cpp", + "QtStatusWidget.cpp", + "QtSwift.cpp", + "QtChatView.cpp", + "QtChatTabs.cpp", + "QtSoundPlayer.cpp", + "QtSystemTray.cpp", + "QtTabbable.cpp", + "QtTextEdit.cpp", + "QtXMLConsoleWidgetFactory.cpp", + "QtXMLConsoleWidget.cpp", + "ChatSnippet.cpp", + "MessageSnippet.cpp", + "SystemMessageSnippet.cpp", + "Roster/RosterModel.cpp", + "Roster/QtTreeWidget.cpp", + "Roster/QtTreeWidgetItem.cpp", + "Roster/RosterDelegate.cpp", + "EventViewer/EventView.cpp", + "EventViewer/EventModel.cpp", + "EventViewer/EventDelegate.cpp", + "QtRosterHeader.cpp", + "qrc_DefaultTheme.cc", + "qrc_Swift.cc", + ] myenv.BuildVersion("BuildVersion.h", version = env["SWIFT_VERSION"]) if env["PLATFORM"] == "win32" : - myenv.RES("../resources/Windows/Swift.rc") - sources += ["../resources/Windows/Swift.res"] + myenv.RES("../resources/Windows/Swift.rc") + sources += ["../resources/Windows/Swift.res"] if env["PLATFORM"] == "darwin" or env["PLATFORM"] == "win32" : - swiftProgram = myenv.Program("Swift", sources) + swiftProgram = myenv.Program("Swift", sources) else : - swiftProgram = myenv.Program("swift", sources) + swiftProgram = myenv.Program("swift", sources) myenv.Uic4("QtJoinMUCDialog.ui") myenv.Uic4("QtAddContactDialog.ui") myenv.Qrc("DefaultTheme.qrc") myenv.Qrc("Swift.qrc") if env["PLATFORM"] == "darwin" : - myenv.AppBundle("Swift", version = env["SWIFT_VERSION"], resources = ["../resources/MacOSX/Swift.icns"]) + frameworks = [] + if env["HAVE_SPARKLE"] : + frameworks.append(env["SPARKLE_FRAMEWORK"]) + myenv.AppBundle("Swift", version = env["SWIFT_VERSION"], resources = ["../resources/MacOSX/Swift.icns"], frameworks = frameworks) if env.get("SWIFT_INSTALLDIR", "") : - env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram) + env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram) if env["PLATFORM"] == "win32" : - if "dist" in COMMAND_LINE_TARGETS or env.GetOption("clean") : - myenv.WindowsBundle("Swift", resources = [ - os.path.join(env["OPENSSL_DIR"], "bin", "ssleay32.dll"), - os.path.join(env["OPENSSL_DIR"], "bin", "libeay32.dll"), - ], - qtimageformats = ["gif", "ico", "jpeg", "mng", "svg", "tiff"], - qtlibs = ["QtCore4", "QtGui4", "QtNetwork4", "QtWebKit4", "phonon4"]) - - myenv.Append(NSIS_OPTIONS = [ - "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"", - "/DbuildVersion=" + env["SWIFT_VERSION"] - ]) - myenv.Nsis("../Packaging/nsis/swift.nsi") + if "dist" in COMMAND_LINE_TARGETS or env.GetOption("clean") : + myenv.WindowsBundle("Swift", resources = [ + os.path.join(env["OPENSSL_DIR"], "bin", "ssleay32.dll"), + os.path.join(env["OPENSSL_DIR"], "bin", "libeay32.dll"), + ], + qtimageformats = ["gif", "ico", "jpeg", "mng", "svg", "tiff"], + qtlibs = ["QtCore4", "QtGui4", "QtNetwork4", "QtWebKit4", "phonon4"]) + + myenv.Append(NSIS_OPTIONS = [ + "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"", + "/DbuildVersion=" + env["SWIFT_VERSION"] + ]) + myenv.Nsis("../Packaging/nsis/swift.nsi") diff --git a/Swift/QtUI/main.cpp b/Swift/QtUI/main.cpp index a7a715c..b76acfa 100644 --- a/Swift/QtUI/main.cpp +++ b/Swift/QtUI/main.cpp @@ -1,11 +1,10 @@ #include <QApplication> #include "QtSwift.h" -int main(int argc, char* argv[]) -{ +int main(int argc, char* argv[]) { QApplication app(argc, argv); bool netbookMode = argc > 1; Swift::QtSwift swift(netbookMode); return app.exec(); } diff --git a/Swiften/Application/MacOSX/MacOSXApplication.h b/Swiften/Application/MacOSX/MacOSXApplication.h index e408ffd..cd5e69f 100644 --- a/Swiften/Application/MacOSX/MacOSXApplication.h +++ b/Swiften/Application/MacOSX/MacOSXApplication.h @@ -1,23 +1,25 @@ #ifndef SWIFTEN_MacOSXApplication_H #define SWIFTEN_MacOSXApplication_H #include "Swiften/Application/Application.h" #include "Swiften/Application/MacOSX/MacOSXApplicationMessageDisplay.h" +#include "Swiften/Application/MacOSX/MacOSXApplicationInitializer.h" namespace Swift { class ApplicationMessageDisplay; class MacOSXApplication : public Application { public: MacOSXApplication(const String& name); virtual boost::filesystem::path getHomeDir() const; virtual ApplicationMessageDisplay* getApplicationMessageDisplay(); boost::filesystem::path getSettingsDir() const; private: + MacOSXApplicationInitializer initializer_; MacOSXApplicationMessageDisplay messageDisplay_; }; } #endif diff --git a/Swiften/Application/SConscript b/Swiften/Application/SConscript index d13b63b..7696bd7 100644 --- a/Swiften/Application/SConscript +++ b/Swiften/Application/SConscript @@ -1,15 +1,16 @@ Import("swiften_env") sources = [ "Application.cpp", "ApplicationMessageDisplay.cpp", ] if swiften_env["PLATFORM"] == "darwin" : sources += [ "MacOSX/MacOSXApplication.cpp", - "MacOSX/MacOSXApplicationMessageDisplay.mm" + "MacOSX/MacOSXApplicationMessageDisplay.mm", + "MacOSX/MacOSXApplicationInitializer.mm", ] objects = swiften_env.StaticObject(sources) swiften_env.Append(SWIFTEN_OBJECTS = [objects]) |
Swift