diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 54fd80c9..60e6ca26 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,474 +1,475 @@
IF(POLICY CMP0017)
CMAKE_POLICY(SET CMP0017 NEW)
ENDIF(POLICY CMP0017)
IF(POLICY CMP0022)
CMAKE_POLICY(SET CMP0022 NEW)
ENDIF(POLICY CMP0022)
IF(POLICY CMP0063)
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
SET(QT_MIN_VERSION "5.2.0")
ADD_DEFINITIONS(
${KF5_DEFINITIONS}
${QT_DEFINITIONS}
-fexceptions
-Wno-error
-Wno-reorder
-Wno-error=deprecated-declarations
)
# It doesn't work in sandboxes
IF (NOT ENABLE_SINGLE_INSTANCE)
ADD_DEFINITIONS(-DDISABLE_KDBUS_SERVICE=1)
ENDIF()
# Enable some useful warnings
ADD_DEFINITIONS(
-Wall
-Wextra
-Wmissing-declarations
-Wmissing-noreturn
-Wpointer-arith
-Wcast-align
-Wwrite-strings
-Wformat-nonliteral
-Wformat-security
-Wswitch-enum
-Winit-self
-Wmissing-include-dirs
-Wundef
-Wmissing-format-attribute
-Wno-reorder
-Wunused
-Wuninitialized
-Woverloaded-virtual
-Wunused-value
-pedantic
-Wnonnull
-Wsequence-point
#-Wsystem-headers
-Wsizeof-pointer-memaccess
#-Wuseless-cast
-Wvarargs
)
#Add more warnings for compilers that support it. I used this command:
#curl https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Warning-Options.html | \
#grep -E "^[\t ]+
-W[a-zA-Z=-]*" -o | grep -E "\-W[a-zA-Z=-]*" -o >
#cat /tmp/48 /tmp/49 | sort | uniq -u
# IF (CMAKE_COMPILER_IS_GNUCC)
IF (CMAKE_COMPILER_IS_GNUCC)
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9)
ADD_DEFINITIONS(
-Wunused-but-set-parameter
-Wconditionally-supported
-Wno-cpp
# -Wdouble-promotion
-Wdate-time
-Wdelete-incomplete
# -Wfloat-conversion
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9)
ADD_DEFINITIONS(
-Wno-pragmas
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 5.0)
ADD_DEFINITIONS(
-Wsuggest-override
-Wsuggest-final-types
-Wsuggest-final-methods
-Wbool-compare
-Wformat-signedness
-Wlogical-not-parentheses
-Wnormalized
-Wshift-count-negative
-Wshift-count-overflow
-Wsized-deallocation
-Wsizeof-array-argument
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 6.0)
ADD_DEFINITIONS(
-Wnull-dereference
-Wtautological-compare
-Wduplicated-cond
-Wmisleading-indentation
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 7.0)
ADD_DEFINITIONS(
-Wimplicit-fallthrough
-Wduplicated-branches
-Wswitch-unreachable
-Wformat-overflow
-Wformat-truncation
-Wnonnull
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 8.0)
ADD_DEFINITIONS(
-Wmultistatement-macros
-Wstringop-truncation
-Wif-not-aligned
-Wmissing-attributes
)
ENDIF()
ENDIF()
IF (CMAKE_COMPILER_IS_GNUCC)
EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE CMAKE_CXX_COMPILER_VERSION)
IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.6.9 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.6)
#GCC 4.6 version of those warnings does detect valid C++0x/C++11 as invalid.
ADD_DEFINITIONS(
-Wno-error=pragmas
-Wno-pragmas
-Wno-error
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.7 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.7)
ADD_DEFINITIONS(
-Wmaybe-uninitialized
-Wunused-local-typedefs
-pedantic
)
ENDIF()
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.8)
# ADD_DEFINITIONS("-Wzero-as-null-pointer-constant")
# ADD_DEFINITIONS( -DENABLE_IGNORE_NULL=true )
ENDIF()
ELSE()
ADD_DEFINITIONS(-Wno-unknown-pragmas -Wno-unknown-warning-option)
ENDIF()
ADD_DEFINITIONS("-std=c++0x")
#Make sure it can access DBUS autogenerated files
INCLUDE_DIRECTORIES(SYSTEM
${KF5_INCLUDES}
${Qt5Widgets_INCLUDES}
${Qt5PrintSupport_INCLUDES}
${Qt5Core_INCLUDES}
${CMAKE_BINARY_DIR}
${ringqt_INCLUDE_DIR}
${LIB_TIP_INCLUDE}
${LIB_CONFIG_INCLUDE}
${LIB_CONFIG_WIDGETS}
)
# Shared C++ QML components
ADD_SUBDIRECTORY( qmlwidgets )
# Pack the icons shared by various components
ADD_SUBDIRECTORY( sharedassets )
#Build KDE specific files
ADD_SUBDIRECTORY( klib )
# Build the QML based first run Wizard
ADD_SUBDIRECTORY( wizard )
# Build the QML based interactive video canvas
ADD_SUBDIRECTORY( callview )
# Build the advanced phone dialer
ADD_SUBDIRECTORY( dialview )
# Build the views and widgets related to the social timeline feature
ADD_SUBDIRECTORY( timeline )
# Build the contact and profile photo editor dialog
ADD_SUBDIRECTORY( photoselector )
# Build the elements used to notify the users of events
ADD_SUBDIRECTORY( canvasindicators )
# Build the contact manager subsystem
ADD_SUBDIRECTORY( contactview )
# Build the account manager subsystem
ADD_SUBDIRECTORY( accountview )
# Build the main desktop component
ADD_SUBDIRECTORY( desktopview )
IF(${CMAKE_BUILD_TYPE} MATCHES Release)
MESSAGE("NO DEBUG OUTPUT")
ADD_DEFINITIONS( -DQT_NO_DEBUG_OUTPUT)
ELSE()
# ADD_DEFINITIONS(-Werror)
ENDIF(${CMAKE_BUILD_TYPE} MATCHES Release)
# SET ( KF5_KABC_LIBS -lkabc )
# Delegates
SET(
- ring_kde_DELEGATES
+ ring_kde_PROXIES
# delegates/conferencedelegate.cpp
# delegates/contactdelegate.cpp
# delegates/historydelegate.cpp
# delegates/phonenumberdelegate.cpp
# delegates/delegatedropoverlay.cpp
# delegates/dialpaddelegate.cpp
- delegates/autocompletiondelegate.cpp
- delegates/autocompletiondelegate2.cpp
- delegates/toolbardelegate.cpp
- delegates/accountinfodelegate.cpp
+# delegates/autocompletiondelegate.cpp
+# delegates/autocompletiondelegate2.cpp
+# delegates/toolbardelegate.cpp
+# delegates/accountinfodelegate.cpp
+# delegates/categorizeddelegate.cpp
+# delegates/righticondelegate.cpp
delegates/kdepixmapmanipulation.cpp
- delegates/categorizeddelegate.cpp
- delegates/righticondelegate.cpp
proxies/simplerotateproxy.cpp
proxies/deduplicateproxy.cpp
proxies/filtertoplevelproxy.cpp
proxies/roletransformationproxy.cpp
proxies/flagsfilterproxy.cpp
proxies/pollingproxy.cpp
#proxies/valuefilterproxy.cpp
)
# Configuration pages
-SET(
- ring_kde_CONF
- conf/accountserializationadapter.cpp
- conf/configurationdialog.cpp
- conf/dlggeneral.cpp
- conf/dlgdisplay.cpp
- conf/dlgaudio.cpp
- conf/dlgaddressbook.cpp
- conf/dlgaccessibility.cpp
- conf/dlgpresence.cpp
- conf/dlgaccount.cpp
- configurator/localhistoryconfigurator.cpp
- configurator/peerprofileconfigurator.cpp
- configurator/bookmarkconfigurator.cpp
- configurator/audiorecordingconfigurator.cpp
- configurator/fallbackpersonconfigurator.cpp
-)
+# SET(
+# ring_kde_CONF
+# conf/accountserializationadapter.cpp
+# conf/configurationdialog.cpp
+# conf/dlgdisplay.cpp
+# conf/dlgaudio.cpp
+# conf/dlgaddressbook.cpp
+# conf/dlgaccessibility.cpp
+# conf/dlgpresence.cpp
+# conf/dlgaccount.cpp
+# )
# Account pages
-SET(
- ring_kde_ACCOUNT
- conf/accountpages/advanced.cpp
- conf/accountpages/credentials.cpp
- conf/accountpages/basic.cpp
- conf/accountpages/network.cpp
- conf/accountpages/codecs.cpp
- conf/accountpages/ringtone.cpp
- conf/accountpages/security.cpp
- conf/accountpages/pagebase.cpp
- conf/accountpages/account.cpp
- conf/accountpages/devices.cpp
- conf/accountpages/dlgprofiles.cpp
-)
+# SET(
+# ring_kde_ACCOUNT
+# conf/accountpages/advanced.cpp
+# conf/accountpages/credentials.cpp
+# conf/accountpages/basic.cpp
+# conf/accountpages/network.cpp
+# conf/accountpages/codecs.cpp
+# conf/accountpages/ringtone.cpp
+# conf/accountpages/security.cpp
+# conf/accountpages/pagebase.cpp
+# conf/accountpages/account.cpp
+# conf/accountpages/devices.cpp
+# conf/accountpages/dlgprofiles.cpp
+# )
# Widgets
-SET(
- ring_kde_WIDGETS
- widgets/systray.cpp
- widgets/categorizedtreeview.cpp
- widgets/fileselector.cpp
- widgets/filterlineedit.cpp
- widgets/kphonenumberselector.cpp
- widgets/directoryview.cpp
- widgets/menumodelview.cpp
- widgets/accountstatusviewer.cpp
- widgets/autocombobox.cpp
- widgets/categorizedtree.cpp
- widgets/certificateviewer.cpp
- widgets/contextlistview.cpp
- widgets/groupedtoolbutton.cpp
- widgets/securityprogress.cpp
-)
+# SET(
+# ring_kde_WIDGETS
+# widgets/systray.cpp
+# widgets/categorizedtreeview.cpp
+# widgets/fileselector.cpp
+# widgets/kphonenumberselector.cpp
+# widgets/directoryview.cpp
+# widgets/menumodelview.cpp
+# widgets/accountstatusviewer.cpp
+# widgets/autocombobox.cpp
+# widgets/categorizedtree.cpp
+# widgets/certificateviewer.cpp
+# widgets/contextlistview.cpp
+# widgets/groupedtoolbutton.cpp
+# widgets/securityprogress.cpp
+# )
# Video Widgets
-IF(NOT (${ENABLE_VIDEO} MATCHES false))
- SET(
- ring_kde_VIDEO
- conf/dlgvideo.cpp
- )
-ENDIF(NOT (${ENABLE_VIDEO} MATCHES false))
+# IF(NOT (${ENABLE_VIDEO} MATCHES false))
+# SET(
+# ring_kde_VIDEO
+# conf/dlgvideo.cpp
+# )
+# ENDIF(NOT (${ENABLE_VIDEO} MATCHES false))
SET(
ring_kde_SRCS
main.cpp
cmd.cpp
notification.cpp
ringapplication.cpp
errormessage.cpp
# canvasobjectmanager.cpp
# eventmanager.cpp
actioncollection.cpp
implementation.cpp
model/extendedprotocolmodel.cpp
- ${ring_kde_DELEGATES}
- ${ring_kde_CONF}
- ${ring_kde_WIDGETS}
- ${ring_kde_ACCOUNT}
- ${ring_kde_VIDEO}
+ ${ring_kde_PROXIES}
+# ${ring_kde_CONF}
+# ${ring_kde_WIDGETS}
+# ${ring_kde_ACCOUNT}
+# ${ring_kde_VIDEO}
+ widgets/systray.cpp
+ configurator/localhistoryconfigurator.cpp
+ configurator/peerprofileconfigurator.cpp
+ configurator/bookmarkconfigurator.cpp
+ configurator/audiorecordingconfigurator.cpp
+ configurator/fallbackpersonconfigurator.cpp
+ conf/dlggeneral.cpp
+ widgets/filterlineedit.cpp
)
IF (Qt5TextToSpeech_FOUND)
SET(
ring_kde_SRCS
${ring_kde_SRCS}
accessibility.cpp
)
ENDIF()
# generate rules for building source files from the resources
SET(QtApp_RCCS
qrc/resources.qrc
conf/confresources.qrc
../data/appicon.qrc
)
QT5_ADD_RESOURCES(QtApp_RCC_SRCS ${QtApp_RCCS})
# kde4_automoc(${ring_kde_SRCS})
-SET(
- config_ui_files
- conf/dlggeneralbase.ui
- conf/dlgdisplaybase.ui
- conf/dlgaudiobase.ui
- conf/dlgaddressbookbase.ui
- conf/dlgaccessibility.ui
- conf/dlgaudiorecording.ui
- conf/dlgpresence.ui
- conf/dlgfallbackperson.ui
- conf/accountdlg.ui
- conf/accountpages/advanced.ui
- conf/accountpages/credentials.ui
- conf/accountpages/basic.ui
- conf/accountpages/network.ui
- conf/accountpages/codecs.ui
- conf/accountpages/ringtone.ui
- conf/accountpages/security.ui
- conf/accountpages/tabs.ui
- widgets/ui/directoryview.ui
- widgets/ui/accountcreator.ui
- widgets/ui/fileselect.ui
- configurator/peerprofile.ui
- configurator/bookmark.ui
- configurator/recording.ui
-)
+# SET(
+# config_ui_files
+# conf/dlggeneralbase.ui
+# conf/dlgdisplaybase.ui
+# conf/dlgaudiobase.ui
+# conf/dlgaddressbookbase.ui
+# conf/dlgaccessibility.ui
+# conf/dlgaudiorecording.ui
+# conf/dlgpresence.ui
+# conf/dlgfallbackperson.ui
+# conf/accountdlg.ui
+# conf/accountpages/advanced.ui
+# conf/accountpages/credentials.ui
+# conf/accountpages/basic.ui
+# conf/accountpages/network.ui
+# conf/accountpages/codecs.ui
+# conf/accountpages/ringtone.ui
+# conf/accountpages/security.ui
+# conf/accountpages/tabs.ui
+# widgets/ui/directoryview.ui
+# widgets/ui/accountcreator.ui
+# widgets/ui/fileselect.ui
+# configurator/peerprofile.ui
+# configurator/bookmark.ui
+# configurator/recording.ui
+# )
# add_subdirectory( test ) #Enable again some day, it cause compile problems for some users
IF(NOT (${ENABLE_VIDEO} MATCHES false))
SET(ENABLE_VIDEO 1 CACHE BOOLEAN "Enable video")
ADD_DEFINITIONS( -DENABLE_VIDEO=true )
SET (
config_ui_files
${config_ui_files}
conf/dlgvideobase.ui
)
ENDIF(NOT (${ENABLE_VIDEO} MATCHES false))
IF(${DISABLE_UNIQUE_APPLICATION} MATCHES true)
MESSAGE("KUniqueApplication disabled")
SET(DISABLE_UNIQUE_APPLICATION 1 CACHE BOOLEAN "Disable KUniqueApplication")
ADD_DEFINITIONS( -DDISABLE_UNIQUE_APPLICATION=true )
ENDIF(${DISABLE_UNIQUE_APPLICATION} MATCHES true)
ki18n_wrap_ui(ring_kde_SRCS ${config_ui_files} )
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
ADD_EXECUTABLE(ring-kde MACOSX_BUNDLE ${ring_kde_SRCS} ${QtApp_RCC_SRCS})
set_source_files_properties( ../data/ring-kdeui.rc PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
file( COPY ../data/ring-kdeui.rc DESTINATION "ring-kde.app/Contents/Resources/" )
ELSE()
ADD_EXECUTABLE(ring-kde ${ring_kde_SRCS} ${QtApp_RCC_SRCS})
ENDIF()
IF(NOT ${ENABLE_STATIC} MATCHES false)
FIND_PACKAGE(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED DBus)
INCLUDE_DIRECTORIES(SYSTEM ${Qt5DBus_INCLUDE_DIRS} )
LINK_DIRECTORIES(${Qt5DBus_LIBRARY_DIRS} )
ADD_DEFINITIONS(${Qt5DBus_CFLAGS})
IF(NOT DEFINED OS_ANDROID)
TARGET_LINK_LIBRARIES(ring-kde
-lpthread
)
ENDIF()
TARGET_LINK_LIBRARIES(ring-kde
${ringqt_LIBRARY_STATIC}
)
IF(NOT ${ENABLE_LIBWRAP})
TARGET_LINK_LIBRARIES(ring-kde
${Qt5DBus_LIBRARIES}
)
ENDIF()
ELSE()
TARGET_LINK_LIBRARIES(ring-kde ${ringqt_LIBRARY_DYNAMIC})
ENDIF()
QT5_ADD_DBUS_ADAPTOR(ring_kde_SRCS ../data/org.kde.kuiserver.xml cmd.h Cmd )
TARGET_LINK_LIBRARIES(ring-kde
libkring
libwizard
libcallview
dialview
libtimeline
libphotoselector
libcanvasindicator
desktopview
contactview
accountview
libqmlwidgets
kquickitemviews
# RingQt
ringqtquick
# Qt5
Qt5::Widgets
Qt5::Core
Qt5::Gui
Qt5::Svg
Qt5::PrintSupport
# KF5
KF5::I18n
KF5::WidgetsAddons
KF5::ConfigCore
KF5::ConfigGui
KF5::DBusAddons
KF5::XmlGui
KF5::Notifications
KF5::IconThemes
KF5::Crash
KF5::NotifyConfig
KF5::GlobalAccel
KF5::Declarative
KF5::Kirigami2
)
IF (Qt5TextToSpeech_FOUND)
TARGET_LINK_LIBRARIES(ring-kde
Qt5::TextToSpeech
)
ENDIF()
########### install files ###############
INSTALL( TARGETS ring-kde DESTINATION ${BIN_INSTALL_DIR} )
INSTALL( FILES wizard/assets/beta_logo.svg DESTINATION ${DATA_INSTALL_DIR}/ring-kde )
diff --git a/src/actioncollection.cpp b/src/actioncollection.cpp
index 6eb1bb69..09a44e87 100644
--- a/src/actioncollection.cpp
+++ b/src/actioncollection.cpp
@@ -1,577 +1,561 @@
/***************************************************************************
* Copyright (C) 2009-2015 by Savoir-Faire Linux *
* Author : Emmanuel Lepage Vallee *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see . *
**************************************************************************/
#include "actioncollection.h"
//Qt
#include
#include
#include
#include
#include
#include
#include
//KDE
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//Ring
#include "globalinstances.h"
#include "ringapplication.h"
-#include "conf/configurationdialog.h"
#include "icons/icons.h"
#include "klib/kcfg_settings.h"
#include
#include
#include
#include
#include
#include
#include