[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/kdepim/enterprise/kdepim/korganizer
From: Sergio Luis Martins <iamsergio () gmail ! com>
Date: 2010-12-13 0:25:43
Message-ID: 20101213002543.E8BF9AC8A7 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1205912 by smartins:
Be careful when deleting attendees (while expanding), we're still waiting for signals \
that will affect the item we deleted.
Fixes kolab/issue4660
M +1 -1 freebusymanager.cpp
M +15 -4 koattendeeeditor.cpp
--- branches/kdepim/enterprise/kdepim/korganizer/freebusymanager.cpp #1205911:1205912
@@ -580,7 +580,7 @@
KCal::FreeBusy *FreeBusyManager::iCalToFreeBusy( const QCString &data )
{
kdDebug(5850) << "FreeBusyManager::iCalToFreeBusy()" << endl;
- kdDebug(5850) << data << endl;
+ //kdDebug(5850) << data << endl;
QString freeBusyVCal = QString::fromUtf8( data );
KCal::FreeBusy *fb = mFormat.parseFreeBusy( freeBusyVCal );
--- branches/kdepim/enterprise/kdepim/korganizer/koattendeeeditor.cpp \
#1205911:1205912 @@ -377,16 +377,27 @@
void KOAttendeeEditor::expandAttendee()
{
+ /* When return is pressed mNameEdit emits returnPressed() and then a textChanged() \
signal. + * The textChanged() signal triggers the updateAttendee() slot to be \
called which will + * change the wrong Attendee, because after expandAttendee() is \
executed, the currentItem() + * will be some other Attendee.
+ * That's why we delay this call with a singleShot
+ * */
+ if ( sender() != mNameEdit ) {
KABC::Addressee::List aList = expandDistList( mNameEdit->text() );
+ KCal::Attendee *current = currentAttendee();
if ( !aList.isEmpty() ) {
- int index = selectedIndex();
for ( KABC::Addressee::List::iterator itr = aList.begin(); itr != aList.end(); \
++itr ) { insertAttendeeFromAddressee( (*itr) );
}
- setSelected( index );
- removeAttendee( currentAttendee() );
+ removeAttendee( current );
+ setSelected( 0 );
}
+ } else {
+ // delay this call.
+ QTimer::singleShot( 0, this, SLOT(expandAttendee()) );
}
+}
void KOAttendeeEditor::updateAttendee()
{
@@ -409,7 +420,7 @@
email = mNameEdit->text();
}
- bool iAmTheOrganizer = mOrganizerCombo &&
+ const bool iAmTheOrganizer = mOrganizerCombo &&
KOPrefs::instance()->thatIsMe( mOrganizerCombo->currentText() );
if ( iAmTheOrganizer ) {
bool myself =
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic