From 1f7eb77fc8f31f9abcbb2b20567791276dba2757 Mon Sep 17 00:00:00 2001 From: Chris Mizerak Date: Sun, 6 May 2018 20:46:46 -0700 Subject: [PATCH] Mac add missing Qt framework --- OSCRouter.xcodeproj/project.pbxproj | 2 +- OSCRouter/EosPlatform_Mac.cpp | 5 +++- OSCRouter/EosPlatform_Mac.h | 2 +- OSCRouter/EosPlatform_Mac_Bridge.h | 3 ++- OSCRouter/EosPlatform_Mac_Native.h | 2 +- OSCRouter/EosPlatform_Mac_Native.mm | 20 +++++++++++++++- OSCRouter/MainWindow.cpp | 36 ++++++++--------------------- OSCRouter/MainWindow.h | 4 ++-- OSCRouter/main.cpp | 25 +++++++++++++------- 9 files changed, 57 insertions(+), 42 deletions(-) diff --git a/OSCRouter.xcodeproj/project.pbxproj b/OSCRouter.xcodeproj/project.pbxproj index fa95f73..e1cc213 100644 --- a/OSCRouter.xcodeproj/project.pbxproj +++ b/OSCRouter.xcodeproj/project.pbxproj @@ -270,7 +270,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "##### copy Qt platform plugins #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/platforms/libqcocoa.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\n\n##### copy Qt imageformat plugins #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqicns.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqjpeg.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqtga.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqwbmp.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqgif.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqico.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqsvg.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqtiff.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqwebp.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\n\n##### copy QtCore #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtWidgets #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtWidgets.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtGui #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtGui.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtNetwork #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtNetwork.framework/Versions/5/QtNetwork \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtNetwork.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### identify bundled Qt frameworks #####\ninstall_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5/QtCore\"\ninstall_name_tool -id @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets\"\ninstall_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork\"\n\n##### redirect executable to use bundled Qt frameworks #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtNetwork.framework/Versions/5/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\n\n##### redirect bundled frameworks/libraries to use bundled dependecies #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5/QtGui\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork\"\n\n##### platform plugins #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\ninstall_name_tool -change QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\n\n##### imageformat plugins #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqicns.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqicns.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqjpeg.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqjpeg.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtga.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtga.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwbmp.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwbmp.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqgif.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqgif.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqico.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqico.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqsvg.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqsvg.dylib\"\ninstall_name_tool -change QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqsvg.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtiff.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtiff.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwebp.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwebp.dylib\""; + shellScript = "##### copy Qt platform plugins #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/platforms/libqcocoa.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\n\n##### copy Qt imageformat plugins #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqicns.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqjpeg.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqtga.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqwbmp.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqgif.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqico.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqtiff.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\ncp ~/Qt5.6.3/5.6.3/clang_64/plugins/imageformats/libqwebp.dylib \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats\"\n\n##### copy QtCore #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtCore.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtWidgets #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtWidgets.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtGui #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtGui.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtNetwork #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtNetwork.framework/Versions/5/QtNetwork \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtNetwork.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### copy QtPrintSupport #####\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5\"\nmkdir -p \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5/Resources\"\ncp -R ~/Qt5.6.3/5.6.3/clang_64/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5\"\ncp ~/Qt5.6.3/5.6.3/clang_64/lib/QtPrintSupport.framework/Resources/Info.plist \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5/Resources\"\ncd \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions\"\nif [ ! -L Current ]; then\nln -s 5 Current\nfi\n\n##### identify bundled Qt frameworks #####\ninstall_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtCore.framework/Versions/5/QtCore\"\ninstall_name_tool -id @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets\"\ninstall_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork\"\ninstall_name_tool -id @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport\"\n\n##### redirect executable to use bundled Qt frameworks #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtNetwork.framework/Versions/5/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\ninstall_name_tool -change QtPrintSupport.framework/Versions/5/QtPrintSupport @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/MacOs/${PRODUCT_NAME}\"\n\n##### redirect bundled frameworks/libraries to use bundled dependecies #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtGui.framework/Versions/5/QtGui\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport\"\ninstall_name_tool -change QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport\"\n\n##### platform plugins #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\ninstall_name_tool -change QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\ninstall_name_tool -change QtPrintSupport.framework/Versions/5/QtPrintSupport @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/platforms/libqcocoa.dylib\"\n\n##### imageformat plugins #####\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqicns.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqicns.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqjpeg.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqjpeg.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtga.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtga.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwbmp.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwbmp.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqgif.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqgif.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqico.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqico.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtiff.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqtiff.dylib\"\ninstall_name_tool -change QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwebp.dylib\"\ninstall_name_tool -change QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui \"${CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}.${WRAPPER_EXTENSION}/Contents/Plugins/imageformats/libqwebp.dylib\""; }; 97E137551AB28E930056BE05 /* moc MainWindow */ = { isa = PBXShellScriptBuildPhase; diff --git a/OSCRouter/EosPlatform_Mac.cpp b/OSCRouter/EosPlatform_Mac.cpp index 5ae38f9..c2c2c0b 100644 --- a/OSCRouter/EosPlatform_Mac.cpp +++ b/OSCRouter/EosPlatform_Mac.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Electronic Theatre Controls, Inc., http://www.etcconnect.com +// Copyright (c) 2018 Electronic Theatre Controls, Inc., http://www.etcconnect.com // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -41,7 +41,10 @@ EosPlatform_Mac::~EosPlatform_Mac() bool EosPlatform_Mac::Initialize(std::string &error) { if(m_Platform == 0) + { m_Platform = Bridge_CreatePlatform(error); + Bridge_InitQtPlugins(); + } return (m_Platform != 0); } diff --git a/OSCRouter/EosPlatform_Mac.h b/OSCRouter/EosPlatform_Mac.h index 32edf56..47d18ae 100644 --- a/OSCRouter/EosPlatform_Mac.h +++ b/OSCRouter/EosPlatform_Mac.h @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Electronic Theatre Controls, Inc., http://www.etcconnect.com +// Copyright (c) 2018 Electronic Theatre Controls, Inc., http://www.etcconnect.com // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/OSCRouter/EosPlatform_Mac_Bridge.h b/OSCRouter/EosPlatform_Mac_Bridge.h index e3d0167..a6cd7be 100644 --- a/OSCRouter/EosPlatform_Mac_Bridge.h +++ b/OSCRouter/EosPlatform_Mac_Bridge.h @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Electronic Theatre Controls, Inc., http://www.etcconnect.com +// Copyright (c) 2018 Electronic Theatre Controls, Inc., http://www.etcconnect.com // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -29,6 +29,7 @@ void* Bridge_CreatePlatform(std::string &error); void Bridge_DestroyPlatform(void *platform); void* Bridge_BeginActivity(const std::string &reason, std::string &error); void Bridge_EndActivity(void *activity); +void Bridge_InitQtPlugins(); //////////////////////////////////////////////////////////////////////////////// diff --git a/OSCRouter/EosPlatform_Mac_Native.h b/OSCRouter/EosPlatform_Mac_Native.h index fcaa131..1d5feb4 100644 --- a/OSCRouter/EosPlatform_Mac_Native.h +++ b/OSCRouter/EosPlatform_Mac_Native.h @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Electronic Theatre Controls, Inc., http://www.etcconnect.com +// Copyright (c) 2018 Electronic Theatre Controls, Inc., http://www.etcconnect.com // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/OSCRouter/EosPlatform_Mac_Native.mm b/OSCRouter/EosPlatform_Mac_Native.mm index 7956e92..f0ce70e 100644 --- a/OSCRouter/EosPlatform_Mac_Native.mm +++ b/OSCRouter/EosPlatform_Mac_Native.mm @@ -1,4 +1,4 @@ -// Copyright (c) 2015 Electronic Theatre Controls, Inc., http://www.etcconnect.com +// Copyright (c) 2018 Electronic Theatre Controls, Inc., http://www.etcconnect.com // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -20,6 +20,10 @@ #import "EosPlatform_Mac_Native.h" #import "EosPlatform_Mac_Bridge.h" +#import +#import +#import + //////////////////////////////////////////////////////////////////////////////// @@ -112,3 +116,17 @@ + (void)EndActivity:(id)activity @end //////////////////////////////////////////////////////////////////////////////// + +void Bridge_InitQtPlugins() +{ + // only load plugins from our bundle + CFURLRef url = (CFURLRef)CFAutorelease((CFURLRef)CFBundleCopyBundleURL(CFBundleGetMainBundle())); + if(url != nil) + { + QDir dir( QUrl::fromCFURL(url).path() ); + if( dir.cd("Contents/Plugins") ) + QApplication::setLibraryPaths(QStringList() << dir.canonicalPath()); + } +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/OSCRouter/MainWindow.cpp b/OSCRouter/MainWindow.cpp index 743f62f..94d440e 100644 --- a/OSCRouter/MainWindow.cpp +++ b/OSCRouter/MainWindow.cpp @@ -33,7 +33,7 @@ //////////////////////////////////////////////////////////////////////////////// -#define APP_VERSION "0.10" +#define APP_VERSION "0.11" #define SETTING_LOG_DEPTH "LogDepth" #define SETTING_FILE_DEPTH "FileDepth" #define SETTING_LAST_FILE "LastFile" @@ -1290,6 +1290,8 @@ void RoutingTable::LoadLineFromFile(const QString &line, Router::ROUTES &routes) bool RoutingTable::SaveToFile(const QString &path) const { bool success = true; + + QDir().mkpath( QFileInfo(path).absolutePath() ); QFile f(path); if( f.open(QIODevice::WriteOnly|QIODevice::Truncate|QIODevice::Text) ) @@ -1490,7 +1492,7 @@ void RoutingTable::resizeEvent(QResizeEvent *event) //////////////////////////////////////////////////////////////////////////////// -MainWindow::MainWindow(QWidget* parent/*=0*/, Qt::WindowFlags f/*=0*/) +MainWindow::MainWindow(EosPlatform *platform, QWidget* parent/*=0*/, Qt::WindowFlags f/*=0*/) : QWidget(parent, f) , m_Settings("ETC", "OSCRouter") , m_LogDepth(200) @@ -1499,6 +1501,7 @@ MainWindow::MainWindow(QWidget* parent/*=0*/, Qt::WindowFlags f/*=0*/) , m_RouterThread(0) , m_FileLineCount(0) , m_ReconnectDelay(5000) + , m_pPlatform(platform) { #ifdef WIN32 QIcon icon; @@ -1535,18 +1538,6 @@ MainWindow::MainWindow(QWidget* parent/*=0*/, Qt::WindowFlags f/*=0*/) m_Settings.setValue(SETTING_DISABLE_SYSTEM_IDLE, static_cast(m_DisableSystemIdle?1:0)); InitLogFile(); - - m_Platform = EosPlatform::Create(); - if( m_Platform ) - { - std::string error; - if( !m_Platform->Initialize(error) ) - { - m_Log.AddError("platform initialization failed"); - delete m_Platform; - m_Platform = 0; - } - } QGridLayout *layout = new QGridLayout(this); @@ -1614,12 +1605,6 @@ MainWindow::MainWindow(QWidget* parent/*=0*/, Qt::WindowFlags f/*=0*/) MainWindow::~MainWindow() { - if( m_Platform ) - { - delete m_Platform; - m_Platform = 0; - } - Shutdown(); ShutdownLogFile(); } @@ -1742,10 +1727,10 @@ void MainWindow::Shutdown() delete m_RouterThread; m_RouterThread = 0; - if(m_Platform && m_DisableSystemIdle) + if(m_pPlatform && m_DisableSystemIdle) { std::string error; - if( m_Platform->SetSystemIdleAllowed(true,"routing stopped",error) ) + if( m_pPlatform->SetSystemIdleAllowed(true,"routing stopped",error) ) { m_Log.AddInfo("routing stopped, system idle allowed"); } @@ -1774,10 +1759,10 @@ bool MainWindow::BuildRoutes() if( !routes.empty() ) { - if(m_Platform && m_DisableSystemIdle) + if(m_pPlatform && m_DisableSystemIdle) { std::string error; - if( m_Platform->SetSystemIdleAllowed(false,"routing started",error) ) + if( m_pPlatform->SetSystemIdleAllowed(false,"routing started",error) ) { m_Log.AddInfo("routing started, system idle disabled"); } @@ -2074,8 +2059,7 @@ void MainWindow::closeEvent(QCloseEvent *event) QString path; GetPersistentSavePath(path); m_RoutingTable->SaveToFile(path); - - QWidget::closeEvent(event); + QApplication::exit(0); } //////////////////////////////////////////////////////////////////////////////// diff --git a/OSCRouter/MainWindow.h b/OSCRouter/MainWindow.h index f98b9d2..16a7ae3 100644 --- a/OSCRouter/MainWindow.h +++ b/OSCRouter/MainWindow.h @@ -363,7 +363,7 @@ class MainWindow Q_OBJECT public: - MainWindow(QWidget *parent=0, Qt::WindowFlags f=0); + MainWindow(EosPlatform *platform, QWidget *parent=0, Qt::WindowFlags f=0); virtual ~MainWindow(); virtual QSize sizeHint() const {return QSize(900,500);} @@ -390,7 +390,7 @@ private slots: ItemStateTable m_ItemStateTable; QListWidget *m_LogWidget; QSettings m_Settings; - EosPlatform *m_Platform; + EosPlatform *m_pPlatform; int m_LogDepth; int m_FileDepth; int m_FileLineCount; diff --git a/OSCRouter/main.cpp b/OSCRouter/main.cpp index bb9835c..d16bbb3 100644 --- a/OSCRouter/main.cpp +++ b/OSCRouter/main.cpp @@ -23,6 +23,7 @@ #include "EosTimer.h" #include "QtInclude.h" #include "MainWindow.h" +#include "EosPlatform.h" // must be last include #include "LeakWatcher.h" @@ -40,15 +41,20 @@ int main(int argc, char* argv[]) #endif EosTimer::Init(); + + EosPlatform *platform = EosPlatform::Create(); + if( platform ) + { + std::string error; + if( !platform->Initialize(error) ) + { + printf("platform initialization failed\n"); + delete platform; + platform = 0; + } + } QApplication app(argc, argv); - -#ifndef WIN32 - QDir dir( app.applicationDirPath() ); - dir.cdUp(); - dir.cd("Plugins"); - app.setLibraryPaths( QStringList(dir.canonicalPath()) ); -#endif app.setDesktopSettingsAware(false); app.setStyle( QStyleFactory::create("Fusion") ); @@ -71,10 +77,13 @@ int main(int argc, char* argv[]) pal.setColor(QPalette::Disabled, QPalette::ButtonText, MUTED_COLOR); app.setPalette(pal); - MainWindow *mainWindow = new MainWindow(); + MainWindow *mainWindow = new MainWindow(platform); mainWindow->show(); int result = app.exec(); delete mainWindow; + + if(platform) + delete platform; return result; }