====== TODO ======

==== Questions ====
* Keybindings for pathbar type?
* how to create a real test for utf8 content?

==== As Soon As Possible ====
* double check repository plugin logic
	* for which methods are pages fully specified ?
	* where does the redirection code take place ?
* copy-paste **selections** do not behave nicely
* make tags "moded"
* catch exit signals
* speed up loading the context tree
	* make treeview update per directory
	* add "refresh" action for tree
* treeview->reorderable(1)
	* only move between namespaces
* add style difference for non-existing links
* menu items
	* new page (^N) (also add this in tree context menu)
		* like goto + file type selection + template selection ?
	* new repository
	* open repository (^O)
	* revert (reload without saving first) .. only makes sense with backup
	* save copy
	* export (+ export dialog)
	* properties (+ properties dialog ) ?
	* preferences
	* add a preferences dialog
		* split config file in "state" (.rw and .ro) and "preferences"
		* add per repository config
			* default file type
		* general config
			* tearoff menus
		* add "help" button that links right manual page
* Add a "only for default repository" setting for the trayicon
* multiple formats in one tree
	* each repository can have a default format
	* make page resolv independent of extension
	* at least support **pod** and **xml**
		* add perldoc plugin to help browser
	* create Zim/Formats.pm as a hub to coordinate the formatters
	* fallback for plain text (use gtksourceview if installed)
* search
	* namespace (string)
	* quick (toggle)
	* recursive (toggle)
	* case (toggle)
* make read_only run-time switchable page property
* completion in "open page" dialog
* add "no_auto_save" to page properties
* change ^E from "edit link" in "edit object"
	* add support to change the source of an image
* more intelligent "insert image"
	* check directory logic
	* add copy/link option
	* filter files for acceptable mimetypes
* after paste select pasted text (for bullet list pressing tab can indent properly then)
* Check begin-/end-of-line for verbatim paragraphs
* make undo after reload work
* add parsetree nodes for items in a list
* home should be stored in repository config
* on move page, history should pass on undo stack to new name
* on delete page the undo stack should be erased
	* and entry from recent stack should be removed (?)
* Check timestamps in Repository and warn if a file has been changed after reading
* persistent history for read-only repository
* check commandline switches

==== Beta Stable ====
* documentation
	* code documentation
		* parse tree documentation
		* class diagram
	* user documentation
* test scripts
	*  for parser
		*  can we do the full round trip through zim ?
	*  for filename lookup
		*  check Z:P:F->realname versus Z->pagename
		*  utf8 chars in filename
	* plugin framework
		* scripts that act as macros on the text
		* scripts that add gui components
		* scripts that add repository components
* Gtk2::Ex::* to CPAN
* make it possible to open just one file "word pad" style
	* add a dialog to change file/repository
	* make zim without argument popup this dialog
* make tag colors (link/underline) depend on theme ?
	* check with HighContrastInverse
* Think about supporting Locale settings

==== Real Stable ====
* make it possible to reorganise the toolbar
* working api for document search
	* ^F => search dialog
* package plugins
	* man page reader
	* perldoc reader
	* calender namespace ?
	* export to other formats
		* opendocument ?
	* other wiki dialects
	* archive / backup / revision control
* full DnD support
	* external file to text => attachement/link
	* external file to tree => attachement
	* from tree to text => link
	* text to tree => append text to page

==== version X ====
* configure browser per protocol + default
* add tooltip to button-path-bar with complete page name
* Make zim self supporting (software project management)
	* add source view 
	* add revision control hooks
* more intelligent resolving of links (upward search)
* internal references (images, tables, footnotes, ...)
	* anonymous links ?
	* dynamic numbering
	* each referenced item should have a unique id
		* map id to table record
		* map id to new page
		* let formatter number these ids on export
	* footnotes could be displayed in seperate pane below normal text
		* or in seperate window
* preferences for heading style etc.
* index tree context menu items:
	* "split" split page to namespace (each heading its own page)
	* "merge" include namespace content in a single page
	* "export" prompt export page/namespace
* "use_wikiword" option for autolinking in PageView
* Attachements
	* use File::MimeInfo::Application
	* attachments in the document tree 
		* dir specified by repository - same as images
		* optional iconview on bottom of page to display these
			* is iconview supported in all versions of gtk ?
	* file uris in page
		* render basename or icon + basename
		* copy filename menu item
		* open with menu item
	* images in page
		* copy filename menu item
		* open with menu item
* make ^Z work on words
	* bundle series of actions that are performed automaticly into one undo/redo action
* try scaling images to window width
* typography in utf8 -- see dokuwiki for example
	* greek letters would be nice for formulas
* can we make text in lists linewrap in a visually pleasing way ?
* detect when a page has changed while we are displaying it
* Something to highlight the urgency of todo-list items like colours ?
* More heuristic version of follow_link => only follow when page doesn't exist ?
* Printing support
	* needs gnome libs, maybe implement as a plugin ?
