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

List:       kde-pim
Subject:    Re: [Kde-pim] [PATCH] Group schedulling when an event is moved in the
From:       Reinhold Kainhofer <kainhofer () finanz ! math ! tu-graz ! ac ! at>
Date:       2004-12-23 11:32:31
Message-ID: 200412231232.36923.reinhold () kainhofer ! com
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


Am Donnerstag, 23. Dezember 2004 01:37 schrieb Mario Teijeiro Otero:
>  It was not easy make it. The blame is the  $%&·$%%/
> sendIcalMessage in IncidenceChanger::changeIncidence.

Yes... Do you have any better suggestion to clean this up once and for all ?


>  Problem: the MessageBox has not parent widget 

Shall we add an additional QWidget* parameter to all IncidenceChanger methods, 
so the message box has a parent?


>  the agenda 
> recives the move events and KOAgenda->performItemAction and
> KOAgenda->endItemAction has not ready to be reentrant. I fixed this.

Actually endItemAction should never be called twice... True, performItemAction 
should be reentrant.

>  We don't have enough control when show the MessageBox to ask the user
> if wants to send a status update, This control is required because when We
> move a recurrente event with "Only this item", mChanger->changeIncidence
> and mChanger->addIncidence are called, this calls fire a "ask user update
> event" each one.

Yes. We need to send two mails anyway (one changing the recurring event, and 
one adding the newly dissociated item), since an invitation allows only one 
event per mail...


>  I don't like very much this patch because looks a "patch".

Moving and dissociating in the agenda is a nasty beast. Mainly, because it can 
get so complex, and so many different cases can appear.
In particular, when dissociating, ideally we would just change the incidence 
in the calendar and let changeIncidenceDisplay handle it. However, the 
problem is that the currently selected agenda item (which we work on using a 
pointer ) is dissociated and so would be deleted and recreated as a new 
item.But we still have the pointer to the old agenda item, and we keep 
working on it (setting the time to the new position in the agenda). => KOrg 
would crash.
That's the reason why I preserve the agenda item, and just replace the pointer 
to the incidence with the newly created one. After that, the times can be 
adjusted to the new position of that agenda item. 
I wish there was a simpler way to achieve this. Then we could get rid of all 
those nasty hacks in the agenda. Maybe you have a good idea to achieve this?

I haven't tested your patch, but I guess you have done that yourself. I saw 
you moved the emit beginMultiModify. Have you checked that undoing still 
works (i.e. the modification of the old and the addition of hte new item are 
bundled together to one undo item, in both dissociation cases)?

Apart from that I don't see any obvious problems.

Reinhold

PS: I'll  be at home with my parents for the next few days, where my internet 
access will only be through a slow dialup connection using Windows... So I 
won't be able to commit/fix anything in CVS, and I also won't be able to 
improve the groupware resources.

-- 
------------------------------------------------------------------
Reinhold Kainhofer, Vienna, Austria
email: reinhold@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at
 * K Desktop Environment, http://www.kde.org/, KOrganizer / KPilot maintainer

[Attachment #5 (application/pgp-signature)]

_______________________________________________
kde-pim mailing list
kde-pim@kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/

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

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