Update qt5 porting
authorJulien Lavergne <julien.lavergne@gmail.com>
Sun, 11 May 2014 11:15:58 +0000 (13:15 +0200)
committerHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Sat, 24 May 2014 03:37:03 +0000 (11:37 +0800)
20 files changed:
CMakeLists.txt
aboutdialog/lxqtaboutdialog_p.h
aboutdialog/technicalinfo.cpp
addplugindialog/lxqtaddplugindialog.cpp
configdialog/lxqtconfigdialog.cpp
configdialog/lxqtconfigdialog.h
configdialog/lxqtpageselectwidget.cpp
configdialog/lxqtpageselectwidget.h
lxqtapplication.cpp
lxqtautostartentry.cpp
lxqtautostartentry.h
lxqtgridlayout.cpp
lxqtgridlayout.h
lxqtplugininfo.h
lxqtpowermanager.cpp
lxqtscreensaver.cpp
lxqtscreensaver.h
lxqtsettings.cpp
lxqttranslator.cpp
lxqtxfitman.cpp

index 1c995c5..157046f 100644 (file)
@@ -137,18 +137,21 @@ if((USE_QT4 AND USE_QT5) OR
     endif()
 endif()
 
+cmake_minimum_required(VERSION 2.8.9)
 
-if(USE_QT5)
-    cmake_minimum_required(VERSION 2.8.9)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
-    set(CMAKE_INCLUDE_CURRENT_DIR ON)
+if(USE_QT5)
+    #FIXME: Work only when build with Qt5
     set(CMAKE_AUTOMOC ON)
-    set(CMAKE_POSITION_INDEPENDENT_CODE ON)
 
     find_package(Qt5Widgets REQUIRED QUIET)
     find_package(Qt5DBus REQUIRED QUIET)
     find_package(Qt5X11Extras REQUIRED QUIET)
     find_package(Qt5LinguistTools REQUIRED QUIET)
+    find_package(Qt5Xdg REQUIRED)
+
     message(STATUS "Building with Qt ${Qt5Core_VERSION_STRING}")
 
     QT5_WRAP_UI(UIS ${FORMS})
@@ -159,9 +162,10 @@ if(USE_QT5)
     )
 
     set(LXQT_QT_VERSION "5")
-    set(LXQT_PKG_CONFIG_REQUIRES "Qt5Widgets Qt5Xml")
+    set(LXQT_PKG_CONFIG_REQUIRES "Qt5Widgets Qt5Xml Qt5DBus Qt5X11Extras")
 else()
-    find_package(Qt4 REQUIRED QUIET)
+    find_package(Qt4 REQUIRED QtCore QtGui QUIET)
+    find_package(qtxdg REQUIRED)
     message(STATUS "Building with Qt ${QTVERSION}")
 
     include(${QT_USE_FILE})
@@ -178,11 +182,10 @@ else()
     set(LXQT_PKG_CONFIG_REQUIRES "QtCore, QtXml")
 endif()
 
-find_package(X11 REQUIRED QUIET)
-
-find_package(qtxdg REQUIRED)
 include(${QTXDG_USE_FILE})
 
+find_package(X11 REQUIRED QUIET)
+
 include_directories (
     ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
     ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTDBUS_INCLUDE_DIR}
@@ -195,7 +198,7 @@ include(GNUInstallDirs)
 
 set(LXQT_VERSION ${LXQT_MAJOR_VERSION}.${LXQT_MINOR_VERSION}.${LXQT_PATCH_VERSION})
 set(LXQT_LIBRARY_NAME "lxqt${LXQT_QT_VERSION}")
-set(LXQT_SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/lxqt)
+set(LXQT_SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/lxqt${LXQT_QT_VERSION})
 set(LXQT_TRANSLATIONS_DIR ${LXQT_SHARE_DIR}/translations)
 
 set(LXQT_INTREE_INCLUDE_DIR     ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include)
@@ -226,7 +229,6 @@ check_portable_headers(H_FILES ${PUB_HDRS} LINKS ${INTREE_PORTABLE_HEADERS})
 create_portable_headers(INTREE_PORTABLE_HEADERS ${LXQT_INTREE_INCLUDE_DIR}/LxQt ${PUBLIC_CLASSES})
 check_portable_headers(H_FILES ${PUB_HDRS} LINKS ${INTREE_PORTABLE_HEADERS})
 
-
 #************************************************
 # Create in-tree build infrastructure
 #************************************************
@@ -274,9 +276,9 @@ endif()
 add_definitions(-DCOMPILE_LIBLXQT)
 
 # create the portable headers *******************
-include(create_portable_headers)
-create_portable_headers(PORTABLE_HEADERS ${PUBLIC_CLASSES})
-check_portable_headers("${PUB_HDRS}")
+#include(create_portable_headers)
+#create_portable_headers(PORTABLE_HEADERS ${PUBLIC_CLASSES})
+#check_portable_headers("${PUB_HDRS}")
 #************************************************
 
 configure_file(
@@ -286,8 +288,8 @@ configure_file(
 )
 
 install(FILES 
-    ${CMAKE_CURRENT_BINARY_DIR}/install/lxqt-config.cmake
-    DESTINATION ${LXQT_INSTALL_CMAKE_DIR}/lxqt
+    ${CMAKE_CURRENT_BINARY_DIR}/install/${LXQT_LIBRARY_NAME}-config.cmake
+    DESTINATION ${LXQT_INSTALL_CMAKE_DIR}/${LXQT_LIBRARY_NAME}
     COMPONENT Devel
 )
 
@@ -308,7 +310,11 @@ install(EXPORT
 
 include(translatorsinfo/CMakeLists.txt)
 get_translatorsinfo_qrc(translatorsinfo_qrc)
-qt4_add_resources(QRC_CXX_SOURCES ${translatorsinfo_qrc})
+if(USE_QT5)
+    qt5_add_resources(QRC_CXX_SOURCES ${translatorsinfo_qrc})
+else()
+    qt4_add_resources(QRC_CXX_SOURCES ${translatorsinfo_qrc})
+endif()
 
 add_library(${LXQT_LIBRARY_NAME}
     SHARED ${PUB_HDRS}
@@ -348,12 +354,13 @@ install(TARGETS
 
 export(TARGETS ${LXQT_LIBRARY_NAME} ${QTXDG_TARGET} FILE ${LXQT_INTREE_TRAGETS_FILE})
 
-# Install in two places for inclusions like "include <lxde/lxdeclass.h>" and "include <LxQt/Class>".
-install(FILES ${PUB_HDRS}         DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/lxqt)
-install(FILES ${PORTABLE_HEADERS} DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/lxqt)
+# Install in two places for inclusions like "include <lxqt/lxdeclass.h>" and "include <LxQt/Class>".
+# FIXME: Install in different path for Qt5 to make possible installation of 2 version of the library 
+install(FILES ${PUB_HDRS}                DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/lxqt${LXQT_QT_VERSION})
+install(FILES ${INTREE_PORTABLE_HEADERS} DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/lxqt${LXQT_QT_VERSION})
 
-install(FILES ${PUB_HDRS}         DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/LxQt)
-install(FILES ${PORTABLE_HEADERS} DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/LxQt)
+install(FILES ${PUB_HDRS}                DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/LxQt${LXQT_QT_VERSION})
+install(FILES ${INTREE_PORTABLE_HEADERS} DESTINATION ${LXQT_INSTALL_INCLUDE_DIR}/LxQt${LXQT_QT_VERSION})
 
 install(FILES ${QM_FILES} DESTINATION ${LXQT_TRANSLATIONS_DIR})
 
index dca74e0..b90604d 100644 (file)
 #ifndef LXQT_ABOUTDIALOG_P_H
 #define LXQT_ABOUTDIALOG_P_H
 
-#include <QtGui/QDialog>
 #include "ui_lxqtaboutdialog.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QtWidgets>
+#else
+#include <QtGui/QDialog>
+#endif
+
 namespace LxQt
 {
 
index 1068bdf..948edd9 100644 (file)
 
 
 #include "technicalinfo.h"
-#include <qtxdg/XdgDirs>
 #include "lxqttranslator.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgDirs>
+#else
+#include <qtxdg/XdgDirs>
+#endif
+
+
 using namespace LxQt;
 
 class LxQt::TechInfoTable
index d7f6f26..331fae5 100644 (file)
  *
  * END_COMMON_COPYRIGHT_HEADER */
 
-
 #include "lxqtaddplugindialog.h"
 #include "ui_lxqtaddplugindialog.h"
-#include <qtxdg/XdgIcon>
-#include <QtGui/QListWidgetItem>
-#include <QtGui/QItemDelegate>
-#include <QtGui/QTextDocument>
 #include <QStyledItemDelegate>
-#include <QtGui/QIcon>
 #include <QPainter>
 #include <QDebug>
 #include <QTextBrowser>
 #include <QAbstractTextDocumentLayout>
-
 #include <QLineEdit>
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgIcon>
+#include <QtWidgets>
+#else
+#include <qtxdg/XdgIcon>
+#include <QtGui/QListWidgetItem>
+#include <QtGui/QItemDelegate>
+#include <QtGui/QTextDocument>
+#include <QtGui/QIcon>
+#endif
+
 #include "lxqttranslator.h"
 
 using namespace LxQt;
index 19e0dc4..31f1184 100644 (file)
 #include "lxqtconfigdialog.h"
 #include "ui_lxqtconfigdialog.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgIcon>
+#include <QtWidgets>
+#else
 #include <qtxdg/XdgIcon>
 #include <QtGui/QPushButton>
+#endif
 
 using namespace LxQt;
 
index 4aaaeda..d065c32 100644 (file)
 
 #include <lxqtsettings.h>
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QDialog>
+#include <QAbstractButton>
+#else
 #include <QtGui/QDialog>
 #include <QtGui/QAbstractButton>
+#endif
+
 #include "lxqtglobals.h"
 
 namespace Ui {
index 8401bb8..977ee5f 100644 (file)
 
 
 #include "lxqtpageselectwidget.h"
-#include <QtGui/QStyledItemDelegate>
 #include <QtCore/QDebug>
+
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QStyledItemDelegate>
+#include <QtWidgets>
+#else
+#include <QtGui/QStyledItemDelegate>
 #include <QtGui/QScrollBar>
+#endif
 
 using namespace LxQt;
 
index de34a55..1b22022 100644 (file)
 #ifndef LXQTPAGESELECTWIDGET_H
 #define LXQTPAGESELECTWIDGET_H
 
-#include <QtGui/QListWidget>
 #include "lxqtglobals.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QtWidgets>
+#else
+#include <QtGui/QListWidget>
+#endif
+
 namespace LxQt
 {
 
index 4aaf618..76ddaa0 100644 (file)
 
 #include <QtCore/QDir>
 
-#include <qtxdg/XdgIcon>
-#include <qtxdg/XdgDirs>
-
 #include "lxqtapplication.h"
 #include "lxqtsettings.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgIcon>
+#include <qt5xdg/XdgDirs>
+#else
+#include <qtxdg/XdgIcon>
+#include <qtxdg/XdgDirs>
+#endif
+
 using namespace LxQt;
 
 #define COLOR_DEBUG "\033[32;2m"
index 0e8e781..e681c13 100644 (file)
  * END_COMMON_COPYRIGHT_HEADER */
 
 #include "lxqtautostartentry.h"
+#include <QtCore/QFileInfo>
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgAutoStart>
+#include <qt5xdg/XdgDirs>
+#else
 #include <qtxdg/XdgAutoStart>
 #include <qtxdg/XdgDirs>
-#include <QtCore/QFileInfo>
+#endif
 
 using namespace LxQt;
 
index 1fbd2b4..8ab21b5 100644 (file)
 #ifndef LXQTAUTOSTARTENTRY_H
 #define LXQTAUTOSTARTENTRY_H
 
-#include <qtxdg/XdgDesktopFile>
 #include "lxqtglobals.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgDesktopFile>
+#else
+#include <qtxdg/XdgDesktopFile>
+#endif
+
 namespace LxQt
 {
 
index 0ad7923..1053f4b 100644 (file)
 
 
 #include "lxqtgridlayout.h"
-#include <QtGui/QWidget>
 #include <QtCore/QDebug>
 #include <math.h>
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QWidget>
+#else
+#include <QtGui/QWidget>
+#endif
+
 using namespace LxQt;
 
 class LxQt::GridLayoutPrivate
index 6fa4e79..1a2a19b 100644 (file)
 #ifndef LXQTGRIDLAYOUT_H
 #define LXQTGRIDLAYOUT_H
 
-#include <QtGui/QLayout>
 #include <QtCore/QList>
 #include "lxqtglobals.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QLayout>
+#else
+#include <QtGui/QLayout>
+#endif
+
+
 namespace LxQt
 {
 
index 564b8d9..33483ac 100644 (file)
@@ -29,7 +29,6 @@
 #ifndef LXQTPLUGININFO_H
 #define LXQTPLUGININFO_H
 
-#include <qtxdg/XdgDesktopFile>
 #include <QtCore/QString>
 #include <QtCore/QList>
 
 #include <QtCore/QDebug>
 #include "lxqtglobals.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgDesktopFile>
+#else
+#include <qtxdg/XdgDesktopFile>
+#endif
+
 class QLibrary;
 
 namespace LxQt
index 1591b23..1137539 100644 (file)
@@ -27,7 +27,6 @@
 
 #include "lxqtpowermanager.h"
 #include "lxqtpower/lxqtpower.h"
-#include <qtxdg/XdgIcon>
 #include <QDBusInterface>
 #include <QMessageBox>
 #include <QApplication>
 #include "lxqttranslator.h"
 #include "lxqtglobals.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgIcon>
+#else
+#include <qtxdg/XdgIcon>
+#endif
+
 namespace LxQt {
 
 class LXQT_API MessageBox: public QMessageBox
index 0e8a22a..3d69cf8 100644 (file)
  * END_COMMON_COPYRIGHT_HEADER */
 
 #include <QtCore/QProcess>
-#include <QtGui/QMessageBox>
-
-#include <qtxdg/XdgIcon>
 #include "lxqtscreensaver.h"
 #include "lxqttranslator.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgIcon>
+#include <QtWidgets>
+#include <QMessageBox>
+#include <QAction>
+#else
+#include <qtxdg/XdgIcon>
+#include <QtGui/QMessageBox>
+#endif
+
 using namespace LxQt;
 
 ScreenSaver::ScreenSaver(QObject * parent)
index 1fbf144..9b7dcd1 100644 (file)
 
 #include <QtCore/QProcess>
 #include <QtCore/QObject>
-#include <QtGui/QAction>
 #include "lxqtglobals.h"
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QtWidgets>
+#else
+#include <QtGui/QAction>
+#endif
+
 class QProcess;
 
 namespace LxQt
index 47ed447..4fe7bc3 100644 (file)
@@ -27,8 +27,6 @@
  * END_COMMON_COPYRIGHT_HEADER */
 
 #include "lxqtsettings.h"
-#include <qtxdg/XdgIcon>
-#include <qtxdg/XdgDirs>
 #include <QtCore/QDebug>
 #include <QtCore/QEvent>
 #include <QtCore/QDir>
 #include <QtCore/QFileSystemWatcher>
 #include <QtCore/QSharedData>
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgIcon>
+#include <qt5xdg/XdgDirs>
+#else
+#include <qtxdg/XdgIcon>
+#include <qtxdg/XdgDirs>
+#endif
+
 using namespace LxQt;
 
 class LxQt::SettingsPrivate
index cf94577..4dfd822 100644 (file)
@@ -5,9 +5,14 @@
 #include <QCoreApplication>
 #include <QLibraryInfo>
 #include <QStringList>
-#include <qtxdg/XdgDirs>
 #include <QFileInfo>
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <qt5xdg/XdgDirs>
+#else
+#include <qtxdg/XdgDirs>
+#endif
+
 using namespace LxQt;
 
 /************************************************
index 3636a5c..a989c10 100644 (file)
  *
  * END_COMMON_COPYRIGHT_HEADER */
 
-
-
-#include <QtGui/QX11Info>
 #include <QtCore/QList>
-#include <QtGui/QApplication>
 #include <QtCore/QDebug>
-#include <QtGui/QDesktopWidget>
 
 #include <stdint.h>
-#include "lxqtxfitman.h"
-
 #include <stdio.h>
 #include <stdlib.h>
-#include <X11/Xutil.h>
 #include <assert.h>
-#include <X11/Xatom.h>
-#include <X11/Xlib.h>
 
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#include <QtX11Extras/QX11Info>
+#include <QtWidgets>
+#include <QDesktopWidget>
+#include <QApplication>
+#else
+#include <QtGui/QX11Info>
+#include <QtGui/QApplication>
+#include <QtGui/QDesktopWidget>
 #include <QtGui/QWidget>
 #include <QtGui/QIcon>
+#endif
+
+#include "lxqtxfitman.h"
+#include <X11/Xatom.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
 /**
  * @file xfitman.cpp
  * @brief implements class Xfitman