From c9a29849cb166e6711c7704dafd868159fd6cd58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Tue, 26 Mar 2013 00:43:38 +0100 Subject: [PATCH] Add CMake option to build karm with xscreensaver support --- CMakeLists.txt | 1 + ConfigureChecks.cmake | 20 ++++++++++++++++++++ config.h.cmake | 3 +++ karm/CMakeLists.txt | 2 +- karm/mainwindow.cpp | 4 ++-- karm/mainwindow.h | 2 +- karm/preferences.cpp | 1 + 7 files changed, 29 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50d1c7dc..5be9947f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,6 +72,7 @@ option( WITH_SCALIX "Enable scalix support" ${WITH_ALL_OPTIONS} ) option( WITH_CALDAV "Enable caldav support" ${WITH_ALL_OPTIONS} ) option( WITH_CARDDAV "Enable carddav support" ${WITH_ALL_OPTIONS} ) option( WITH_INDEXLIB "Enable indexlib support (in kmail)" ${WITH_ALL_OPTIONS} ) +option( WITH_XSCREENSAVER "Enable xscreensaver support (idle detection in karm)" ${WITH_ALL_OPTIONS} ) if( NOT WITH_ARTS ) set( WITHOUT_ARTS 1 ) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 7c2098d0..aaa2eb93 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -153,6 +153,26 @@ if( BUILD_LIBTDENETWORK OR BUILD_CERTMANAGER OR BUILD_KMAIL OR BUILD_KADDRESSBOO endif( ) endif( ) + +if( BUILD_KARM AND WITH_XSCREENSAVER ) + check_library_exists( Xss XScreenSaverQueryInfo "" HAVE_XSSLIB ) + if( HAVE_XSSLIB ) + pkg_search_module( XSS xscrnsaver ) + else( ) + check_library_exists( Xext XScreenSaverQueryInfo "" HAVE_XSSLIB ) + if( HAVE_XSSLIB ) + pkg_search_module( XSS xext ) + endif( ) + endif( ) + check_include_file( X11/extensions/scrnsaver.h HAVE_XSCREENSAVER_H ) + if( HAVE_XSSLIB AND HAVE_XSCREENSAVER_H ) + set( HAVE_LIBXSS 1 ) + else( ) + tde_message_fatal( "xscreensaver is requested, but was not found on your system" ) + endif( ) +endif( ) + + # required stuff find_package( TQt ) find_package( TDE ) diff --git a/config.h.cmake b/config.h.cmake index 9a020efb..4c4aa536 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -34,6 +34,9 @@ // kandy #cmakedefine HAVE_LOCKDEV 1 +// karm +#cmakedefine HAVE_LIBXSS 1 + // mimelib #ifdef __cplusplus extern "C" { diff --git a/karm/CMakeLists.txt b/karm/CMakeLists.txt index 8c785b2f..a8cdc5a1 100644 --- a/karm/CMakeLists.txt +++ b/karm/CMakeLists.txt @@ -55,7 +55,7 @@ tde_add_library( karm SHARED AUTOMOC csvexportdialog.cpp plannerparser.cpp karmdcopiface.skel taskviewwhatsthis.cpp VERSION 0.0.0 - LINK kcal_resourceremote-shared tdeprint-shared + LINK kcal_resourceremote-shared tdeprint-shared ${XSS_LIBRARIES} DESTINATION ${LIB_INSTALL_DIR} ) diff --git a/karm/mainwindow.cpp b/karm/mainwindow.cpp index 9e530078..c9c2ef6a 100644 --- a/karm/mainwindow.cpp +++ b/karm/mainwindow.cpp @@ -47,7 +47,7 @@ MainWindow::MainWindow( const TQString &icsfile ) setCentralWidget( _taskView ); // status bar - starStatusBar(); + startStatusBar(); // setup PreferenceDialog. _preferences = Preferences::instance(); @@ -208,7 +208,7 @@ void MainWindow::updateStatusBar( ) statusBar()->changeItem( i18n("Total: %1" ).arg(time), 1); } -void MainWindow::starStatusBar() +void MainWindow::startStatusBar() { statusBar()->insertItem( i18n("Session"), 0, 0, true ); statusBar()->insertItem( i18n("Total" ), 1, 0, true ); diff --git a/karm/mainwindow.h b/karm/mainwindow.h index c1504e98..0e932484 100644 --- a/karm/mainwindow.h +++ b/karm/mainwindow.h @@ -108,7 +108,7 @@ class MainWindow : public KParts::MainWindow, virtual public KarmDCOPIface // void timeLoggingChanged( bool on ); protected: - void starStatusBar(); + void startStatusBar(); virtual void saveProperties( TDEConfig* ); virtual void readProperties( TDEConfig* ); void saveGeometry(); diff --git a/karm/preferences.cpp b/karm/preferences.cpp index 1307bfef..fbfe2063 100644 --- a/karm/preferences.cpp +++ b/karm/preferences.cpp @@ -145,6 +145,7 @@ void Preferences::makeStoragePage() void Preferences::disableIdleDetection() { _doIdleDetectionW->setEnabled(false); + _idleDetectValueW->setEnabled(false); }