Warning, /utilities/okteta/TODO is written in an unsupported language. File is not indexed.

0001 Unimplemented Feature of KHexEdit:
0002 ----------------------------------
0003 
0004 Missing:
0005 + <Action name="insert_file" />
0006 + Zugriffsrechte (Größe)
0007 + bitstream (navigating on bit-level)
0008 
0009 Not so important:
0010 * Einstellung Anzeige voller Pfad in Titel
0011 * Einstellung Anzeige a-f/A-F
0012 * Einstellung Anzeige Offset Hex/Dez
0013 * Suchleiste
0014 * <Action name="paste_into_new_window" />
0015 
0016 Done:
0017 - Zugriffsrechte (Verändern)
0018 - Rückgängig/Wiederherstellen
0019 - Speichern
0020 - revert
0021 - Dokumentenliste
0022 - Letzte Dateien
0023 - Bookmarks
0024 - Drucken
0025 - Binärfilter
0026 - Zeichenkettenextraktion
0027 - Exportieren
0028 - copy_as_text
0029 - Transcoder
0030 
0031 
0032 Next to work on:
0033 ----------------------------------
0034 Important:
0035 * find good promotion terms, like "Okteta, Queen of Bytes", "Rules your Bytes", perhaps Chess-connected (array)
0036 * querying of changed byte range for pod editing
0037 * generator editors need to remember used settings
0038 * get maxEnums out of Designer combobox
0039 * implement find whole words only!
0040 * improve resize of status bar with priority-based limiting of shown items, use perhaps SqueezedLabel for Selection
0041 * width calculation for resize seems to need to include some margins
0042 * QActionGroups are cleared on setupGui, e.g. if toolbar gets edited
0043 * search previous does not work in a row, as the cursor is exactly after a full match
0044 * find/replace dialogs and ByteArrayComboBox need to handle change charcodec, but what to do with than invalid characters already entered?
0045 * fix input of non-arabic digits
0046 * query which mimetype in QMimeData to use, if octetstream not available but several
0047 Less important:
0048 * some more unit tests
0049 * fix wrong font width calculation for offset and selection in statusbar
0050 * do not show Paste from clipboard if not possible (at end or overwrite at line end), also for other tools
0051 * do not show Cut if in Overwrite mode
0052 * cursor does not get redone on color change
0053 * on tripple click turn into selecting just whole lines if button kept pressed
0054 * ask artists for own icon
0055 * scroll on drag in first and last line
0056 
0057 Later on:
0058 ---------
0059 * DecodingTable/Structure tool: differ between invalid value and unavailable
0060 * bookmarks storing
0061 * stream encoders/generators/etc. should have access to the data if parameters depend on current data
0062 * extend Export method to set default file extension and list filter
0063 * add StackedViews and two-view-only layout
0064 * max size of bytearrays (e.g. 8.bit, 16-bit, 32-bit, 64-bit), also defines shown offset width
0065 * think about making the ByteArray* things interface only to the AbstractModel
0066   for this improve template functions findDocument with multiple interfaces given
0067 * make offset 64-Bit, in the whole Api, best by using own datatype/define/typedef
0068 * add change description factory, as always attaching complete rendered strings to a change bloats memory, also breaks on language change
0069 * fix all the mouse pointer changes in the bytearray views
0070 * try to merge both bytearray views into one
0071 * add dialogplugins to DocumentSyncManager for the interaction
0072 * show parameter field disabled, if there are no parameters
0073 * selecting an operation/algorithm should move focus to parameter field (cmp. format input)
0074   or execute button if there are no parameters
0075 * move search ignoreCase and whole words into ByteArrayService, and reenable Whole words only in Search Tool
0076 * make status bar tools more flat, e.g. see how the zoom tool of KOffice is done
0077 * for close all and exit make a collective list of unsaved in one dialog instead of single requests
0078 * add border to BookmarkEditPopup, perhaps like that of QMenu
0079 * add direction to tool views, so that e.g. the file info tool view puts the icon left to the data in vertical mode
0080 * see how Tool and Document menus can be turned into KActionMenu (and add clear() call to KActionMenu)
0081 * see how the cursor and the value editor could be turned into tool+view
0082 * fix info and string docker (all with update function) to just work on update, react to change of data origin
0083 * add option for offset and char comments to Source code encoder (cmp #163204)
0084 * Support for Drop, both Import into and Open, also not just url, but also data
0085 * snippets tool which can be used to put data aside (variant of clipboard)
0086 * rework import and paste as:
0087     <!Menu name="import" append="open_merge">
0088       <text context="@title:menu">Import</text>
0089       <!- -Action name="import_clipboard" /- ->
0090       <ActionList name="import_list" />
0091     </Menu>
0092     <Menu name="paste_as" append="edit_paste_merge">
0093 "Paste as" is like "Insert from Clipboard as", means it comes from a source
0094 See "Insert", is generated as well as from a source, so perhaps join there?
0095       <text>Paste As</text>
0096       <ActionList name="paste_as_list" />
0097     </Menu>
0098 * Make tabs click proxies
0099 * make tabs movable between areas (like QDockWidgets)
0100 * Better handling of file errors:
0101   exact problem descriptions,
0102   options to solve problem (e.g. make file readable)
0103 * add proper support for blocking processes like printing, string search, loading or filter:
0104   show progress, allow cancelling, block only related model
0105 * input of offset or data should detect type by prefixes like 0x or such,
0106   by new variant Auto, e.g. for search/replace/goto
0107 * test handling of readonly files
0108 * more explicit titels for undo/redo actions (range, data), also paste, drag, and cut
0109 * add support for memory mapped files (includes enabling overwrite controller again)
0110 * think about turning insert pattern & Co. into a tool
0111 * add close button-on-hovering to Documents browser, also make unsynced button clickable
0112 * session support: full storing and restoring of view/model state
0113 * add support for more commandline options
0114 * complete work on input controllers for the bytearray view
0115 * add some generic virtual QVariant data( const QModelIndex& index, int role ) const to AbstractModel
0116 * rename AbstractDocument into AbstractObjectModel
0117 * add AbstractTool, ToolManager and ToolManagerControl
0118 * make controllers with one action generic, turn into tool&view
0119   and have description/factory a xmlgui creator interface
0120 * Prepare libframesprint for inclusion into kdelibs
0121 * add profiles with loaded tools and their positions (environments)
0122 * templates
0123 * + and - operates on whole selections
0124 * better selection by mouse using the offset column 
0125 * syntax highlighting
0126 * support for formated bytearray formats, load/save as well as import/export
0127 * shellwindow:
0128   * hovering of drag about tab changes to tab
0129   * dropping next to tab creates new data object by the drop data
0130 * copy also for all tables, e.g. statistic
0131 * mouse shadow cursor, shows where cursor would be positioned, also useful for drops (for drops already done)
0132 * option to split in regular sections, than show only one section or all with a line between,
0133   similar to page modi of Okular (so page=section)
0134 * make all jobs (searching, filter operations, ...) cancellable, e.g. using ESC
0135 * add versions to view model, to be synched with the data model (if created later, create prior versions on demand)
0136 * make status bar entries non-readonly, e.g. for offset->goto, selection,...
0137 * search for other ideas in Inkscape
0138 * make bookmarks program-wide, switch doc if needed.
0139 * hovering drag over bookmark in tool should select it
0140 * a "painting" cursor tool which stamps a pattern, chosen from a selection
0141 * option to paint foreground/background of color dependent on value (0-white, 255-black)
0142 * overview with pixels for bytes each in color of bytetext
0143 * store bookmarks for usage on further opening, similar to Okular's memory
0144 * bookmarks to load vs. bookmarks/marked regions in loaded documents? lokal vs. global perhaps? search inside.
0145 * in-place saving instead of new-and-delete-old (ZFS Snpashots work blockbased, so only changed blocks get snapshotted)
0146 * for processes show estimated rest time
0147 * goto tool shows shadow cursor to see where current would go
0148 * goto, search, replace and similar tools could be triggered by calls for handlers,
0149   so a click on the offset status would trigger the goto tool
0150   (or better do in-place/by-model editing, e.g. offset status would mean editing number?)
0151 * all KDE inputs should show state with colors (invalid, okay)
0152 * think about how per-user focus can be done
0153 * show local information in window if we have focus, otherwise use KNotification
0154 * multisection bytearrays
0155 * move data to a new base address
0156 * checksum calculation and insertion/appending
0157 * byte order swapping
0158 * splitting data files
0159 * have generators set name of new bytearray if created
0160 
0161 Future plans:
0162 -------------
0163 * a binary diff editor widget in the Okteta libs
0164 * binary diff editor widget based parts