diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f9483a..2f89d6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,108 +1,107 @@ cmake_minimum_required(VERSION 3.5) set(KDEPIM_VERSION_NUMBER "5.14.0") project(akonadiconsole VERSION ${KDEPIM_VERSION_NUMBER}) set(KF5_MIN_VERSION "5.68.0") find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(ECMInstallIcons) include(ECMSetupVersion) include(ECMAddTests) include(GenerateExportHeader) include(ECMGenerateHeaders) include(FeatureSummary) include(CheckFunctionExists) include(ECMGeneratePriFile) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(ECMAddAppIcon) include(ECMQtDeclareLoggingCategory) # Do NOT add quote set(KDEPIM_DEV_VERSION ) # add an extra space if(DEFINED KDEPIM_DEV_VERSION) set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}") endif() set(RELEASE_SERVICE_VERSION "20.04.0") set(KDEPIM_VERSION "${KDEPIM_VERSION_NUMBER}${KDEPIM_DEV_VERSION} (${RELEASE_SERVICE_VERSION})") set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}") set(KDEPIM_LIB_SOVERSION "5") set(AKONADI_CONTACT_VERSION "5.14.0") set(CALENDARSUPPORT_LIB_VERSION_LIB "5.14.0") set(AKONADI_VERSION "5.14.0") set(AKONADI_SEARCH_VERSION "5.14.0") set(QT_REQUIRED_VERSION "5.12.0") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets DBus Sql Test) set(MESSAGELIB_LIB_VERSION_LIB "5.14.0") set(LIBKDEPIM_LIB_VERSION_LIB "5.14.0") set(KMIME_LIB_VERSION "5.14.0") # Find KF5 package find_package(KF5Completion ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Config ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5ConfigWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DBusAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DocTools ${KF5_MIN_VERSION} REQUIRED) find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5ItemModels ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5TextWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5WidgetsAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5XmlGui ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Crash ${KF5_MIN_VERSION} REQUIRED) find_package(KF5Completion ${KF5_MIN_VERSION} REQUIRED) find_package(KF5ItemViews ${KF5_MIN_VERSION} REQUIRED) find_package(KF5KIO ${KF5_MIN_VERSION} REQUIRED) # Find KdepimLibs Package find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) find_package(KF5Contacts ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5CalendarCore ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) +find_package(KF5Libkdepim ${LIBKDEPIM_LIB_VERSION_LIB} CONFIG REQUIRED) # Because of KPIM::KCheckComboBox, KPIM::UiStateSaver if (NOT WIN32) find_package(KF5AkonadiContact ${AKONADI_CONTACT_VERSION} CONFIG REQUIRED) find_package(KF5CalendarSupport ${CALENDARSUPPORT_LIB_VERSION_LIB} CONFIG REQUIRED) find_package(KF5MessageViewer ${MESSAGELIB_LIB_VERSION_LIB} CONFIG REQUIRED) - find_package(KF5Libkdepim ${LIBKDEPIM_LIB_VERSION_LIB} CONFIG REQUIRED) find_package(KF5AkonadiSearch ${AKONADI_SEARCH_VERSION} CONFIG REQUIRED) find_package(Xapian CONFIG) set_package_properties(Xapian PROPERTIES DESCRIPTION "The Xapian search engine library" URL "https://xapian.org" TYPE REQUIRED ) - set(ENABLE_LIBKDEPIM TRUE) set(ENABLE_SEARCH TRUE) set(ENABLE_CONTENTVIEWS TRUE) endif() if (EXISTS "${CMAKE_SOURCE_DIR}/.git") add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00) add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054400) endif() include_directories(${akonadiconsole_SOURCE_DIR} ${akonadiconsole_BINARY_DIR} ${XAPIAN_INCLUDE_DIR}) configure_file(akonadiconsole-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/akonadiconsole-version.h @ONLY) configure_file(config-akonadiconsole.h.cmake ${CMAKE_BINARY_DIR}/config-akonadiconsole.h) add_subdirectory(src) if(BUILD_TESTING) add_subdirectory(autotests) endif() feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/config-akonadiconsole.h.cmake b/config-akonadiconsole.h.cmake index 60befb3..62e3b21 100644 --- a/config-akonadiconsole.h.cmake +++ b/config-akonadiconsole.h.cmake @@ -1,3 +1,2 @@ -#cmakedefine ENABLE_LIBKDEPIM 1 #cmakedefine ENABLE_SEARCH 1 #cmakedefine ENABLE_CONTENTVIEWS 1 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 797d05e..c8ef44f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,169 +1,164 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) add_subdirectory(icons) add_subdirectory(kconf_update) set(libakonadiconsole_tracker_SRCS jobtracker.cpp jobtrackerwidget.cpp jobtrackermodel.cpp jobtrackerfilterproxymodel.cpp jobtrackersearchwidget.cpp ) set(libakonadiconsole_SRCS agentwidget.cpp agentconfigdialog.cpp agentconfigmodel.cpp akonadibrowsermodel.cpp browserwidget.cpp collectionattributespage.cpp collectioninternalspage.cpp collectionaclpage.cpp connectionpage.cpp dbaccess.cpp dbbrowser.cpp dbconsole.cpp debugfiltermodel.cpp debugmodel.cpp debugwidget.cpp instanceselector.cpp logging.cpp loggingfiltermodel.cpp loggingmodel.cpp mainwidget.cpp mainwindow.cpp monitorswidget.cpp monitorsmodel.cpp notificationmodel.cpp notificationfiltermodel.cpp notificationmonitor.cpp querydebugger.cpp tagpropertiesdialog.cpp ${libakonadiconsole_tracker_SRCS} ) if (ENABLE_SEARCH) set(libakonadiconsole_SRCS ${libakonadiconsole_SRCS} searchwidget.cpp ) endif() qt5_generate_dbus_interface(jobtracker.h org.freedesktop.Akonadi.JobTracker.xml) qt5_add_dbus_adaptor(libakonadiconsole_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.freedesktop.Akonadi.JobTracker.xml jobtracker.h JobTracker) qt5_add_dbus_adaptor(libakonadiconsole_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.akonadiconsole.logger.xml logging.h Logging) qt5_add_dbus_interfaces(libakonadiconsole_SRCS ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.TracerNotification.xml ) # Use intalled interface once we can depend on Akoandi 1.1 set_source_files_properties(org.freedesktop.Akonadi.DebugInterface.xml PROPERTIES CLASSNAME DebugInterface) qt5_add_dbus_interface(libakonadiconsole_SRCS org.freedesktop.Akonadi.DebugInterface.xml debuginterface ) set_source_files_properties(${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.StorageDebugger.xml PROPERTIES INCLUDE querydebugger.h ) qt5_add_dbus_interface(libakonadiconsole_SRCS ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.StorageDebugger.xml storagedebuggerinterface ) qt5_wrap_ui(libakonadiconsole_SRCS agentwidget.ui agentconfigdialog.ui browserwidget_itemview.ui collectionattributespage.ui collectionaclpage.ui dbbrowser.ui dbconsoletab.ui instanceselector.ui browserwidget_contentview.ui collectioninternalspage.ui tagpropertiesdialog.ui querydebugger.ui queryviewdialog.ui ) ecm_qt_declare_logging_category(libakonadiconsole_SRCS HEADER akonadiconsole_debug.h IDENTIFIER AKONADICONSOLE_LOG CATEGORY_NAME org.kde.pim.akonadiconsole OLD_CATEGORY_NAMES log_akonadiconsole DESCRIPTION "akonadiconsole (akonadiconsole)" EXPORT AKONADICONSOLE) add_library(libakonadiconsole ${libakonadiconsole_SRCS}) generate_export_header(libakonadiconsole BASE_NAME libakonadiconsole) target_link_libraries(libakonadiconsole KF5::AkonadiCore KF5::AkonadiPrivate KF5::AkonadiWidgets KF5::AkonadiXml KF5::Mime KF5::Contacts KF5::CalendarCore Qt5::Sql KF5::Completion KF5::ItemViews KF5::TextWidgets KF5::XmlGui + KF5::Libkdepim ) if (ENABLE_SEARCH) target_link_libraries(libakonadiconsole KF5::AkonadiSearchCore KF5::AkonadiSearchXapian ) endif() if (ENABLE_CONTENTVIEWS) target_link_libraries(libakonadiconsole KF5::AkonadiContact KF5::CalendarSupport KF5::MessageViewer ) endif() -if (ENABLE_LIBKDEPIM) - target_link_libraries(libakonadiconsole - KF5::Libkdepim - ) -endif() - set_target_properties(libakonadiconsole PROPERTIES OUTPUT_NAME akonadiconsole VERSION ${KDEPIM_LIB_VERSION} SOVERSION ${KDEPIM_LIB_SOVERSION} ) set(akonadiconsole_SRCS main.cpp ) qt5_add_resources(akonadiconsole_SRCS akonadiconsole.qrc) file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*-apps-akonadiconsole.png") ecm_add_app_icon(akonadiconsole_SRCS ICONS ${ICONS_SRCS}) add_executable(akonadiconsole ${akonadiconsole_SRCS}) target_link_libraries(akonadiconsole libakonadiconsole KF5::DBusAddons KF5::CoreAddons KF5::Crash ) install(TARGETS akonadiconsole ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(PROGRAMS org.kde.akonadiconsole.desktop DESTINATION ${KDE_INSTALL_APPDIR}) install(TARGETS libakonadiconsole ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) ecm_qt_install_logging_categories(EXPORT AKONADICONSOLE FILE akonadiconsole.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 827c297..64dd436 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1,69 +1,63 @@ /* This file is part of Akonadi. Copyright (c) 2006 Tobias Koenig 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 2 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "mainwindow.h" #include "config-akonadiconsole.h" -#ifdef ENABLE_LIBKDEPIM #include -#endif #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : KXmlGuiWindow(parent) { mMain = new MainWidget(this); setCentralWidget(mMain); KStandardAction::quit(qApp, &QApplication::quit, actionCollection()); setupGUI(Keys /*| ToolBar | StatusBar*/ | Save | Create, QStringLiteral("akonadiconsoleui.rc")); -#ifdef ENABLE_LIBKDEPIM KPIM::UiStateSaver::restoreState(this, KConfigGroup(KSharedConfig::openConfig(), "UiState")); -#endif KMessageBox::information(this, QStringLiteral("

Akonadi Console is purely a development tool. " "It allows you to view and change internal data structures of Akonadi. " "You should only change data in here if you know what you are doing, otherwise " "you risk damaging or losing your personal information management data.
" "Use at your own risk!

"), QString(), QStringLiteral("UseAtYourOwnRiskWarning")); } MainWindow::~MainWindow() { delete mMain; } void MainWindow::closeEvent(QCloseEvent *event) { -#ifdef ENABLE_LIBKDEPIM KConfigGroup config(KSharedConfig::openConfig(), "UiState"); KPIM::UiStateSaver::saveState(this, config); KSharedConfig::openConfig()->sync(); -#endif KXmlGuiWindow::closeEvent(event); }