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

List:       kde-commits
Subject:    branches/kdepim/enterprise4/kdepim/korganizer
From:       Thomas McGuire <mcguire () kde ! org>
Date:       2008-08-21 16:37:38
Message-ID: 1219336658.588553.25490.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 850484 by tmcguire:

Manually merge 846008 from trunk, which itself was a e3->trunk merge by Allen \
(r804642 by vkrause).

That's a true KDE PIM bug: Operating on an invitation in the KMail part in Kontact \
triggers a calendar update in the KOrganizer part while being  hidden causing the \
splitter synchronizer event filter installation to fail randomly for some splitters \
of the side-by-side view resulting in a  totally messed up view after switching back \
to KOrganizer. Of course only when using side-by-side view exclusively, not in the \
tabbed mode. No idea  how to really fix this, so as a workaround update the view \
again after being shown if the above problem was detected while being hidden.

Kolab issue 2675


 M  +13 -1     multiagendaview.cpp  
 M  +4 -0      multiagendaview.h  


--- branches/kdepim/enterprise4/kdepim/korganizer/multiagendaview.cpp #850483:850484
@@ -35,7 +35,8 @@
 using namespace KOrg;
 
 MultiAgendaView::MultiAgendaView( Calendar *cal, QWidget *parent )
-  : AgendaView( cal, parent )
+  : AgendaView( cal, parent ),
+    mUpdateOnShow( false )
 {
   QBoxLayout *topLevelLayout = new QHBoxLayout( this );
 
@@ -265,6 +266,8 @@
 
 void MultiAgendaView::showDates( const QDate &start, const QDate &end )
 {
+  mStartDate = start;
+  mEndDate = end;
   recreateViews();
   foreach ( KOAgendaView *agendaView, mAgendaViews ) {
     agendaView->showDates( start, end );
@@ -447,4 +450,13 @@
   resizeScrollView( size() );
 }
 
+void MultiAgendaView::show()
+{
+  AgendaView::show();
+  if ( mUpdateOnShow ) {
+    mUpdateOnShow = false;
+    showDates( mStartDate, mEndDate );
+  }
+}
+
 #include "multiagendaview.moc"
--- branches/kdepim/enterprise4/kdepim/korganizer/multiagendaview.h #850483:850484
@@ -64,6 +64,8 @@
 
     void finishTypeAhead();
 
+    void show();
+
   protected:
     void resizeEvent( QResizeEvent *ev );
 
@@ -91,6 +93,8 @@
     QSplitter *mLeftSplitter, *mRightSplitter;
     QScrollBar *mScrollBar;
     QWidget *mLeftBottomSpacer, *mRightBottomSpacer;
+    QDate mStartDate, mEndDate;
+    bool mUpdateOnShow;
 };
 
 }


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

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