make sure QWinTaskbarProgress and QWinTaskbarButton is only used in windows compiles

This commit is contained in:
MA-DEVELOP\apeltauer
2019-05-02 09:25:18 +02:00
committed by wmayer
parent 3f367f8292
commit 8644b61e32
4 changed files with 16 additions and 12 deletions

View File

@@ -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")

View File

@@ -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}

View File

@@ -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
}

View File

@@ -25,7 +25,7 @@
#define GUI_PROGRESSBAR_H
#include <QProgressBar>
#if QT_VERSION >= 0x050000
#ifdef QT_WINEXTRAS_LIB
#include <QWinTaskbarProgress>
#include <QWinTaskbarButton>
#endif
@@ -197,9 +197,10 @@ private:
ProgressBarPrivate* d;
Sequencer* sequencer;
#ifdef QT_WINEXTRAS_LIB
QWinTaskbarProgress* m_taskbarProgress;
QWinTaskbarButton* m_taskbarButton;
#endif
friend class Sequencer;
};