From 2fcb0cbb7ea95f28257a863b833ff6d131dfaede Mon Sep 17 00:00:00 2001 From: Allen Winter Date: Thu, 26 Nov 2009 23:19:57 +0000 Subject: [PATCH] Merged revisions 1054852 via svnmerge from https://svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim ........ r1054852 | winterz | 2009-11-26 18:08:19 -0500 (Thu, 26 Nov 2009) | 4 lines Don't show two offline warning windows that might overlap and block kolab/issue3969 MERGE: e4,trunk,4.3 ........ svn path=/branches/kdepim/enterprise4/kdepim/; revision=1054855 --- kmkernel.cpp | 8 ++++++++ kmmainwidget.cpp | 1 + 2 files changed, 9 insertions(+) diff --git a/kmkernel.cpp b/kmkernel.cpp index d2cb9968e..c5034bc14 100644 --- a/kmkernel.cpp +++ b/kmkernel.cpp @@ -88,6 +88,7 @@ using KWallet::Wallet; #include "folderadaptor.h" #include "groupware_types.h" +static bool s_askingToGoOnline = false; static KMKernel * mySelf = 0; @@ -1198,7 +1199,13 @@ bool KMKernel::isOffline() bool KMKernel::askToGoOnline() { + // already asking means we are offline and need to wait anyhow + if ( s_askingToGoOnline ) { + return false; + } + if ( kmkernel->isOffline() ) { + s_askingToGoOnline = true; int rc = KMessageBox::questionYesNo( KMKernel::self()->mainWin(), i18n("KMail is currently in offline mode. " @@ -1207,6 +1214,7 @@ bool KMKernel::askToGoOnline() KGuiItem(i18n("Work Online")), KGuiItem(i18n("Work Offline"))); + s_askingToGoOnline = false; if( rc == KMessageBox::No ) { return false; } else { diff --git a/kmmainwidget.cpp b/kmmainwidget.cpp index 22f894739..4eee4201c 100644 --- a/kmmainwidget.cpp +++ b/kmmainwidget.cpp @@ -1982,6 +1982,7 @@ void KMMainWidget::slotOnlineStatus() kmkernel->stopNetworkJobs(); } else { kmkernel->resumeNetworkJobs(); + slotCheckVacation(); } }