diff --git a/CMakeLists.txt b/CMakeLists.txt index d01884ab1a..0233b0084e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -913,9 +913,9 @@ endif() endif() endif() endif() - if(MSVC) + if(MSVC AND ${Qt5Core_VERSION} VERSION_GREATER "5.2.0") find_package(Qt5WinExtras REQUIRED) - endif(MSVC) + endif() endif(BUILD_GUI) # This is a special version of the built in macro qt5_wrap_cpp @@ -1344,9 +1344,9 @@ ELSE(NOT BUILD_QT5) MESSAGE(STATUS "Qt5WebKitWidgets: not needed (BUILD_WEB)") MESSAGE(STATUS "Qt5WebEngineWidgets: not needed (BUILD_WEB)") ENDIF(BUILD_WEB) - IF(MSVC) + IF(${Qt5WinExtras_FOUND}) MESSAGE(STATUS "Qt5WinExtras: ${Qt5WinExtras_VERSION}") - ENDIF(MSVC) + ENDIF() ELSE(BUILD_GUI) MESSAGE(STATUS "Qt5Widgets: not needed") diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index 3541861e23..9b1f5a807f 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -95,14 +95,14 @@ if (BUILD_QT5) ${Qt5Network_LIBRARIES} ${Qt5UiTools_LIBRARIES} ) - if(MSVC) + if(${Qt5WinExtras_FOUND}) include_directories( ${Qt5WinExtras_INCLUDE_DIRS} ) list(APPEND FreeCADGui_LIBS ${Qt5WinExtras_LIBRARIES} ) - endif(MSVC) + endif() else() include_directories( ${QT_INCLUDE_DIR} diff --git a/src/Gui/ProgressBar.cpp b/src/Gui/ProgressBar.cpp index 1e0de3d1b5..97879b1fbc 100644 --- a/src/Gui/ProgressBar.cpp +++ b/src/Gui/ProgressBar.cpp @@ -335,9 +335,11 @@ QProgressBar* Sequencer::getProgressBar(QWidget* parent) ProgressBar::ProgressBar (Sequencer* s, QWidget * parent) : QProgressBar(parent), sequencer(s) - , m_taskbarButton(nullptr) - , m_taskbarProgress(nullptr) { +#ifdef QT_WINEXTRAS_LIB + m_taskbarButton = nullptr; + m_taskbarButton = nullptr; +#endif d = new Gui::ProgressBarPrivate; d->minimumDuration = 2000; // 2 seconds d->delayShowTimer = new QTimer(this); @@ -464,7 +466,7 @@ bool Gui::ProgressBar::setupTaskBarProgress(void) { if (!m_taskbarButton || !m_taskbarProgress) { -#if QT_VERSION >= 0x050000 +#ifdef QT_WINEXTRAS_LIB m_taskbarButton = new QWinTaskbarButton(this); m_taskbarButton->setWindow(MainWindow::getInstance()->windowHandle()); //m_myButton->setOverlayIcon(QIcon("")); @@ -472,7 +474,8 @@ bool Gui::ProgressBar::setupTaskBarProgress(void) m_taskbarProgress = m_taskbarButton->progress(); m_taskbarProgress->setVisible(true); return true; -#else +#endif +#ifndef QT_WINEXTRAS_LIB return false; #endif } diff --git a/src/Gui/ProgressBar.h b/src/Gui/ProgressBar.h index 70d8fdfdeb..80ad42988e 100644 --- a/src/Gui/ProgressBar.h +++ b/src/Gui/ProgressBar.h @@ -25,7 +25,7 @@ #define GUI_PROGRESSBAR_H #include -#if QT_VERSION >= 0x050000 +#ifdef QT_WINEXTRAS_LIB #include #include #endif @@ -197,9 +197,10 @@ private: ProgressBarPrivate* d; Sequencer* sequencer; +#ifdef QT_WINEXTRAS_LIB QWinTaskbarProgress* m_taskbarProgress; QWinTaskbarButton* m_taskbarButton; - +#endif friend class Sequencer; };