[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdepim/kalarmd
From:       David Jarvie <software () astrojar ! org ! uk>
Date:       2003-11-26 12:37:50
[Download RAW message or body]

CVS commit by djarvie: 

Prevent sending of multiple DCOP notifications to client after calendar is reloaded


  M +1 -1      adcalendar.h   1.11
  M +10 -1     adcalendarbase.cpp   1.21
  M +6 -1      adcalendarbase.h   1.13
  M +4 -2      alarmdaemon.cpp   1.61


--- kdepim/kalarmd/adcalendar.h  #1.10:1.11
@@ -47,5 +47,5 @@ class ADCalendar : public ADCalendarBase
     static void    clearEventsHandled(const QString& calendarURL);
 
-    bool           loadFile()          { return loadFile_(""); }
+    bool           loadFile()          { return loadFile_(); }
 
   public:

--- kdepim/kalarmd/adcalendarbase.h  #1.12:1.13
@@ -31,4 +31,5 @@ namespace KIO {
   class Job;
 }
+class AlarmDaemon;
 
 using namespace KCal;
@@ -71,4 +72,7 @@ class ADCalendarBase : public CalendarLo
     virtual bool eventHandled(const Event*, const QValueList<QDateTime> &) = 0;
 
+    // Check status of mLoadedConnected and set it to true
+    bool         setLoadedConnected();  
+
     void         dump() const;
 
@@ -77,5 +81,5 @@ class ADCalendarBase : public CalendarLo
 
   protected:
-    bool         loadFile_(const QCString& appName);
+    bool         loadFile_();
 
   private:
@@ -110,4 +114,5 @@ class ADCalendarBase : public CalendarLo
     int               mRcIndex;       // index within 'clients' RC file for this calendar's entry
     bool              mLoaded;        // true if calendar file is currently loaded
+    bool              mLoadedConnected; // true if the loaded() signal has been connected to AlarmDaemon
     bool              mUnregistered;  // client has registered, but has not since added the calendar
 };

--- kdepim/kalarmd/adcalendarbase.cpp  #1.20:1.21
@@ -47,4 +47,5 @@ ADCalendarBase::ADCalendarBase(const QSt
     mRcIndex(-1),
     mLoaded(false),
+    mLoadedConnected(false),
     mUnregistered(false)
 {
@@ -79,5 +80,5 @@ ADCalendarBase::ADCalendarBase(const QSt
  * Load the calendar file.
  */
-bool ADCalendarBase::loadFile_(const QCString& appName)
+bool ADCalendarBase::loadFile_()
 {
   if ( !mTempFileName.isNull() ) {
@@ -141,4 +142,12 @@ void ADCalendarBase::loadLocalFile( cons
     }
   }
+}
+
+bool ADCalendarBase::setLoadedConnected()
+{
+  if (mLoadedConnected)
+    return true;
+  mLoadedConnected = true;
+  return false;
 }
 

--- kdepim/kalarmd/alarmdaemon.cpp  #1.60:1.61
@@ -204,6 +204,8 @@ void AlarmDaemon::reloadCal_(ADCalendarB
   {
     cal->close();
+    if (!cal->setLoadedConnected()) {
     connect( cal, SIGNAL( loaded(ADCalendarBase*, bool) ),
              SLOT( calendarLoaded(ADCalendarBase*, bool) ) );
+    }
     cal->loadFile();
   }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic