[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