From bf6d0a521cbab60a99675c10f5f7a3f0a4d76d61 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 28 Aug 2013 20:58:22 +0200 Subject: Compile with Qt5 --- cmake/modules/QtVersionAbstraction.cmake | 15 +++++++++----- .../qtsingleapplication/qtsingleapplication.cpp | 2 ++ .../qtsingleapplication/qtsingleapplication.h | 2 ++ src/CMakeLists.txt | 4 ++-- src/mirall/application.cpp | 4 ++-- src/mirall/folderstatusmodel.cpp | 3 +++ src/mirall/ignorelisteditor.cpp | 1 - src/mirall/itemprogressdialog.cpp | 3 +++ src/mirall/occinfo.h | 2 +- src/mirall/sslerrordialog.cpp | 23 +++++++++++++++++----- src/mirall/updatedetector.cpp | 4 ++++ 11 files changed, 47 insertions(+), 16 deletions(-) diff --git a/cmake/modules/QtVersionAbstraction.cmake b/cmake/modules/QtVersionAbstraction.cmake index 92e60d2b2..b3b519fea 100644 --- a/cmake/modules/QtVersionAbstraction.cmake +++ b/cmake/modules/QtVersionAbstraction.cmake @@ -14,18 +14,19 @@ if( NOT BUILD_WITH_QT4 ) find_package(Qt5Location QUIET) find_package(Qt5Network QUIET) find_package(Qt5Sensors QUIET) + find_package(Qt5Xml QUIET) # find_package(Qt5WebKitWidgets QUIET) message(STATUS "Using Qt 5!") - include_directories(${Qt5Widgets_INCLUDES}) - add_definitions(${Qt5Widgets_DEFINITIONS}) - set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") - - # We need this to find the paths to qdbusxml2cpp and co find_package(Qt5DBus REQUIRED) + include_directories("${Qt5Widgets_INCLUDES} ${Qt5DBus_INCLUDES}") + add_definitions(${Qt5Widgets_DEFINITIONS} ${Qt5DBus_DEFINITIONS}) + set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") + + macro(qt_wrap_ui) qt5_wrap_ui(${ARGN}) endmacro() @@ -48,6 +49,7 @@ if( NOT BUILD_WITH_QT4 ) endmacro() macro(qt_wrap_cpp) + qt5_wrap_cpp(${ARGN}) endmacro() @@ -55,6 +57,9 @@ if( NOT BUILD_WITH_QT4 ) endmacro() set(QT_RCC_EXECUTABLE "${Qt5Core_RCC_EXECUTABLE}") + + #Enable deprecated symbols + add_definitions("-DQT_DISABLE_DEPRECATED_BEFORE=0") endif() endif() if( NOT Qt5Core_DIR ) diff --git a/src/3rdparty/qtsingleapplication/qtsingleapplication.cpp b/src/3rdparty/qtsingleapplication/qtsingleapplication.cpp index b17484576..69e6f3299 100644 --- a/src/3rdparty/qtsingleapplication/qtsingleapplication.cpp +++ b/src/3rdparty/qtsingleapplication/qtsingleapplication.cpp @@ -61,11 +61,13 @@ QtSingleApplication::QtSingleApplication(const QString &appId, int &argc, char * } +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) QtSingleApplication::QtSingleApplication(int &argc, char **argv, Type type) : QApplication(argc, argv, type) { sysInit(); } +#endif #if defined(Q_WS_X11) diff --git a/src/3rdparty/qtsingleapplication/qtsingleapplication.h b/src/3rdparty/qtsingleapplication/qtsingleapplication.h index 62aaca3f9..6b705d65e 100644 --- a/src/3rdparty/qtsingleapplication/qtsingleapplication.h +++ b/src/3rdparty/qtsingleapplication/qtsingleapplication.h @@ -41,7 +41,9 @@ class QtSingleApplication : public QApplication public: QtSingleApplication(int &argc, char **argv, bool GUIenabled = true); QtSingleApplication(const QString &id, int &argc, char **argv); +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) QtSingleApplication(int &argc, char **argv, Type type); +#endif #if defined(Q_WS_X11) explicit QtSingleApplication(Display *dpy, Qt::HANDLE visual = 0, Qt::HANDLE colormap = 0); QtSingleApplication(Display *dpy, int &argc, char **argv, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 64c8d92ba..5de879e2a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -277,7 +277,7 @@ endif(NOT WIN32) # add_executable( ${APPLICATION_EXECUTABLE} main.cpp ${final_src}) add_executable( ${APPLICATION_EXECUTABLE} WIN32 main.cpp ${final_src}) - qt5_use_modules(${APPLICATION_EXECUTABLE} Widgets Network Xml) + qt5_use_modules(${APPLICATION_EXECUTABLE} Widgets Network Xml DBus) else() set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}") include(DeployQt4) @@ -287,7 +287,7 @@ else() # we must add MACOSX_BUNDLE only if building a bundle add_executable( ${APPLICATION_EXECUTABLE} WIN32 MACOSX_BUNDLE main.cpp ${final_src}) - qt5_use_modules(${APPLICATION_EXECUTABLE} Widgets Network Xml) + qt5_use_modules(${APPLICATION_EXECUTABLE} Widgets Network Xml DBus) #FIXME: hardcoded path if ( EXISTS ${CSYNC_BINARY_DIR}/modules/ocsync_owncloud.so ) diff --git a/src/mirall/application.cpp b/src/mirall/application.cpp index dda81efb9..f823ac3fc 100644 --- a/src/mirall/application.cpp +++ b/src/mirall/application.cpp @@ -45,8 +45,6 @@ #include #endif -#include -#include #include #include #include @@ -54,6 +52,8 @@ #include #include #include +#include +#include namespace Mirall { diff --git a/src/mirall/folderstatusmodel.cpp b/src/mirall/folderstatusmodel.cpp index feffbcc9c..75a41c37f 100644 --- a/src/mirall/folderstatusmodel.cpp +++ b/src/mirall/folderstatusmodel.cpp @@ -17,6 +17,9 @@ #include #include +#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) +#include +#endif namespace Mirall { diff --git a/src/mirall/ignorelisteditor.cpp b/src/mirall/ignorelisteditor.cpp index a9606f7d8..d7b1f2663 100644 --- a/src/mirall/ignorelisteditor.cpp +++ b/src/mirall/ignorelisteditor.cpp @@ -20,7 +20,6 @@ #include #include #include -#include #include #include diff --git a/src/mirall/itemprogressdialog.cpp b/src/mirall/itemprogressdialog.cpp index a08647ec8..388dd6fc3 100644 --- a/src/mirall/itemprogressdialog.cpp +++ b/src/mirall/itemprogressdialog.cpp @@ -12,6 +12,9 @@ */ #include +#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) +#include +#endif #include "mirall/itemprogressdialog.h" #include "mirall/syncresult.h" diff --git a/src/mirall/occinfo.h b/src/mirall/occinfo.h index f0092f79a..a46e5ef34 100644 --- a/src/mirall/occinfo.h +++ b/src/mirall/occinfo.h @@ -5,7 +5,7 @@ #include #include -#include +#include namespace Mirall { diff --git a/src/mirall/sslerrordialog.cpp b/src/mirall/sslerrordialog.cpp index 40f9dbeb5..b3876476d 100644 --- a/src/mirall/sslerrordialog.cpp +++ b/src/mirall/sslerrordialog.cpp @@ -18,11 +18,24 @@ #include #include +#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) +#include +#endif + #include "ui_sslerrordialog.h" namespace Mirall { + +#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) +namespace Utility { + // Used for QSSLCertificate::subjectInfo which returns a QStringList in Qt5, but a QString in Qt4 + QString escape(const QStringList &l) { return escape(l.join(';')); } +} +#endif + + SslErrorDialog::SslErrorDialog(QWidget *parent) : QDialog(parent), _allTrusted(false), _ui(new Ui::SslErrorDialog) { @@ -137,7 +150,7 @@ QString SslErrorDialog::certDiv( QSslCertificate cert ) const { QString msg; msg += QL("
"); - msg += QL("

") + tr("with Certificate %1").arg( cert.subjectInfo( QSslCertificate::CommonName )) + QL("

"); + msg += QL("

") + tr("with Certificate %1").arg( Utility::escape(cert.subjectInfo( QSslCertificate::CommonName ))) + QL("

"); msg += QL("
"); QStringList li; @@ -165,12 +178,12 @@ QString SslErrorDialog::certDiv( QSslCertificate cert ) const msg += QL("
" ); - msg += QL("

") + tr("Issuer: %1").arg(Qt::escape(cert.issuerInfo( QSslCertificate::CommonName))) + QL("

"); + msg += QL("

") + tr("Issuer: %1").arg(Utility::escape(cert.issuerInfo( QSslCertificate::CommonName))) + QL("

"); msg += QL("
"); li.clear(); - li << tr("Organization: %1").arg(Qt::escape(cert.issuerInfo( QSslCertificate::Organization))); - li << tr("Unit: %1").arg(Qt::escape(cert.issuerInfo( QSslCertificate::OrganizationalUnitName))); - li << tr("Country: %1").arg(Qt::escape(cert.issuerInfo( QSslCertificate::CountryName))); + li << tr("Organization: %1").arg(Utility::escape(cert.issuerInfo( QSslCertificate::Organization))); + li << tr("Unit: %1").arg(Utility::escape(cert.issuerInfo( QSslCertificate::OrganizationalUnitName))); + li << tr("Country: %1").arg(Utility::escape(cert.issuerInfo( QSslCertificate::CountryName))); msg += QL("

") + li.join(QL("
")) + QL("

"); msg += QL("
" ); msg += QL("
" ); diff --git a/src/mirall/updatedetector.cpp b/src/mirall/updatedetector.cpp index 628463db3..fe3c43525 100644 --- a/src/mirall/updatedetector.cpp +++ b/src/mirall/updatedetector.cpp @@ -23,6 +23,10 @@ #include #include #include +#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) +#include +#endif + namespace Mirall { -- cgit v1.2.3