diff --git a/CMakeLists.txt b/CMakeLists.txt index a8fd8f97..e276e90d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ endif () # Project ---------------------------------------------------------------------- project(${PROJECT_NAME}) -if (UNIX) +if (UNIX AND NOT APPLE) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags") #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags") #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" ) @@ -233,7 +233,7 @@ if (APPLE) set(MACOSX_BUNDLE_NAME ${PROJECT_NAME}) set(MACOSX_BINARY_NAME ${APP_PROJECT_NAME}) - set(MACOSX_DYNAMIC_LIBRARIES ${Boost_LIBRARIES} "${LLVM_LIBRARY_DIRS}/libLTO.dylib") + set(MACOSX_DYNAMIC_LIBRARIES ${Boost_LIBRARIES} "${LLVM_LIBRARY_DIRS}/libLTO.3.8.dylib") string(REPLACE ";" " " MACOSX_DYNAMIC_LIBRARIES "${MACOSX_DYNAMIC_LIBRARIES}") get_property(QT_CORE_PATH TARGET ${Qt5Core_LIBRARIES} PROPERTY LOCATION) @@ -247,11 +247,11 @@ if (APPLE) get_property(QT_PRINT_PATH TARGET ${Qt5PrintSupport_LIBRARIES} PROPERTY LOCATION) get_filename_component(QT_PRINT_PATH ${QT_PRINT_PATH} REALPATH) - - #get_property(QT_NETWORK_PATH TARGET ${Qt5Network_LIBRARIES} PROPERTY LOCATION) - #get_filename_component(QT_NETWORK_PATH ${QT_NETWORK_PATH} REALPATH) - list(APPEND MACOSX_QT_FRAMEWORKS ${QT_CORE_PATH} ${QT_GUI_PATH} ${QT_WIDGETS_PATH} ${QT_PRINT_PATH}) + get_property(QT_NETWORK_PATH TARGET ${Qt5Network_LIBRARIES} PROPERTY LOCATION) + get_filename_component(QT_NETWORK_PATH ${QT_NETWORK_PATH} REALPATH) + + list(APPEND MACOSX_QT_FRAMEWORKS ${QT_CORE_PATH} ${QT_GUI_PATH} ${QT_WIDGETS_PATH} ${QT_PRINT_PATH} ${QT_NETWORK_PATH}) string(REPLACE ";" " " MACOSX_QT_FRAMEWORKS "${MACOSX_QT_FRAMEWORKS}") set(MACOSX_QT_DIR "$ENV{QT_DIR}") diff --git a/script/setup.sh b/script/setup.sh index adaedde1..2edac7f9 100755 --- a/script/setup.sh +++ b/script/setup.sh @@ -48,7 +48,7 @@ if [ $PLATFORM == "Windows" ]; then echo -e $INFO "copy test_main file" cp -u setup/cxx_test/windows/test_main.cpp build - + echo -e $INFO "creating program icon" sh script/create_windows_icon.sh fi @@ -62,7 +62,7 @@ if [ $PLATFORM == "Linux" ] || [ $PLATFORM == "MacOS" ]; then cd build/Debug && cmake -G Ninja -DCMAKE_BUILD_TYPE="Debug" ../.. echo -e $INFO "run cmake with Release configuration" - cd ../Release && cmake -G Ninja -DCMAKE_BUILD_TYPE="Release" ../.. + cd ../Release && cmake -G Xcode -DCMAKE_BUILD_TYPE="Release" ../.. fi echo -e $SUCCESS "setup complete" diff --git a/setup/MacOSX/Info.plist.in b/setup/MacOSX/Info.plist.in index 5c5241c3..855af76c 100644 --- a/setup/MacOSX/Info.plist.in +++ b/setup/MacOSX/Info.plist.in @@ -36,5 +36,7 @@ CFBundleIconFile icon + LSMinimumSystemVersion + 10.10 diff --git a/setup/MacOSX/bundle_install.sh.in b/setup/MacOSX/bundle_install.sh.in index 55e3e267..5987f6db 100755 --- a/setup/MacOSX/bundle_install.sh.in +++ b/setup/MacOSX/bundle_install.sh.in @@ -14,7 +14,7 @@ APP_NAME="@MACOSX_BINARY_NAME@" DYNLIB_PATHS=(@MACOSX_DYNAMIC_LIBRARIES@) QT_DIR="@MACOSX_QT_DIR@" -QT_FRAMEWORK_PATHS=(@MACOSX_QT_FRAMEWORKS@) +QT_FRAMEWORK_PATHS=(/Users/ebsi/Documents/Qt/5.5/clang_64/lib/QtDBus.framework/Versions/5/QtDBus @MACOSX_QT_FRAMEWORKS@) if [ ! -x "$APP_NAME" ] then @@ -86,7 +86,7 @@ do FRAMEWORK_SUB_PATH=$(echo $FRAMEWORK_BIN_PATH | grep -o "\w*.framework\S*") install_name_tool -id @executable_path/../Frameworks/$FRAMEWORK_SUB_PATH $FRAMEWORK_DIR/$FRAMEWORK_SUB_PATH - install_name_tool -change $FRAMEWORK_BIN_PATH @executable_path/../Frameworks/$FRAMEWORK_SUB_PATH $APP_PATH + install_name_tool -change @rpath/$FRAMEWORK_SUB_PATH @executable_path/../Frameworks/$FRAMEWORK_SUB_PATH $APP_PATH echo "framework" $FRAMEWORK_BIN_PATH $FRAMEWORK_PATH done @@ -94,23 +94,31 @@ done # http://qt-project.org/doc/qt-4.8/deployment-mac.html echo -e $INFO "Fixing framework dependencies" -install_name_tool -change $QT_DIR/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtGui.framework/Versions/5/QtGui -install_name_tool -change $QT_DIR/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtWidgets.framework/Versions/5/QtWidgets -install_name_tool -change $QT_DIR/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui $FRAMEWORK_DIR/QtWidgets.framework/Versions/5/QtWidgets +install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtGui.framework/Versions/5/QtGui +install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtWidgets.framework/Versions/5/QtWidgets +install_name_tool -change @rpath/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui $FRAMEWORK_DIR/QtWidgets.framework/Versions/5/QtWidgets -install_name_tool -change $QT_DIR/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport -install_name_tool -change $QT_DIR/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport -install_name_tool -change $QT_DIR/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport +install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport +install_name_tool -change @rpath/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport +install_name_tool -change @rpath/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport -install_name_tool -change $QT_DIR/lib/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $PLUGIN_DIR/libqcocoa.dylib -install_name_tool -change $QT_DIR/lib/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui $PLUGIN_DIR/libqcocoa.dylib -install_name_tool -change $QT_DIR/lib/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets $PLUGIN_DIR/libqcocoa.dylib -install_name_tool -change $QT_DIR/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport $PLUGIN_DIR/libqcocoa.dylib +install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $PLUGIN_DIR/libqcocoa.dylib +install_name_tool -change @rpath/QtGui.framework/Versions/5/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui $PLUGIN_DIR/libqcocoa.dylib +install_name_tool -change @rpath/QtWidgets.framework/Versions/5/QtWidgets @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets $PLUGIN_DIR/libqcocoa.dylib +install_name_tool -change @rpath/QtPrintSupport.framework/Versions/5/QtPrintSupport @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport $PLUGIN_DIR/libqcocoa.dylib +install_name_tool -change @rpath/QtDBus.framework/Versions/5/QtDBus @executable_path/../Frameworks/QtDBus.framework/Versions/5/QtDBus $PLUGIN_DIR/libqcocoa.dylib + +install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtDBus.framework/Versions/5/QtDBus + +install_name_tool -change @rpath/QtCore.framework/Versions/5/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore $FRAMEWORK_DIR/QtNetwork.framework/Versions/5/QtNetwork +install_name_tool -change @rpath/QtDBus.framework/Versions/5/QtDBus @executable_path/../Frameworks/QtDBus.framework/Versions/5/QtDBus $FRAMEWORK_DIR/QtNetwork.framework/Versions/5/QtNetwork otool -L $FRAMEWORK_DIR/QtCore.framework/Versions/5/QtCore otool -L $FRAMEWORK_DIR/QtGui.framework/Versions/5/QtGui otool -L $FRAMEWORK_DIR/QtWidgets.framework/Versions/5/QtWidgets otool -L $FRAMEWORK_DIR/QtPrintSupport.framework/Versions/5/QtPrintSupport +otool -L $FRAMEWORK_DIR/QtDBus.framework/Versions/5/QtDBus +otool -L $FRAMEWORK_DIR/QtNetwork.framework/Versions/5/QtNetwork otool -L $PLUGIN_DIR/libqcocoa.dylib diff --git a/src/app/qt/view/QtMainView.cpp b/src/app/qt/view/QtMainView.cpp index 00bc9b14..93500fdc 100644 --- a/src/app/qt/view/QtMainView.cpp +++ b/src/app/qt/view/QtMainView.cpp @@ -64,9 +64,9 @@ void QtMainView::setStatusBar(QStatusBar* statusbar) m_window->setStatusBar(statusbar); } -void QtMainView::showStartScreen() +void QtMainView::hideStartScreen() { - m_window->showStartScreen(); + m_window->hideScreens(); } void QtMainView::setTitle(const std::string& title) diff --git a/src/app/qt/view/QtMainView.h b/src/app/qt/view/QtMainView.h index 93fac868..83b2bb44 100644 --- a/src/app/qt/view/QtMainView.h +++ b/src/app/qt/view/QtMainView.h @@ -33,7 +33,7 @@ public: virtual void setStatusBar(QStatusBar* statusBar); // MainView implementation - virtual void showStartScreen(); + virtual void hideStartScreen(); virtual void setTitle(const std::string& title); private: diff --git a/src/app/qt/window/QtMainWindow.cpp b/src/app/qt/window/QtMainWindow.cpp index 90b6daff..575f3926 100644 --- a/src/app/qt/window/QtMainWindow.cpp +++ b/src/app/qt/window/QtMainWindow.cpp @@ -71,7 +71,11 @@ void QtMainWindow::init() { ApplicationSettings* appSettings = ApplicationSettings::getInstance().get(); - if (!appSettings->getUserHasSeenSettings()) + if (appSettings->getUserHasSeenSettings()) + { + showStartScreen(); + } + else { openSettings(); m_startScreenWasVisible = true; diff --git a/src/app/qt/window/QtProjectSetupScreen.cpp b/src/app/qt/window/QtProjectSetupScreen.cpp index fdf0d02c..36a6b652 100644 --- a/src/app/qt/window/QtProjectSetupScreen.cpp +++ b/src/app/qt/window/QtProjectSetupScreen.cpp @@ -141,7 +141,7 @@ void QtProjectSetupScreen::handleCancelButtonPress() emit canceled(); } -void QtProjectSetupScreen::handleDoneButtonPress() +void QtProjectSetupScreen::handleUpdateButtonPress() { if (m_projectName->text().isEmpty()) { diff --git a/src/app/qt/window/QtProjectSetupScreen.h b/src/app/qt/window/QtProjectSetupScreen.h index 9e3143bb..a37c6108 100644 --- a/src/app/qt/window/QtProjectSetupScreen.h +++ b/src/app/qt/window/QtProjectSetupScreen.h @@ -48,7 +48,7 @@ protected: private slots: void handleCancelButtonPress(); - void handleDoneButtonPress(); + void handleUpdateButtonPress(); private: QLineEdit* m_projectName; diff --git a/src/app/qt/window/QtSettingsWindow.cpp b/src/app/qt/window/QtSettingsWindow.cpp index 939a0daf..8812c07e 100644 --- a/src/app/qt/window/QtSettingsWindow.cpp +++ b/src/app/qt/window/QtSettingsWindow.cpp @@ -144,7 +144,7 @@ void QtSettingsWindow::setupForm() m_doneButton->setObjectName("windowButton"); connect(m_cancelButton, SIGNAL(clicked()), this, SLOT(handleCancelButtonPress())); - connect(m_doneButton, SIGNAL(clicked()), this, SLOT(handleDoneButtonPress())); + connect(m_doneButton, SIGNAL(clicked()), this, SLOT(handleUpdateButtonPress())); QHBoxLayout* buttons = new QHBoxLayout(); buttons->addWidget(m_cancelButton); diff --git a/src/lib/Application.cpp b/src/lib/Application.cpp index ea61e6a6..f62a88ce 100644 --- a/src/lib/Application.cpp +++ b/src/lib/Application.cpp @@ -36,10 +36,7 @@ std::shared_ptr Application::create(ViewFactory* viewFactory, Netwo if (startupProjectFilePath.size()) { MessageLoadProject(startupProjectFilePath).dispatch(); - } - else - { - ptr->m_mainView->showStartScreen(); + ptr->m_mainView->hideStartScreen(); } ptr->m_ideCommunicationController = networkFactory->createIDECommunicationController(); diff --git a/src/lib/component/view/MainView.h b/src/lib/component/view/MainView.h index f47a6195..6f5374ab 100644 --- a/src/lib/component/view/MainView.h +++ b/src/lib/component/view/MainView.h @@ -11,7 +11,7 @@ public: MainView(); virtual ~MainView(); - virtual void showStartScreen() = 0; + virtual void hideStartScreen() = 0; virtual void setTitle(const std::string& title) = 0; }; diff --git a/web/coati_manual.pdf b/web/coati_manual.pdf new file mode 100644 index 00000000..0a1f1dd0 Binary files /dev/null and b/web/coati_manual.pdf differ