Difference between revisions of "Save + export specification"

From GIMP GUI Redesign
Jump to: navigation, search
Line 50: Line 50:
 
* the ‘Export to’ menu item shall have its label set to “Export to <filename>” and shall be made sensitive;
 
* the ‘Export to’ menu item shall have its label set to “Export to <filename>” and shall be made sensitive;
 
* the document shall be treated as a new, untitled file;
 
* the document shall be treated as a new, untitled file;
* the file name and path shall be recycled in the Export dialog as the default path and name (==type);
 
* it shall be possible to Revert to this state.
 
  
 
===saving files===
 
===saving files===
  
 
Save, ‘Save as’ and ‘Save a copy’ shall only save to (compressed) GIMP formats, which shall be the only available format choices in the Save dialog. Only Save and ‘Save as’ shall change the saved-status of the document, or replace the Untitled status to associated with an actual file.
 
Save, ‘Save as’ and ‘Save a copy’ shall only save to (compressed) GIMP formats, which shall be the only available format choices in the Save dialog. Only Save and ‘Save as’ shall change the saved-status of the document, or replace the Untitled status to associated with an actual file.
 +
 +
In the save dialog, the default path and filename shall be, in order of precedence (highest at the top):
 +
 +
# path and filename of the last file where—within this session—this document was saved-to as GIMP file;
 +
# path and filename of the opened GIMP file that started this session with this document;
 +
# path and filename of the opened non-GIMP file that started this session with this document;
 +
# path: user’s ‘documents’ folder on the operating system, name: “Untitled”.
 +
 +
The type of the file shall be always xcf.
  
 
===revert===
 
===revert===
Line 63: Line 70:
 
To be clear, here is the list of what revert should revert to, in order of precedence (highest at the top):
 
To be clear, here is the list of what revert should revert to, in order of precedence (highest at the top):
  
# saved-to GIMP file;
+
# the last file where—within this session—this document was saved-to as GIMP file;
# opened GIMP file;
+
# the opened GIMP file that started this session with this document;
# opened non-GIMP file.
+
# the opened non-GIMP file that started this session with this document.
  
 
===exporting files===
 
===exporting files===
Line 74: Line 81:
 
* the ‘Save as’ dialog shall be recycled for the Export dialog; the dialog title shall be “Export Image”;
 
* the ‘Save as’ dialog shall be recycled for the Export dialog; the dialog title shall be “Export Image”;
 
* an export shall not change the saved-status of the document, or replace the Untitled status to associated with an actual file;
 
* an export shall not change the saved-status of the document, or replace the Untitled status to associated with an actual file;
* the file path and name (== type) a document is exported to shall be reused as default path and name for the next export (before the document is closed);
 
 
* when a document is exported for the second (and up) time, before it is closed, to exactly the same path + filename + type, then the file-type options dialogs (as seen for png or jpg) shall not be shown again;
 
* when a document is exported for the second (and up) time, before it is closed, to exactly the same path + filename + type, then the file-type options dialogs (as seen for png or jpg) shall not be shown again;
 
* in any consecutive Export File dialogs (e.g. those about flattening layers and reducing colours) the whole string “Your image should be exported before it can be saved as <file type> for the following reasons:” shall be omitted; the dialog will need a bit of straightening out as a result but can remain unchanged in content.
 
* in any consecutive Export File dialogs (e.g. those about flattening layers and reducing colours) the whole string “Your image should be exported before it can be saved as <file type> for the following reasons:” shall be omitted; the dialog will need a bit of straightening out as a result but can remain unchanged in content.
 +
 +
In the export dialog, the default path and filename shall be, in order of precedence (highest at the top):
 +
 +
# path and filename of the last file where—within this session—this document was saved-to as GIMP file;
 +
# path and filename of the opened GIMP file that started this session with this document;
 +
# path and filename of the opened non-GIMP file that started this session with this document;
 +
# path: user’s ‘documents’ folder on the operating system, name: “Untitled”.
 +
 +
The type of the file shall be, in order of precedence (highest at the top):
 +
 +
# the last type this document was exported to, this session;
 +
# the type of the opened non-GIMP file that started this session with this document;
 +
# the last type any document was exported to;
 +
# the zero-day default: png (I’ll take any other reasonable offer of a free and open image format).
  
 
===Export to===
 
===Export to===
  
From the moment it is made sensitive the ‘Export to’ menu item shall be sensitive until the document is closed.
+
From the moment it is made sensitive the ‘Export to’ menu item shall remain sensitive until the document is closed.
  
 
* the first time the ‘Export to’ is invoked after opening the file, the file-type options dialogs (as seen for png or jpg) shall be shown; any consecutive ‘Export to’s of this document before it is closed shall use the same settings;
 
* the first time the ‘Export to’ is invoked after opening the file, the file-type options dialogs (as seen for png or jpg) shall be shown; any consecutive ‘Export to’s of this document before it is closed shall use the same settings;
 
* the ‘Export to’  shall not change the saved-status of the document, or replace the Untitled status to associated with an actual file.
 
* the ‘Export to’  shall not change the saved-status of the document, or replace the Untitled status to associated with an actual file.
 
* Export File dialogs: see [[#exporting files | exporting files]].
 
* Export File dialogs: see [[#exporting files | exporting files]].

Revision as of 18:26, 10 March 2009

intro

This specification defines a clear separation between saving and export, based on version 2.6.

This change tries to achieve some specific goals:

  1. simplify and clarify the user model: what you see on the canvas is always GIMP content;
  2. enforce that what is on the canvas is only safe when saved as an xcf file—or its compressed variants;
  3. give primary support for a high-end workflow where the work is saved in xcf, and when it is time for ‘delivery’, it is exported to the required format;
  4. give secondary support to workflows where the input and output are the same non-xcf file; the reason for this is not the often touted ‘prosumer photo jpeg–to–jpeg’ workflow, because of GIMP product vision there is no need for optimising this. A much better reason for optimising are situations where high-end GIMP users have to do some quick touch-ups on graphic files for mates or clients, and send them back.

The basic strategy that follows from the points above is: GIMP opens and saves GIMP files and imports/exports the rest. We make however one optimisation: fold Import back into Open, so everything stays (almost) the same there. Furthermore for the secondary workflow a ‘Export to’ menu item is added.

file menu changes

Currently (v2.6) the Save section of the file menu looks like this:
Save menu.png

Two new menu items shall be introduced: Export and ‘Export to’. To avoid too long (== too slow to scan) menu sections, this section shall be split in two:

  • Save
  • Save as…
  • Save a copy…
  • Revert…
  • <menu separator>
  • Export…
  • Export to
  • Create template…

The sensitivity of the Export command shall track that of the Save command. The ‘Export to’ command shall be insensitive by default.

keyboard shortcuts

The existing shortcuts in the FIle menu stay as-is. Finding them for the 2 new items is tricky, because the obvious candidates are taken. <ctrl>(-<shift>)-E would have been perfect for Export, ‘Export to’.

(no) changes in actions

opening files

It is not the goal of this spec to overhaul the file Open dialog, it and other means of opening files shall remain unchanged. What matters is what happens after a file is opened.

opening a GIMP-type file

After opening a (compressed) xcf file everything works as it does in v2.6.

opening a non-GIMP-type file

After any other type of image file, it is officially imported, and the following shall be different:

  • the title of the image window shall be set to “Untitled (imported from <filename>)-X.Y etc, etc.” where the <filename> is the name of the imported file; further opening of other files into this document (even GIMP files) shall not change the title or its status;
  • the ‘Export to’ menu item shall have its label set to “Export to <filename>” and shall be made sensitive;
  • the document shall be treated as a new, untitled file;

saving files

Save, ‘Save as’ and ‘Save a copy’ shall only save to (compressed) GIMP formats, which shall be the only available format choices in the Save dialog. Only Save and ‘Save as’ shall change the saved-status of the document, or replace the Untitled status to associated with an actual file.

In the save dialog, the default path and filename shall be, in order of precedence (highest at the top):

  1. path and filename of the last file where—within this session—this document was saved-to as GIMP file;
  2. path and filename of the opened GIMP file that started this session with this document;
  3. path and filename of the opened non-GIMP file that started this session with this document;
  4. path: user’s ‘documents’ folder on the operating system, name: “Untitled”.

The type of the file shall be always xcf.

revert

The revert dialog box shall remain as-is. For reverting back to the state of opening non-GIMP files, the top string shall be “Revert 'Untitled' to '/<path>/<filename>'?”.

To be clear, here is the list of what revert should revert to, in order of precedence (highest at the top):

  1. the last file where—within this session—this document was saved-to as GIMP file;
  2. the opened GIMP file that started this session with this document;
  3. the opened non-GIMP file that started this session with this document.

exporting files

All non-GIMP file types can be exported via the Export menu item:

  • no (compressed) GIMP formats shall be available as format choices in the Export dialog;
  • the ‘Save as’ dialog shall be recycled for the Export dialog; the dialog title shall be “Export Image”;
  • an export shall not change the saved-status of the document, or replace the Untitled status to associated with an actual file;
  • when a document is exported for the second (and up) time, before it is closed, to exactly the same path + filename + type, then the file-type options dialogs (as seen for png or jpg) shall not be shown again;
  • in any consecutive Export File dialogs (e.g. those about flattening layers and reducing colours) the whole string “Your image should be exported before it can be saved as <file type> for the following reasons:” shall be omitted; the dialog will need a bit of straightening out as a result but can remain unchanged in content.

In the export dialog, the default path and filename shall be, in order of precedence (highest at the top):

  1. path and filename of the last file where—within this session—this document was saved-to as GIMP file;
  2. path and filename of the opened GIMP file that started this session with this document;
  3. path and filename of the opened non-GIMP file that started this session with this document;
  4. path: user’s ‘documents’ folder on the operating system, name: “Untitled”.

The type of the file shall be, in order of precedence (highest at the top):

  1. the last type this document was exported to, this session;
  2. the type of the opened non-GIMP file that started this session with this document;
  3. the last type any document was exported to;
  4. the zero-day default: png (I’ll take any other reasonable offer of a free and open image format).

Export to

From the moment it is made sensitive the ‘Export to’ menu item shall remain sensitive until the document is closed.

  • the first time the ‘Export to’ is invoked after opening the file, the file-type options dialogs (as seen for png or jpg) shall be shown; any consecutive ‘Export to’s of this document before it is closed shall use the same settings;
  • the ‘Export to’ shall not change the saved-status of the document, or replace the Untitled status to associated with an actual file.
  • Export File dialogs: see exporting files.