summaryrefslogtreecommitdiffstats
path: root/redhat/tdepim/tdepim-3.5.13.2-kmail_networkmanager_support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/tdepim/tdepim-3.5.13.2-kmail_networkmanager_support.patch')
-rw-r--r--redhat/tdepim/tdepim-3.5.13.2-kmail_networkmanager_support.patch251
1 files changed, 251 insertions, 0 deletions
diff --git a/redhat/tdepim/tdepim-3.5.13.2-kmail_networkmanager_support.patch b/redhat/tdepim/tdepim-3.5.13.2-kmail_networkmanager_support.patch
new file mode 100644
index 000000000..e6dc1ead3
--- /dev/null
+++ b/redhat/tdepim/tdepim-3.5.13.2-kmail_networkmanager_support.patch
@@ -0,0 +1,251 @@
+--- trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/CMakeLists.txt.ORI 2013-05-25 17:07:04.113241481 +0200
++++ trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/CMakeLists.txt 2013-05-25 17:09:01.115862006 +0200
+@@ -178,7 +178,7 @@
+ localsubscriptiondialog.cpp editorwatcher.cpp favoritefolderview.cpp
+ foldertreebase.cpp snippetdlgbase.ui snippetwidget.cpp snippetconfig.cpp
+ snippetdlg.cpp snippetitem.cpp snippetsettings.cpp snippetsettingsbase.ui
+- messageactions.cpp korghelper.cpp foldersetselector.cpp stringutil.cpp
++ messageactions.cpp korghelper.cpp kmnetworkmonitor.cpp foldersetselector.cpp stringutil.cpp
+ treebase.cpp backupjob.cpp importjob.cpp folderutil.cpp archivefolderdialog.cpp
+ importarchivedialog.cpp ${CMAKE_SOURCE_DIR}/korganizer/kcalendariface.stub
+ ${CMAKE_SOURCE_DIR}/korganizer/korganizeriface.stub )
+@@ -192,7 +192,7 @@
+ SOURCES ${${target}_SRCS}
+ LINK
+ emailfunctions-static kmime-shared kpgp-shared kdepim-shared kpimidentities-shared
+- mimelib-shared ksieve-shared khtml-shared ${INDEX_LIBRARY}
++ mimelib-shared ksieve-shared khtml-shared kdedbus-shared ${INDEX_LIBRARY}
+ DESTINATION ${LIB_INSTALL_DIR}
+ )
+
+--- trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/kmkernel.cpp.ORI 2013-05-25 17:10:26.899117831 +0200
++++ trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/kmkernel.cpp 2013-05-25 17:12:30.471605868 +0200
+@@ -72,6 +72,7 @@
+ #include <kwallet.h>
+ using KWallet::Wallet;
+ #include "actionscheduler.h"
++#include "kmnetworkmonitor.h"
+
+ #include <qutf7codec.h>
+ #include <tqvbox.h>
+@@ -169,6 +170,9 @@
+
+ connectDCOPSignal( 0, 0, "kmailSelectFolder(TQString)",
+ "selectFolder(TQString)", false );
++
++ networkMonitor = new KMNetworkMonitor(this, "KMNetworkMonitor");
++ connect(networkMonitor, TQT_SIGNAL(stateChanged(bool)), TQT_SLOT(slotNetworkStateChanged(bool)));
+ }
+
+ KMKernel::~KMKernel ()
+@@ -2056,6 +2060,15 @@
+ mPutJobs.remove(it);
+ }
+
++void KMKernel::slotNetworkStateChanged(bool state)
++{
++ if(state) {
++ resumeNetworkJobs();
++ } else {
++ stopNetworkJobs();
++ }
++}
++
+ void KMKernel::slotRequestConfigSync() {
+ // ### FIXME: delay as promised in the kdoc of this function ;-)
+ KMKernel::config()->sync();
+--- trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/kmkernel.h.ORI 2013-05-25 17:13:53.309922294 +0200
++++ trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/kmkernel.h 2013-05-25 17:15:29.587965912 +0200
+@@ -28,6 +28,8 @@
+ class Wallet;
+ }
+
++class KMNetworkMonitor;
++
+ /** The KMail namespace contains classes used for KMail.
+ * This is to keep them out of the way from all the other
+ * un-namespaced classes in libs and the rest of PIM.
+@@ -434,6 +436,7 @@
+ protected slots:
+ void slotDataReq(KIO::Job*,TQByteArray&);
+ void slotResult(KIO::Job*);
++ void slotNetworkStateChanged(bool);
+
+ signals:
+ void configChanged();
+@@ -517,6 +520,8 @@
+ KPIM::ThreadWeaver::WeaverThreadLogger *the_weaverLogger;
+
+ KWallet::Wallet *mWallet;
++
++ KMNetworkMonitor *networkMonitor;
+
+ // variables used by dcopAddMessage()
+ TQStringList mAddMessageMsgIds;
+--- /dev/null 2013-05-25 09:16:59.792134055 +0200
++++ trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/kmnetworkmonitor.h 2013-05-25 17:20:02.351394952 +0200
+@@ -0,0 +1,45 @@
++/*
++ This file is part of the KDE3 Fork Project
++ Copyright (c) 2013 Serghei Amelian <serghei.amelian@gmail.com>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License version 2 as published by the Free Software Foundation.
++
++ This library 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++#ifndef _KMNETWORKMONITOR_H_
++#define _KMNETWORKMONITOR_H_
++
++#include <tqobject.h>
++
++class KMNetworkMonitorPrivate;
++
++
++class KMNetworkMonitor : public TQObject {
++
++ TQ_OBJECT
++
++ friend class KMNetworkMonitorPrivate;
++
++public:
++ KMNetworkMonitor(TQObject *parent = 0, const char *name = 0);
++ ~KMNetworkMonitor();
++
++signals:
++ void stateChanged(bool);
++
++private:
++ KMNetworkMonitorPrivate *d;
++};
++
++
++#endif
+--- /dev/null 2013-05-25 09:16:59.792134055 +0200
++++ trinity-tdepim-3.5.13.2~pre23+6c74b892/kmail/kmnetworkmonitor.cpp 2013-05-25 17:21:55.565054211 +0200
+@@ -0,0 +1,116 @@
++/*
++ This file is part of the KDE3 Fork Project
++ Copyright (c) 2013 Serghei Amelian <serghei.amelian@gmail.com>
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License version 2 as published by the Free Software Foundation.
++
++ This library 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB. If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++*/
++
++#include <TQTime.h>
++
++#include <dbus/TQDBusConnection.h>
++#include <dbus/qdbuserror.h>
++#include <dbus/TQDBusMessage.h>
++#include <dbus/qdbusproxy.h>
++
++#include <kdebug.h>
++
++#include "kmnetworkmonitor.h"
++
++
++class KMNetworkMonitorPrivate : public TQDBusProxy {
++
++ TQ_OBJECT
++
++public:
++ KMNetworkMonitorPrivate(KMNetworkMonitor *parent)
++ : TQDBusProxy(parent, "KMNetworkMonitorPrivate"), lastStatus(-1)
++ {
++ setService("org.freedesktop.NetworkManager");
++ setPath("/org/freedesktop/NetworkManager");
++ setInterface("org.freedesktop.NetworkManager");
++
++ TQTime::singleShot(0, this, TQT_SLOT(initialize()));
++ }
++
++protected slots:
++ void initialize()
++ {
++ // connect to DBUS
++ TQDBusConnection dbus = TQDBusConnection::systemBus();
++ if(!dbus.isConnected()) {
++ kdDebug() << "Unable to connect to DBus: " << dbus.lastError().message() << endl;
++ return;
++ }
++ setConnection(dbus);
++
++ // check for current status
++ int rc = sendWithAsyncReply("state", TQValueList<TQDBusData>());
++ if(0 == rc) {
++ kdDebug() << "Unable to send \"state\" command to DBus" << endl;
++ return;
++ }
++ }
++
++ void handleDBusSignal(const TQDBusMessage &message)
++ {
++ // the message is for us
++ if(path() == message.path() && interface() == message.interface() && "StateChanged" == message.member())
++ handleMessage(message);
++ }
++
++ void handleAsyncReply(const TQDBusMessage &message)
++ {
++ handleMessage(message);
++ }
++
++ void handleMessage(const TQDBusMessage &message)
++ {
++ bool ok;
++ TQ_UINT32 state = message[0].toUInt32(&ok);
++
++ if(!ok) {
++ kdDebug() << "KMNetworkMonitor: received unexpected type for state (" << message[0].typeName() << ")" << endl;
++ return;
++ }
++
++ int currStatus = (50 < state ? 1 : 0);
++
++ if(lastStatus != currStatus) {
++ emit static_cast<KMNetworkMonitor*>(parent())->stateChanged(1 == currStatus);
++ lastStatus = currStatus;
++ }
++ }
++
++private:
++ // -1 = unitialized, 0 = offline, 1 = online
++ int lastStatus;
++};
++
++
++KMNetworkMonitor::KMNetworkMonitor(TQObject *parent, const char *name)
++ : TQObject(parent, name)
++{
++ d = new KMNetworkMonitorPrivate(this);
++}
++
++
++KMNetworkMonitor::~KMNetworkMonitor()
++{
++ delete d;
++}
++
++
++#include "kmnetworkmonitor.moc"
++#include "kmnetworkmonitor.cpp.moc"