View Issue Details

IDProjectCategoryView StatusLast Update
0002082Slicer4Core: Usabilitypublic2012-07-30 07:23
Reporterfinetjul Assigned Tofinetjul  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product VersionSlicer 4.1.0 
Target VersionSlicer 4.2.0Fixed in VersionSlicer 4.2.0 
Summary0002082: ModifiedSinceRead to confirm exit/load
Description

Before quitting or loading a new scene, the user should be asked if he wants to save the current state/volumes/models of the session only if changes happened on data

Additional Information

Make sure ModifiedSinceRead is used consistently all over Slicer
For example: r18369 added ModifiedSinceRead in wrong places (data not necessarily modified).
From Julien:
Currently, this information is only used by the Save Data dialog to know if the "data" needs to be saved or not. In the future, I believe it should be used by the SceneView node to know when saving "data".
Also, wouldn't it make sense that ModifiedSinceRead becomes a vtkMRMLStorableNode property instead of a vtkMRMLNode property?

From Steve:
Basically ModifiedSinceRead flag on the node supports the 'warn before exit' feature to help users avoid losing data. We should think about other ways to support this - right now developers need to explicitly set this flag if they think a change qualifies as making the scene 'dirty'. Some changes to the scene, like layouts or camera, don't typically cause the user to think the scene is 'dirty' but perhaps we should be consistent about this and treat any Modified as a dirty scene.

TagsNo tags attached.

Activities

pieper

pieper

2012-05-18 08:23

administrator   ~0004494

See this commit from slicer3 for implementation ideas on the warn before exit:

http://viewvc.slicer.org/viewvc.cgi/Slicer3?view=revision&revision=15607

As noted above, a complexity is deciding which changes to nodes should be considered 'modifications'. One possibility would be to explicitly require the user to specify a scene file when the program starts - something like Xcode where most menus are disabled unless there is an active project selected. In this case we could check the MTime of all nodes and consider that any modification should be saved. It would be a change in behavior and I don't know how users might react to it.

jcfr

jcfr

2012-05-18 10:04

administrator   ~0004495

I am note sure we want to ask the user to provide name each time the program starts, instead when slicer is open, the current scene could probably be named "Untitled scene", if the user doesn't do anything .. it shouldn't ask him to save. If later we decide it's better to ask the user to provide a name each time the program starts .. it should be trivial to add.

If the user modify the scene in some way (either through the user interface or using python script .. ), it should show a small "star" near the name to indicate the scene has to be saved / is modified. Considering the name is "Untitled", this save action should be like a "Save as..." .. the subsequent call to save should be like normal "Save".

A side feature:
The concept of auto-save could also probably be integrated .. so that every X minutes, the scene is auto-saved, This should be optional.

finetjul

finetjul

2012-06-15 13:29

administrator   ~0004843

Fixed in r20360:
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20360

jcfr

jcfr

2012-07-27 15:40

administrator   ~0005375

Dear issue reporter,

Good news :) Slicer developers SOLVED the problem you reported - YOU now need to VERIFY and CLOSE this issue.

Issue History

Date Modified Username Field Change
2012-05-17 19:51 finetjul New Issue
2012-05-17 19:54 finetjul Additional Information Updated
2012-05-18 08:23 pieper Note Added: 0004494
2012-05-18 10:04 jcfr Note Added: 0004495
2012-05-22 12:26 finetjul Status new => assigned
2012-05-22 12:26 finetjul Assigned To => finetjul
2012-05-22 14:54 jcfr Target Version => Slicer 4.2.0 AHM Summer 2012
2012-06-15 13:29 finetjul Note Added: 0004843
2012-06-15 13:29 finetjul Status assigned => resolved
2012-06-15 13:29 finetjul Fixed in Version => Slicer 4.2.0 - Sept 1st 2012
2012-06-15 13:29 finetjul Resolution open => fixed
2012-07-27 15:40 jcfr Note Added: 0005375
2012-07-28 10:18 pieper Status resolved => closed