N-A BUGS
========
- when error on writing, should let the item modified
  2010-12-14: delete process improved, restoring not deleted items

- 2011-05-20: if an action is selected on mimetype, scheme is not checked
  (e.g. an action is displayed on sftp even is scheme is file)

- 2011-06-10: when importing an action, ensure that there is at least
  one default profile (an action without any profile is possible when
  importing a xml file)

- 2011-06-10: importing an action from a dump file creates two profiles instead of one
  one with [profile-1] and the other with profile-1

- 2011-06-10: string list imported from schemas are imported wih the square brackets []

Plan de test: NACT should be able to import all types of actions and menus,
kindly fixing small errors.
- from 1.4.1 (version 1.1): an action from GConf or as a schemas
- from 1.12 (version 2.0), an action from GConf, or as one of the three possible export format.

TODO
====
- 2011-02-21: implement startup mode

- 2011-02-21: implement execute as user

- 2010-06-17: implement shortcut button in NactIPropertiesTab page

- 2010-08-09: in v1.x until ??, %f used to be the basename!!

- 2010-12-13: gtk-doc: Building HTML
  warning: failed to load external entity "../xml/annotation-glossary.xml"

- 2010-12-30: gtk-doc 1.15
  "Use of uninitialized value within %DeclarationTypes in lc at /usr/bin/gtkdoc-mkdb line 929"
  when building XML

- 2011-02-07: is_level_zero_writable: should be monitored
  for now, is only evaluated when NAUpdater is instanciated

- 2011-02-07: are_preferences_locked: should be monitored
  for now, is only evaluated when NAUpdater is instanciated

- 2011-02-12: should we have a NAKeyFile shared between i/o-desktop and settings ?

- 2011-02-23: implement item separator

- 2011-02-23: desktop environment
  accept a default at compile time
  accept as a runtime user preference (may be mandatory)

- 2011-03-11: importing two actions, deleting them before having saved them, and then
  save the whole (because it is yet marked as modified - why ?)
  -> save error, some items have not been deleted
     the two items are restored, marked as not modified, are found actually written in the disk!!

- 2011-06-08: when getting an elementary data, we should get the default value if it is not set
  to determine if a value is set, have a na_object_is_data_set (see na_object_item_deals_with_version)
  this should let us get ride of na_factory_object_set_defaults() function

- 2011-06-08: get ride of NADataBoxed ?

N-A ENHANCEMENTS
================
- allow users to upload/download actions directly from a web repository
  (REST services ?)

- 2010-08-10: non-notification delay after save should be a preference

- 2010-08-09: na-pivot:st_burst_timeout should be a preference

- 2010-08-09: plugins should be able to provide a preference page

- 2010-09-30: export format and d&d format should be separated preferences

- 2010-06-17: ui enhancement
  all edition (entry, buttons, etc.) fields should have a small emblem when read-only.

- add a 'why this item is invalid'

- enhancement.ui: review toolbars layout
  so that detacheable toolbars do not take so such big extra space

- enhancement.management: we should be able to fully export a configuration
  this implies exporting menus and full tree
  + restore hierarchy on import (see bug 626337)

- enhancement.ui: rows implicitely selected should have a special display
  (as a sort of 'transparent' selection)

- enhancement.ui: review statusbar layout
  do not add extra height to statusbar
  better encapsulate statusbar, lock indicator, possibly other indicators

- enhancement.config: na_pivot_is_level_zero_writable:
  the provider which hosts the level-zero list of items should be a configuration option
  (current is GConf)

- DBus service: list current I/O providers

- DBus service: import/export an action or a menu

- nact: new action assistant

- export: add a overwrite page: what to do if file already exists ?

- IActionTab: check_label has became useless since validity is global
  to the action - remove, or extend to each field which can led to
  unvalidity

- for each toolbar, let the user choose which buttons are displayed

- have a preference for modified and invalid fonts

- undo manager (at least Ctrl-Z)

- 2010-08-20: add an item in the context menu to explain why other actions
  are not displayed

- export-ask: the keep last choice check box should be as editable that export format

- 2011-05-20: should have an option to run in debug mode and dump whole configuration
  so that a user can click on a button, and then send a zipped log to the maintainer

OTHER ENHANCEMENTS
==================
- GOptions request enhancement so that the help for an option could be
  multiline (by defining an optional maximum width)

- GConf Editor request enhancement: one should be able to refresh the hierarchy
  (F5 ?)

- Nautilus: implement menu separator for plugins

OTHER BUGS
==========
- 2011-02-21: nautilus: calls menu_provider_get_file_items() api each time we are
  activating a menu; as the call is made without any indication about the currently
  activated item, we have no other option than just recreate the menu; this is
  very expensive in computation time

- GLib bug for g_utf8_collate_key_for_filename()
  (see the 26 exported actions, and the screenshot of Nautilus view)

- Gtk bug: Nautilus doesn't display the actions in the order of the provided
  GList in its context menu (seems as if a cache would keep the actions which
  were already here the previous time - to be confirmed)

- Gtk bug: gtk_tree_path_up returns TRUE even if there is no parent
  cf. commit 5ee6938486cd82f1274969506873df950348dd61 and before
  function nact-tree-model.c::add_parent
  recreate a small code which reproduces this bug and open in bugzilla

- Nautilus bug when dnd to nautilus on other screen
  see https://bugzilla.gnome.org/show_bug.cgi?id=593453

- intltool: should implement standard targets for users
  (cf. 14.6 make.html GNU Make manual).
  As of 0.41.1, the absence of these standard targets prevents users
  (which are actually package developers) to provide any html, pdf, ...
  targets

- 2010-12-13: --enable-gtk-doc-pdf does not generate a pdf, but should

- 2011-02-23: it seems that Nautilus 2.30.1 calls get_file_items even when are 
  opening a submenu ?

- 2011-02-23: also it seems that Nautilus 2.30.1 free our menus (probably because 
  it is an item of its own menu), but not recursively the items of this menu.

NOTES
=====
- Note about the schemas in Nautilus Actions:
  a) actions are identified by uuid
  b) so, all GConf keys have a path with the uuid of the action
  c) I'm not willing to write a schema for each and every uuid
  d) so, as of 1.11.2, the provided schema is general and should apply
     to all actions
  e) but there is not yet an API to set a GConfMetaInfo for a key
     note that gconftool-2 --dump is able to export for each entry a
     <schema_key> which includes the path to the general schema key
     but we cannot set it programatically (bad !)

- 20100408: gconf_concat_dir_and_key: have seen this as deprecated, but do not
  find again the reference :(
  not even in unstable library on the web
  http://library.gnome.org/devel/gconf/unstable/gconf-gconf.html#gconf-concat-dir-and-key

- "x-nautilus-desktop:///" is rather a scheme than a folder => actually is an URI

- default has changed for schemes (was coded as 'file' instead of '*')
  when version is recorded (as 1.4.1 or 2.0) then schemes is reliable
  when version is not recorded, it is a 2.30 serie, and scheme is not recorded when default (i.e. file)
  do not try to force anything than that, but this will have to be documented
