Unimplemented Feature of KHexEdit:
----------------------------------

+ <Action name="paste_into_new_file" />
+ Zugriffsrechte (Größe)
+ Transcoder
+ bitstream (navigating on bit-level)

Nicht so wichtig:
* Einstellung Anzeige voller Pfad in Titel
* Einstellung Anzeige a-f/A-F
* Einstellung Anzeige Offset Hex/Dez
* Suchleiste
* <Action name="paste_into_new_window" />

Erledigt:
- Zugriffsrechte (Verändern)
- Rückgängig/Wiederherstellen
- Speichern
- revert
- Dokumentenliste
- Letzte Dateien
- Bookmarks
- Drucken
- Binärfilter
- Zeichenkettenextraktion
- Exportieren
- copy_as_text

Done before review:
------------------------
* add bookmarkable to kpiecetablebytearray
* switch licensing
* see why documents don't get removed on close of view -> close for views, not document
* make drag'n'drop work properly again
* complete change notifications
* reset changebuffer if history gets cut
* make filter work on selection
* user documentation in docbook format
* complete i18n (@-stuff)
* fix paste controller and readonly modes

Fixed after 0.1 Beta 1:
-----------------------
* cursor problems

Fixed after 0.1 Beta 2:
-----------------------
* version control ignored readonly status
* adaption of filter parameter edit to char coding changes
* operation box in replace dialog last in tab order
* enable extract strings tool and add copy
* encoders now takes abtractmodel, so a view can be given
* encoders now use current view settings
* add export functionality to libkakao (simple modelencoderfilesystemexporter use encoder)
* make printing support only selection
* value column editing mess, with cursor jumping away on partial edit and ungrouped changes
* operations like filter can set an own description of their action (undo/redo)
* entering 00 in value column does not finish the editing
* tripple click should only select the current line
* clicking in a column if the bytearray is empty does not place the cursor where expected
* after tripple click double click uses wrong index
* word select mode crashes if the mouse gets behind the end
* ensure screen refreshed during blocking processes:
  printing, string search, loading, filter, statistic collection, replacing, copy as
* fix doubled strings in clipboard on copy of extracted strings
* have tools remember for which view they were used and are uptodate
* initial state for statistic table
* fix hardcoded colors
* export (and save/saveas?) did not check if file could be and was successfully written
* filter button does not get activated if first selection and then parameter inserted
* limit zoom range to prevent crash on too large font sizes
* workaround QDockViews non-existing control of the initial layout
* removed bookmark possible behind end, fixed initially enabled bookmark actions
* translation of encoder names working now
* fix crash on align at end
* fix replace problem (undo replace puts the last removed piece as first one)
* catch revert signal to get out of valueeditor if in

Fixed after 0.1.0:
------------------
* all inserts, like from clipboard or tools, in overwrite mode did not place the cursor at the end of the inserted
* undo of a remove from the end of a piece added garbage to the content
* undo of the remove of the end of a piece inserted this two times
* overwriting in the value column blocked after first digit entered
* fixed: changemetrics of groups were not reverted if needed, so e.g. cursor could move into wrong direction

Done for 0.2:
-------------
* turned into AbstractTool: bytetable, info, stringsextract, filter, poddecoder, versionview
* use KXMLGUIClient, not KXmlGuiWindow, if possible, so we can plug controller to any client
* renamed KAbstractDocument*Synchronizer* to AbstractModel*Synchronizer*
* turned poddecoder into two-column table, added int64 and utf-8

merged to 871403: connected-models 851103:871380
besides:
* program.cpp
* libkakao/core/CMakeLists.txt
* libkakao/core/io/network
* libkakao/core/system/kdocumentsyncmanager.*
* libkakao/controllers/documentsystem/connector
* libkakao/controllers/CMakeLists.txt
* libkakao/controllers/io/setremote
* libkakao/controllers/io/offer
* libkakao/controllers/document/users
* oktetakakao/io/CMakeLists.txt
* oktetakakao/io/network

* added first primitive monitor to the view for the status bar
* refactored KByteaArrayView into AbstractByteArrayView and ByteArrayColumnView
* renamed KDataCursor into ByteArrayTableCursor
* renamed KDataRanges into ByteArrayTableRanges
* made KByteArrayDisplay a complete layer to the used view
* ported all controllers and tools to use KByteArrayDisplay, not the byteArray widget
* added: ByteArrayRowView
* added: ByteArrayJanusView, can toggle between a row and a column based view
* ByteArrayJanusView used by KByteArrayDisplay
* added: controller to toggle between a row and a column view mode
* renamed some classes in okteta/core from K* to *, KWordBufferService to WordByteArrayService
* added: ability to close documents by a close button on tabs
* added: urls dropped next to other tabs will be loaded

Fixed after 0.2 Beta 1:
-----------------------
* added some icons to actions previously without
* offset numbers are cleared or added if lines are removed or added
* source code encoder always used data starting at offset 0, not from the selection
* correctly calculate dirty ranges also for multiple undo/redo
* update recently used files also with those from url drop and commandline parameter
* Menus for Export and Copy As could not be added to the toolbar
* only activate tools that are really visible 
* for extracted strings show tooltips with full length (for now simply done for all strings)

Fixed after 0.2 Beta 2:
-----------------------
* make info tool update info on change of file type and url
* readonly in status bar does not get updated, because view did not forward document signal
* disable menu entries for "Replace" and "Insert pattern" if view is readonly
* do not hide "Insert pattern" dialog on readonly view, but block Ok button
* no change signal was emitted on first change after disk synch
* block Goto button in Goto dialog if there is no view

Next to work on for 0.2:
----------------------------------
Important:
* width calculation for resize seems to need to include some margins
Less important:
* some more unit tests
* do not show Paste from clipboard if not possible (at end or overwrite at line end), also for other tools
* cursor does not get redone on color change
* on tripple click turn into selecting just whole lines if button kept pressed
* ask artists for own icon
* scroll on drag in first and last line

Later on:
---------
* see how Tool and Document menus can be turned into KActionMenu (and add clear() call to KActionMenu)
* see how the cursor and the value editor could be turned into tool+view
* fix info and string docker (all with update function) to just work on update, react to change of data origin
* name Resize style to Relayout modus
* add option for offset and char comments to Source code encoder (cmp #163204)
* Support for Drop, both Import into and Open
* Make tabs click proxies
* Better handling of file errors:
  exact problem descriptions,
  options to solve problem (e.g. make file readable)
* add proper support for blocking processes like printing, string search, loading or filter:
  show progress, allow cancelling, block only related model
* input of offset or data should detect type by prefixes like 0x or such, by new variant Auto.
* test handling of readonly files
* more explicit titels for undo/redo actions (range, data), also paste, drag, and cut
* add support for memory mapped files (includes enabling overwrite controller again)
* think about turning insert pattern & Co. into a tool
* session support: full storing and restoring of view/model state
* port KPart to libkakao
* add support for more commandline options
* port bytearrayview to bytearrayrenderer (esp. non-line-centric paiting)
* complete work on input controllers for the bytearray view
* rename AbstractDocument into AbstractObjectModel
* add AbstractTool, ToolManager and ToolManagerControl
* Prepare libframesprint for inclusion into kdelibs
* find good name for libkakao
* add profiles with loaded tools and their positions (environments)
* add splitting of views
* templates
* + and - operates on whole selections
* better selection by mouse using the offset column 
* syntax highlighting
* support for formated bytearray formats, load/save as well as import/export
* shellwindow:
  * hovering of drag about tab changes to tab
  * dropping next to tab creates new data object by the drop data
* copy also for all tables, e.g. statistic
* mouse shadow cursor, shows where cursor would be positioned, also useful for drops
* option to split in regular sections, than show only one section or all with a line between,
  similar to page modi of Okular (so page=section)

Future plans:
-------------
* a binary diff editor widget in the Okteta libs
* binary diff editor widget based parts
