1
From c99a02dc2bd7d81ee601f37894b87c4bedb27428 Mon Sep 17 00:00:00 2001
2
From: Aurelien Gateau <aurelien.gateau@canonical.com>
3
Date: Thu, 24 Sep 2009 13:42:12 +0200
4
Subject: [PATCH 8/8] Make dependency on libindicate-qt optional.
7
kmail/CMakeLists.txt | 14 ++++++++++----
8
kmail/config-kmail.h.cmake | 2 ++
9
kmail/configuredialog.cpp | 10 ++++++++++
10
kmail/kmfolder.cpp | 9 +++++++++
11
kmail/kmkernel.cpp | 6 ++++++
12
5 files changed, 37 insertions(+), 4 deletions(-)
14
diff --git a/kmail/CMakeLists.txt b/kmail/CMakeLists.txt
15
index 7203020..190ca23 100644
16
--- a/kmail/CMakeLists.txt
17
+++ b/kmail/CMakeLists.txt
18
@@ -12,9 +12,12 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
21
find_package(PkgConfig REQUIRED)
22
-pkg_check_modules(INDICATEQT REQUIRED indicate-qt)
23
-include_directories(${INDICATEQT_INCLUDE_DIRS})
24
-link_directories(${INDICATEQT_LIBRARY_DIRS})
25
+pkg_check_modules(INDICATEQT indicate-qt>=0.2.1)
26
+macro_log_feature(INDICATEQT_FOUND "indicate-qt" "Qt bindings for libindicate" "http://launchpad.net/libindicate-qt" FALSE "0.2.1" "Required for indicators support in KMail.")
28
+ include_directories(${INDICATEQT_INCLUDE_DIRS})
29
+ link_directories(${INDICATEQT_LIBRARY_DIRS})
30
+endif(INDICATEQT_FOUND)
32
# Support for the SVN revision number in version-kmail.h
33
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
34
@@ -381,9 +384,12 @@ target_link_libraries(kmailprivate
35
${KDEPIMLIBS_KPIMUTILS_LIBS}
36
${KDEPIMLIBS_KPIMTEXTEDIT_LIBS}
37
${QT_QT3SUPPORT_LIBRARY}
38
- ${INDICATEQT_LIBRARIES}
42
+ target_link_libraries(kmailprivate ${INDICATEQT_LIBRARIES})
43
+endif(INDICATEQT_FOUND)
45
if(KMAIL_SQLITE_INDEX)
46
target_link_libraries(kmailprivate ${SQLITE_LIBRARIES})
47
endif(KMAIL_SQLITE_INDEX)
48
diff --git a/kmail/config-kmail.h.cmake b/kmail/config-kmail.h.cmake
49
index 48fea90..a4785d8 100644
50
--- a/kmail/config-kmail.h.cmake
51
+++ b/kmail/config-kmail.h.cmake
53
#cmakedefine HAVE_MMAP 1
55
#cmakedefine KDEPIM_FOLDEROPEN_PROFILE 1
57
+#cmakedefine INDICATEQT_FOUND 1
58
diff --git a/kmail/configuredialog.cpp b/kmail/configuredialog.cpp
59
index d6d6872..6f89bf5 100644
60
--- a/kmail/configuredialog.cpp
61
+++ b/kmail/configuredialog.cpp
62
@@ -863,6 +863,7 @@ AccountsPageReceivingTab::AccountsPageReceivingTab( QWidget * parent )
63
connect( mVerboseNotificationCheck, SIGNAL( stateChanged( int ) ),
64
this, SLOT( slotEmitChanged() ) );
66
+#ifdef INDICATEQT_FOUND
67
// "Use message indicator" check box
68
mUseMessageIndicatorCheck =
69
new QCheckBox( i18n( "Use message indicator" ), group );
70
@@ -870,6 +871,9 @@ AccountsPageReceivingTab::AccountsPageReceivingTab( QWidget * parent )
71
GlobalSettings::self()->useMessageIndicatorItem()->whatsThis() );
72
connect( mUseMessageIndicatorCheck, SIGNAL( stateChanged( int ) ),
73
this, SLOT( slotEmitChanged() ) );
75
+ mUseMessageIndicatorCheck = 0;
78
// "Other Actions" button:
79
mOtherNewMailActionsButton = new QPushButton( i18n("Other Actio&ns..."), group );
80
@@ -879,7 +883,9 @@ AccountsPageReceivingTab::AccountsPageReceivingTab( QWidget * parent )
81
this, SLOT(slotEditNotifications()) );
83
group->layout()->addWidget( mBeepNewMailCheck );
84
+#ifdef INDICATEQT_FOUND
85
group->layout()->addWidget( mUseMessageIndicatorCheck );
87
group->layout()->addWidget( mVerboseNotificationCheck );
88
group->layout()->addWidget( mOtherNewMailActionsButton );
90
@@ -1106,7 +1112,9 @@ void AccountsPage::ReceivingTab::slotEditNotifications()
92
void AccountsPage::ReceivingTab::doLoadFromGlobalSettings() {
93
mVerboseNotificationCheck->setChecked( GlobalSettings::self()->verboseNewMailNotification() );
94
+#ifdef INDICATEQT_FOUND
95
mUseMessageIndicatorCheck->setChecked( GlobalSettings::self()->useMessageIndicator() );
99
void AccountsPage::ReceivingTab::doLoadOther() {
100
@@ -1171,7 +1179,9 @@ void AccountsPage::ReceivingTab::save() {
101
KConfigGroup general( KMKernel::config(), "General" );
102
general.writeEntry( "beep-on-mail", mBeepNewMailCheck->isChecked() );
103
GlobalSettings::self()->setVerboseNewMailNotification( mVerboseNotificationCheck->isChecked() );
104
+#ifdef INDICATEQT_FOUND
105
GlobalSettings::self()->setUseMessageIndicator( mUseMessageIndicatorCheck->isChecked() );
108
general.writeEntry( "checkmail-startup", mCheckmailStartupCheck->isChecked() );
110
diff --git a/kmail/kmfolder.cpp b/kmail/kmfolder.cpp
111
index fa4afb2..a52ad62 100644
112
--- a/kmail/kmfolder.cpp
113
+++ b/kmail/kmfolder.cpp
115
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
118
+#include <config-kmail.h>
120
#include "kmfolder.h"
121
#include "kmfolderdir.h"
124
#include <unistd.h> // W_OK
126
+#ifdef INDICATEQT_FOUND
128
#include <qindicateindicator.h>
132
#include <kde_file.h> // KDE_mkdir
133
@@ -943,6 +946,7 @@ void KMFolder::reallyAddCopyOfMsg( KMMessage* aMsg )
134
void KMFolder::setIgnoreNewMail( bool b )
137
+#ifdef INDICATEQT_FOUND
138
if ( b && mIndicator ) {
141
@@ -959,6 +963,7 @@ void KMFolder::setIgnoreNewMail( bool b )
143
updateIndicatorIcon();
148
void KMFolder::setShortcut( const KShortcut &sc )
149
@@ -976,6 +981,7 @@ bool KMFolder::isMoveable() const
151
void KMFolder::updateIndicator()
153
+#ifdef INDICATEQT_FOUND
157
@@ -987,10 +993,12 @@ void KMFolder::updateIndicator()
164
void KMFolder::updateIndicatorIcon()
166
+#ifdef INDICATEQT_FOUND
170
@@ -1028,6 +1036,7 @@ void KMFolder::updateIndicatorIcon()
172
mIndicator->setIconProperty( pix.toImage() );
177
void KMFolder::slotIndicatorClicked()
178
diff --git a/kmail/kmkernel.cpp b/kmail/kmkernel.cpp
179
index 9105f8d..99ae46a 100644
180
--- a/kmail/kmkernel.cpp
181
+++ b/kmail/kmkernel.cpp
182
@@ -84,8 +84,10 @@ using KWallet::Wallet;
186
+#ifdef INDICATEQT_FOUND
188
#include <qindicateserver.h>
191
#include <kcmdlineargs.h>
192
#include <kstartupinfo.h>
193
@@ -1463,6 +1465,7 @@ void KMKernel::init()
194
// moved up here because KMMessage::stripOffPrefixes is used below
195
KMMessage::readConfig();
197
+#ifdef INDICATEQT_FOUND
198
the_indicateServer = QIndicate::Server::defaultInstance();
199
the_indicateServer->setType( "messaging" );
200
QString appName = KGlobal::mainComponent().componentName();
201
@@ -1474,6 +1477,7 @@ void KMKernel::init()
203
connect( the_indicateServer, SIGNAL( serverDisplay() ),
204
SLOT( toggleMainWin() ) );
207
the_undoStack = new UndoStack(20);
208
the_folderMgr = new KMFolderMgr(foldersPath);
209
@@ -1531,11 +1535,13 @@ void KMKernel::init()
211
void KMKernel::readConfig()
213
+#ifdef INDICATEQT_FOUND
214
if ( GlobalSettings::useMessageIndicator() ) {
215
the_indicateServer->show();
217
the_indicateServer->hide();
220
//Needed here, since this function is also called when the configuration
221
//changes, and the static variables should be updated then - IOF
222
KMMessage::readConfig();