[Okteta] Support for big files

Friedrich W. H. Kossebau kossebau at kde.org
Sat Oct 9 01:37:05 CEST 2010


Hi Rainer,

Samedi, le 2 octobre 2010, à 17:17, Rainer Poisel a écrit:
> Hi list,
> 
> I think Okteta is a great open-source hex editor and currently I would
> need support for big files for editing hard disks directly.
> 
> The contents of a file seem to be copied into an QByteArray in the
> "ByteArrayRawFileLoadThread::run()" method. For me it seems to be
> necessary to replace the QByteArray data type with another data type
> with the same interfaces but direct I/O to the opened file or some
> (little) buffer in between. Actually I would suggest to introduce
> another layer (an abstract class) from which the direct-I/O data type
> as well as a data type which uses QByteArray are derived. Then both
> direct-I/0 and buffered access can be supported relatively easy (e. g.
> chosen by a check-box in the File => Open dialog).
> 
> Any other ideas? Have any preparations for this feature already been
> undertaken?

That abstract class already exists, search for AbstractByteArray :)

Just, an implementation/support for big files/hard disk ranges/working memory 
ranges has been impeded by me having no idea how to ideally support Undo/Redo 
and also deal with changes to the data at the original location. And how to 
present this in the UI.

If you want to give this a try on your own, also clone ByteArrayDocument to 
BigByteArrayDocument or similar. There is a heck of (undocumented) layering 
and architecture at the moment in Okteta, but I am working on something 
(Kasten) where I need this approach. And it's very much WIP, so be prepared 
for hacks and inconsequences and changes in the (near) future, sorry.

Myself I hope to find some time during this winter, to give this (and other 
Kasten related things) another shot. Until then, you may be on your own to a 
certain degree. Perhaps even have to fork Okteta. :/

Cheers
Friedrich
-- 
Desktop Summit 2011 - Berlin, Germany - August 6-12th - www.desktopsummit.org


More information about the Kde-utils-devel mailing list