diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8876c3315745993f1a03e6cdb1e9d66fae6c4d91..8d59e117e13eaf8a6654aaad5a21f4c9b921dc71 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) ADD_DEFINITIONS("-std=c++0x") # ADD_DEFINITIONS("-std=c++0x") @@ -15,10 +15,14 @@ PROJECT(qtsflphone) SET(LOCAL_CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/") SET(CMAKE_MODULE_PATH "${LOCAL_CMAKE_MODULE_PATH}") -FIND_PACKAGE ( KDE4 REQUIRED ) -FIND_PACKAGE ( Qt4 REQUIRED ) +IF(${ENABLE_QT5} MATCHES true) + FIND_PACKAGE(Qt5Core) + FIND_PACKAGE(Qt5DBus) +ELSE() + FIND_PACKAGE ( Qt4 REQUIRED ) +ENDIF(${ENABLE_QT5} MATCHES true) + -INCLUDE ( KDE4Defaults ) set(GENERIC_LIB_VERSION "1.2.3") @@ -60,12 +64,22 @@ SET_SOURCE_FILES_PROPERTIES( ${configurationmanager_xml} PROPERTIES CLASSNAME ConfigurationManagerInterface - INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h") + INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h") -QT4_ADD_DBUS_INTERFACE( - qtsflphone_LIB_SRCS - ${configurationmanager_xml} - configurationmanager_dbus_interface) +IF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${configurationmanager_xml} + configurationmanager_dbus_interface + ) +ELSE() + QT4_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${configurationmanager_xml} + configurationmanager_dbus_interface + ) + +ENDIF(${ENABLE_QT5} MATCHES true) # call manager interface SET ( callmanager_xml ${dbus_xml_introspecs_path}/callmanager-introspec.xml ) @@ -76,10 +90,20 @@ SET_SOURCE_FILES_PROPERTIES( CLASSNAME CallManagerInterface INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h") -QT4_ADD_DBUS_INTERFACE( - qtsflphone_LIB_SRCS - ${callmanager_xml} - callmanager_dbus_interface) +IF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${callmanager_xml} + callmanager_dbus_interface + ) +ELSE() + QT4_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${callmanager_xml} + callmanager_dbus_interface + ) +ENDIF(${ENABLE_QT5} MATCHES true) + # video manager interface SET ( video_xml ${dbus_xml_introspecs_path}/video_controls-introspec.xml ) @@ -90,10 +114,20 @@ SET_SOURCE_FILES_PROPERTIES( CLASSNAME VideoInterface INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h") -QT4_ADD_DBUS_INTERFACE( - qtsflphone_LIB_SRCS - ${video_xml} - video_dbus_interface) +IF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${video_xml} + video_dbus_interface + ) +ELSE() + QT4_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${video_xml} + video_dbus_interface + ) +ENDIF(${ENABLE_QT5} MATCHES true) + # instance interface SET ( instance_xml ${dbus_xml_introspecs_path}/instance-introspec.xml ) @@ -103,14 +137,28 @@ SET_SOURCE_FILES_PROPERTIES( PROPERTIES CLASSNAME InstanceInterface INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h") - -QT4_ADD_DBUS_INTERFACE( - qtsflphone_LIB_SRCS - ${instance_xml} - instance_dbus_interface) - -kde4_add_library( qtsflphone SHARED ${qtsflphone_LIB_SRCS} ) + +IF(${ENABLE_QT5} MATCHES true) + QT5_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${instance_xml} + instance_dbus_interface + ) +ELSE() + QT4_ADD_DBUS_INTERFACE( + qtsflphone_LIB_SRCS + ${instance_xml} + instance_dbus_interface + ) +ENDIF(${ENABLE_QT5} MATCHES true) + +add_library( qtsflphone SHARED ${qtsflphone_LIB_SRCS} ) + +IF(${ENABLE_QT5} MATCHES true) + QT5_USE_MODULES(qtsflphone Core DBus) +ENDIF(${ENABLE_QT5} MATCHES true) + target_link_libraries( qtsflphone -lrt -lpthread @@ -119,7 +167,7 @@ target_link_libraries( qtsflphone ) set_target_properties( qtsflphone - PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} + PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_VERSION} ) set( qtsflphone_LIB_HDRS @@ -144,9 +192,16 @@ set( qtsflphone_LIB_HDRS visitors/phonenumberselector.h ) +SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include) +SET(INSTALL_TARGETS_DEFAULT_ARGS ${CMAKE_INSTALL_PREFIX}/lib) + install( FILES ${qtsflphone_LIB_HDRS} DESTINATION ${INCLUDE_INSTALL_DIR}/qtsflphone COMPONENT Devel ) -install( TARGETS qtsflphone ${INSTALL_TARGETS_DEFAULT_ARGS} ) +install( TARGETS qtsflphone + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + DESTINATION ${INSTALL_TARGETS_DEFAULT_ARGS} +) diff --git a/src/callmodel.cpp b/src/callmodel.cpp index 730208ea8c18f4b3485e3ee384b8e4bb5083d0bd..0d1b6aa3cdeeb6635addf488c92118fb1d53fe1a 100644 --- a/src/callmodel.cpp +++ b/src/callmodel.cpp @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program. If not, see <http://www.gnu.org/licenses/>. * ***************************************************************************/ -#include <callmodel.h> +#include "callmodel.h" //Qt #include <QtCore/QDebug> diff --git a/src/dbus/callmanager.h b/src/dbus/callmanager.h index 619926e9b12764f38a5a62d5506a00cabc595f06..0f8e3b4cfd8013290418f4b336fe03f6d2d74509 100644 --- a/src/dbus/callmanager.h +++ b/src/dbus/callmanager.h @@ -20,7 +20,7 @@ #ifndef CALL_MANAGER_INTERFACE_SINGLETON_H #define CALL_MANAGER_INTERFACE_SINGLETON_H -#include "src/lib/callmanager_dbus_interface.h" +#include "callmanager_dbus_interface.h" #include "../typedefs.h" namespace DBus { diff --git a/src/dbus/configurationmanager.h b/src/dbus/configurationmanager.h index 9f55bef5b32ad9dcbd86cc7008093e3b672b12ad..ac90cf4418a48e304eaec6a96e7bd3117a36a0ae 100644 --- a/src/dbus/configurationmanager.h +++ b/src/dbus/configurationmanager.h @@ -19,7 +19,7 @@ #ifndef CONFIGURATION_MANAGER_INTERFACE_SINGLETON_H #define CONFIGURATION_MANAGER_INTERFACE_SINGLETON_H -#include "src/lib/configurationmanager_dbus_interface.h" +#include "configurationmanager_dbus_interface.h" #include "../typedefs.h" namespace DBus { diff --git a/src/dbus/instancemanager.h b/src/dbus/instancemanager.h index 07c0bcfec243ac2103f36a8ace15e6e35d3f6aba..d17170c996d9412738da71f5c8d1b3a1d46563c8 100644 --- a/src/dbus/instancemanager.h +++ b/src/dbus/instancemanager.h @@ -20,7 +20,7 @@ #ifndef INSTANCE_INTERFACE_SINGLETON_H #define INSTANCE_INTERFACE_SINGLETON_H -#include "src/lib/instance_dbus_interface.h" +#include "instance_dbus_interface.h" #include "../typedefs.h" namespace DBus { diff --git a/src/dbus/videomanager.h b/src/dbus/videomanager.h index 1d02f1649b009772159d5269fd26439ad02ede5d..3beae23b817b9bc27ff46f9d916b425c8ee862a4 100644 --- a/src/dbus/videomanager.h +++ b/src/dbus/videomanager.h @@ -18,8 +18,8 @@ #ifndef VIDEO_INTERFACE_SINGLETON_H #define VIDEO_INTERFACE_SINGLETON_H -#include "src/lib/video_dbus_interface.h" -#include "typedefs.h" +#include "video_dbus_interface.h" +#include "../typedefs.h" namespace DBus { diff --git a/src/historymodel.cpp b/src/historymodel.cpp index b5b9fd16ac5dd688af5dad690367b24cf84e1a96..ace7da1aa4229d44860a9c7ec41cab772143905d 100644 --- a/src/historymodel.cpp +++ b/src/historymodel.cpp @@ -308,7 +308,7 @@ QVariant HistoryModel::data( const QModelIndex& idx, int role) const case HistoryTreeBackend::Type::CALL: if (role == Call::Role::DropState) return QVariant(modelItem->dropState()); - else if (m_lCategoryCounter.size() >= idx.parent().row() + else if (m_lCategoryCounter.size() >= idx.parent().row() && idx.parent().row() >= 0 && m_lCategoryCounter[idx.parent().row()] && m_lCategoryCounter[idx.parent().row()]->m_lChilds.size() >= idx.row()) return m_lCategoryCounter[idx.parent().row()]->m_lChilds[idx.row()]->roleData((Call::Role)role); diff --git a/src/historymodel.h b/src/historymodel.h index 2e912d4fe8f8b34bb036e366de54ce2b641af888..45ebb89d717508ad783c99a99f48bb2f1cfda629 100644 --- a/src/historymodel.h +++ b/src/historymodel.h @@ -118,6 +118,9 @@ private: friend class HistoryModel; public: virtual QObject* getSelf() {return this;} + virtual ~TopLevelItem() { + m_spInstance->m_lCategoryCounter.removeAll(this); + } private: TopLevelItem(int name); CallList m_lChilds;