<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel">
    <title>gmane.comp.sysutils.pim.taskcoach.devel</title>
    <link>http://blog.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/193"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/192"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/191"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/190"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/189"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/188"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/187"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/186"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/185"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/184"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/183"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/182"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/181"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/180"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/179"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/178"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/177"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/176"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/175"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/174"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/193">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/193</link>
    <description>

And of course this is typical of YAGNI. What I should have said is 
that this is not only a "prospective feature"; I'm pretty sure it 
makes sense to prevent users from editing/deleting an object that's 
being edited. But it's obviously redundant with the whole "user 
deletes object X, all dialogs related to X are dismissed" approach. I 
just think the locking thing would be easier to implement, and *may* 
be of some use in the future.

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-28T18:53:03</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/192">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/192</link>
    <description>

Seems right. Still, I'm wondering how many strange scenarios are 
lurking behind the curtain. Guess we'll see.


Sorry, I fumbled. I meant createToolBarUICommands() of course.

(on a side note, the category viewer should have columns, since now 
categories may have attachments and notes, but we'll take care of this 
later)


Right, I was too quick on this one.


Well, if the edit dialog observes the model and closes itself when the 
item it's editing is erased, we don't. We'll also have to close any 
dialog editing an item belonging to the one being deleted (a note for 
an attachment for a note for a task etc...), not that simple to 
implement IMHO, though I didn't really think about it.


Well, I think we're gonna need it, but not right now, there's a nuance 
:)

I've been thinking about multi-user mode for quite some time, and I 
think it's feasible. Actually, the multiple editor dialogs looks much 
like a multiple users use case, except that all users are, well, the 
same one. Still, it raises some interesting problems that won't get in 
the way later if we fix them right now.

I may not be able to work on TC this week-end since a friend of mine 
is throwing a party to celebrate his PACS, but I'll fix all this stuff 
ASAP. Preferably when my satursday's hangover is cured. Hangover code 
is the worst :)

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-28T18:41:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/191">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/191</link>
    <description>2008/8/28 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

Yes, but that edit command is only created (when the note edit dialog
is opened), not 'done', so it isn't on the history yet. The do() is
executed when the user clicks OK and that is the moment that the
command is added to the history. Also, the note edit dialog would be
observing the tasklist so it can close itself as soon as the task (the
noteowner of the note) is removed from the tasklist.


Uhm? A category viewer has no columns at the moment, so I'm not
following you here.


But creating a category from a task edit dialog is no problem:
1. User clicks new task button on toolbar: NewTaskCommand is created
and ok()'ed; task edit dialog is opened to allow editing of the task
2. User clicks new category from category viewer in task editor, a
NewCategoryCommand is created and ok()'ed, category is added to the
main category list and the category viewer in the task editor shows
the new category because it is observing the main category list.
3. clicks OK in category edit dialog after e.g. editing the category
subject; the EditCategoryCommand is ok()'ed.
4. User clicks cancel in task editor; the EditTaskCommand is simply discarded
5. User clicks undo and the last command on the history, in this case
the EditCategoryCommand, is undone.
6. User clicks undo again, the NewCategoryCommand is undone
7 etc.


I really don't see where we need locking, can you please give an
example where we need it?


Careful, don't forget YAGNI :-)

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-28T18:33:20</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/190">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/190</link>
    <description>

Mmmh. Seems too good to be true :) What about create task/create 
note/click OK in the task editor/delete the task (or undo twice)/click 
OK in the note editor ? Wouldn't there be an Edit command related to 
a note that doesn't exist (since the containing task was deleted) ?

I think the hardest part is the categories stuff, because they're 
"common" to all objects. Much failure scenarios would simply go away 
if createColumnUICommands() in LocalCategoryViewer just returned []. 
People could still create/edit categories from the main window since 
the dialogs wouldn't be modal. This solves half of the problems.

For the remaining ones, I don't think we can go without locking. 
Besides, this locking idea isn't new for me, it popped up when I 
thought about multi-user support (a long way to go), we'll need it 
then.

I'll give it a try this week-end, on a separate branch so we can test 
it out.

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-28T16:40:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/189">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/189</link>
    <description>2008/8/25 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

Right.


I'd prefer them not to be, but can live with it if we can't find
another way around this issue.


LOL


What would happen if we split the New&lt;DomainObject&gt;Command's in two
steps: creating a new domain object (with all default settings) and
then editing it? That way, if the user creates a new task and then
adds a note the command history would look like this (oldest first):
NewTaskCommand (because the user clicks new task on the toolbar)
NewNoteCommand (because the user clicks new note in the note viewer
toolbar of the task editor)
EditNoteCommand (because the user edits the note, e.g. the subject,
and clicks ok)
EditTaskCommand (because the user edits the task, e.g. the due date,
and clicks ok)

If the user first clicks ok in the task editor, the history looks as follows:
NewTaskCommand (because the user clicks new task on the toolbar)
NewNoteCommand (because the user clicks new note in the note viewer
toolbar of the task editor)
EditTaskCommand (because the user edits the task, e.g. the due date,
and clicks ok)
EditNoteCommand (because the user edits the note, e.g. the subject,
and clicks ok)

Both would work. Here's the scenario you mention above:
NewCategoryCommand (user clicks new category on the toolbar)
EditCategoryCommand (user clicks ok in the category editor)
NewTaskCommand (user clicks new task on the toolbar)
EditCategoryCommand (user clicks edit category in the category viewer
of the task editor, edits it and clicks ok)
DeleteCategoryCommand (user deletes category in mainwindow;
categoryviewer in the task editor is updated)
EditTaskCommand (user clicks ok in the task editor dialog)

That should work too.

This way, all dialogs always edit objects that already exist. To deal
with the situation where a user deletes an object that is opened in an
edit dialog, the edit dialog needs to observe the domain model for
deletions. That shouldn't be too hard to implement. In the case of
notes that are not part of the global notes container, but only part
of a noteowner, the dialog has to observe the noteowner for deletion
too.

I think this solves all problems we currently have. Moreover, it
doesn't need layered command history, it doesn't need locking of
objects and it doesn't need modal dialogs at all. Am I missing
something?

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-28T15:44:17</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/188">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/188</link>
    <description>

Let me rephrase that: allowing anything in the main window while 
editing an object breaks undo/redo. Here is what I came up with so 
far.

* So, top-level dialogs should not be modal.

* "children" dialogs should be.

* In order to avoid the command history mixup when the user works with 
2 editor dialogs at once, the only sane thing I can think of is having 
a command history for each top-level dialog. Commands done in this 
context (and in children dialogs) are stored in the top-level dialog 
history. If the user clicks cancel, all commands in this history are 
undone; if he clicks OK, the history is converted to an 
AggregateCommand and appended to the global history. Let's call this 
the "what happens in Vegas stays in Vegas" strategy.

* Users should not be able to delete/cut/etc an object being edited. 
This is simple; put a 'locked' attribute on domain.base.Object and use 
a NeedsUnlockedSelection mixin for 'critical' UICommands.

* Objects may also be deleted by undoing their creation; so undo/redo 
should be disabled when editing an object.

This covers most problems but not all of them. For instance, consider 
the following: create a category; create a task; in the task editor, 
edit the category, modify it, click OK (in the category editor). Now 
in the main window, delete the category (which isn't locked anymore). 
Click OK in the task editor.

What happens is that now the global command history contains a command 
for the category deletion, and then an AggregateCommand that includes 
a command for the category editing. I'm pretty sure clicking 'undo' in 
this situation will raise an exception, trying to undo the edition of 
a non-existent category...

Still thinking...

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-25T14:05:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/187">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/187</link>
    <description>

Okay, this is moot since the task editor now has a "real" category 
viewer, the deleted category will disappear from it as well.

But basically, being able to edit two objects at the same time (in two 
different dialogs, that is) breaks horribly the undo/redo mechanism as 
long as Command instances are used in the editor dialog... This will 
be hard to work around.

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-25T08:09:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/186">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/186</link>
    <description>

I was thinking about another scenario: create a category, create a 
task, check the category in the task editor, delete the category in 
the main view, click OK. As expected,

   File 
"/home/jerome/prg/python/taskcoach-release-0.70/taskcoachlib/gui/dialog/editor.py", 
line 411, in getCategoryWithIndex
     category = children[i]
IndexError: list index out of range

I'm sure there are plenty of such scenarios.

Actually, the reason I think all dialogs should be modal is that since 
the new, empty CommandHistoryLayer is pushed on the stack when the 
dialog is created, if two top-levels dialogs are created, the commands 
will be all messed up, and if you click OK in one of them and Cancel 
in the other, strange things will happen. Maybe it's possible to do 
the push elsewhere, I'll see about that.

Cheers,
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-25T07:14:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/185">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/185</link>
    <description>2008/8/24 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

I guess you're saying that because you're thinking about the situation
where a user deletes an object that is opened in a edit dialog?

Anyway, making it impossible to edit two different objects at the same
time is something people would complain about, including myself :-) I
don't think that is an option.

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-24T18:37:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/184">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/184</link>
    <description>2008/8/24 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

Yay, best of both worlds :-)

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-24T18:33:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/183">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/183</link>
    <description>

And thinking about it, all dialogs must be modal, not only those 
created from a dialog.
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-24T06:38:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/182">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/182</link>
    <description>

And now I realize a NoteOwner is not necessarily composite.

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-24T06:37:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/181">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/181</link>
    <description>

Actually I was so sure dialogs were already modal that I didn't check. 
Obviously a potential for bugs here.
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-24T06:23:21</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/180">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/180</link>
    <description>

Though I agree children attachment are sometwhat strange, I'd really 
like to have notes in attachments.

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-24T06:21:20</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/179">
    <title>Re: Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/179</link>
    <description>2008/8/23 Frank Niessink &lt;frank-ZOags1uI1ddWk0Htik3J/w&lt; at &gt;public.gmane.org&gt;:

My proposal would solve the issue in the current implementation that
when creating two notes from a task editor, first OK'ing the second
note and then canceling the first note, gives you no notes at all. At
least, I think it should ;-)

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-23T21:03:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/178">
    <title>Layered command history</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/178</link>
    <description>Hi Jérôme,

I appreciate the hard work you did today/yesterday, but I think the
layered command history is too complex for users. If it was something
totally hidden for users, it would still be an option, but having the
undo/redo buttons on the edit dialogs is just, well, very unusual.
What about making dialogs that are opened from dialogs modal? Wouldn't
that make the undo/redo buttons unnecessary?

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-23T20:51:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/177">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/177</link>
    <description>2008/8/23 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

You mean you want to make attachments composite? Does that make sense?
Why not make it a non-composite domain object, like effort?

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-23T20:30:06</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/176">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/176</link>
    <description>

Agreed. I'll create the folder after I'm done with the attachment 
branch. In case you didn't see the commit messages yet, I'm making the 
attachments "regular" domain objects, with categories and notes, and 
a dedicated viewer. The only thing that bugs me is that 
"subattachment" isn't a nice word, I think I'll go with 'child 
attachment' :)

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-23T15:17:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/175">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/175</link>
    <description>2008/8/23 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

Great, I'll take a look.


Would that be /svnroot/taskcoach/trunk/contrib or
/svnroot/taskcoach/trunk/taskcoach/contrib? I guess the first option
since that wouldn't clutter regular workspaces? Maybe the rule should
be to put stuff that must/can be released as part of TC in
/svnroot/taskcoach/trunk/taskcoach and stuff that is not released as
part of TC in /svnroot/taskcoach/trunk/contrib.

Cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-23T15:27:42</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/174">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/174</link>
    <description>

Done, seems to work well. It's nice to be able to create a category 
from within the task/note editor :)

In other news, I'd like to add a 'contrib' directory to store stuff 
related to TaskCoach but not exactly part of it. I already have a 
script that uses Python bindings for coldsync in order to synchronize 
with a Palm, which would be better there. Also, I upgraded the 
'taskcoach' tool for Faces (http://faces.homeip.net/) and submitted a 
patch, but the project doesn't seem to be very active and I think this 
tool would be better in TaskCoach SVN anyway.

No objection ?

Cheers
Jérôme
------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

</description>
    <dc:creator>Jerome Laheurte</dc:creator>
    <dc:date>2008-08-23T10:52:58</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/173">
    <title>Re: Difficult bug</title>
    <link>http://permalink.gmane.org/gmane.comp.sysutils.pim.taskcoach.devel/173</link>
    <description>2008/8/22 Jerome Laheurte &lt;fraca7-GANU6spQydw&lt; at &gt;public.gmane.org&gt;:

I added a __getcopystate__ method that is used for copying instead of
__getstate__. Here's the commit message:

Don't use __getstate__ for getting the contents of a domain object that is
about to be copied, but rather use the new method __getcopystate__. The
difference between the two is that __getstate__ returns a shallow copy of
the state of an object, whereas __getcopystate__ returns a deep copy of
the state. For example, the state returned by __getcopystate__ will
include a copy of the children in case of a composite object, it will include
a copy of attachments and for tasks it will include a copy of effort
records. It will not, however, return a copy of the categories that an
object ('categorizable') belongs to, since categories don't have to be
copied when copying a categorizable.

I focused on getting the copying right, but didn't look into the
undo/redo stuff. I'll leave that to you :-)

cheers, Frank

------------------------------------

Yahoo! Groups Links

&lt;*&gt; To visit your group on the web, go to:
    http://groups.yahoo.com/group/taskcoach-dev/

&lt;*&gt; Your email settings:
    Individual Email | Traditional

&lt;*&gt; To change settings online go to:
    http://groups.yahoo.com/group/taskcoach-dev/join
    (Yahoo! ID required)

&lt;*&gt; To change settings via email:
    mailto:taskcoach-dev-digest-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org 
    mailto:taskcoach-dev-fullfeatured-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; To unsubscribe from this group, send an email to:
    taskcoach-dev-unsubscribe-hHKSG33TihhbjbujkaE4pw&lt; at &gt;public.gmane.org

&lt;*&gt; Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


</description>
    <dc:creator>Frank Niessink</dc:creator>
    <dc:date>2008-08-22T22:02:49</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.sysutils.pim.taskcoach.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.sysutils.pim.taskcoach.devel</link>
  </textinput>
</rdf:RDF>
