Bug 60760 - Undo command doesn't work well
Summary: Undo command doesn't work well
Status: RESOLVED FIXED
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: 3.1
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Cornelius Schumacher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-07-04 20:39 UTC by Rafael Rodriguez
Modified: 2003-09-07 17:01 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rafael Rodriguez 2003-07-04 20:39:48 UTC
Version:           3.1 (using KDE 3.1.9)
Compiler:          gcc version 3.3 (Debian)
OS:          Linux (i686) release 2.4.21-ck3

Try this:

1) Select a pending TO-DO action and mark it as finished.
2) Drag a TO-DO over another TO-DO (so it turns into a SUB-TODO).

Try to undo the last action... At least here, the undone action is 1), like second action wasn't registered or something...
Comment 1 Reinhold Kainhofer 2003-07-31 15:20:57 UTC
Other missing actions are (using current CVS HEAD): 
-) Moving an event in the week view 
-) marking a TODO finished by clicking the CheckBox 
 
 
Suggested improvements: 
-) Editing a Todo is titled "Undo (Edit Incidence)". It should say "Edit Todo item". The 
same goes for adding and deleting (todos as well as events)l. 
 
Comment 2 Reinhold Kainhofer 2003-09-07 14:47:15 UTC
Subject: kdepim

CVS commit by kainhofe: 

-) Almost complete undo support for KOrganizer (bug:60760):
  o) Cut, Copy, Paste 
  o) moving/resizing events/todos in agenda view
  o) moving a todo to a subtodo (and make it independent)
  o) delete todos
  o) Only thing missing is marking todos finished using the checkbox (priority and % work)

-) Undo menu item now displays "Todo" or "Event" instead of "Incidence" for both

-) Code cleanup of undo history generation

-) lots of checks for Incidence::List's isEmpty() to prevent crashes (as usual, a consequence of the QPtrList => Incidence::List transition)

-) Copy'n'Paste of Todo items is now also possible

CCMAIL: 60760@bugs.kde.org


  M +125 -86   korganizer/calendarview.cpp   1.212
  M +61 -52    korganizer/calendarview.h   1.101
  M +3 -3      korganizer/history.cpp   1.2
  M +13 -9     korganizer/koagendaview.cpp   1.111
  M +1 -2      korganizer/koagendaview.h   1.50
  M +2 -2      korganizer/kodialogmanager.cpp   1.25
  M +2 -2      korganizer/koeventeditor.cpp   1.56
  M +3 -3      korganizer/koeventeditor.h   1.30
  M +30 -13    korganizer/kotodoview.cpp   1.124
  M +7 -1      korganizer/kotodoview.h   1.55
  M +10 -7     korganizer/kotodoviewitem.cpp   1.22
  M +12 -4     korganizer/koviewmanager.cpp   1.41
  M +42 -14    libkcal/dndfactory.cpp   1.12
  M +7 -3      libkcal/dndfactory.h   1.8



Comment 3 Reinhold Kainhofer 2003-09-07 17:01:59 UTC
Subject: kdepim/korganizer

CVS commit by kainhofe:

Finally, I found the real problem that crashed korganizer when you marked a todo
completed using the checkbox. The problem was that stateChange of the
KOTodoViewItem emitted the signal todoChanged, which called updateTodoViews(),
which rebuilt the todo lists. This meant also calling stateChange of the same
item again, and then the crash occured.

The fix is to postpone the updateViews until the stateChange function has
exited. So, I'm now using QTimer::singleShot to call that slot.

Also, moved the connect calls for the todo list and the todo view to
KOViewManager, so the two todo lists are always connected to the same signals/slots.

Also, now that marking todo items finished worked again, I could finally test my
patch for unding this action. It works, so now bug 60670 is fixed.

CCMAIL: 60670-done@bugs.kde.org, 56348@bugs.kde.org, tokoe@kde.org



PS: The way bug 56348 (the crash which i finally fixed now) was closed (revision
1.36 of
http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdepim/korganizer/koviewmanager.cpp )
collides with item 12 of the CVS Policies
(http://developer.kde.org/policies/commitpolicy.html#12)...


M +8 -25 calendarview.cpp 1.214
M +1 -1 kotodoview.h 1.56
M +31 -22 koviewmanager.cpp 1.42
M +7 -5 koviewmanager.h 1.12