Review Request: Comic Book Thumbnailer
Harsh J
qwertymaniac at gmail.com
Sun Nov 1 13:34:07 GMT 2009
> On 2009-10-31 22:01:28, Ingo Klöcker wrote:
> > Please use shared pointers instead of C-pointers whereever it makes sense. Now that Qt finally provides QSharedPointer (new in Qt 4.5) and QScopedPointer (new in Qt 4.6; see http://doc.qt.nokia.com/4.6-snapshot/qscopedpointer.html) there's really no reason anymore for risking memory leaks by using C-pointers which need to be deleted explicitly.
A few queries before I try changing the variables to QScopedPointer.
* To initialize a QImage, I'd have to do m_comicCover.reset(new QImage()) in the code, yes?
* Must I change all the current C-pointer types (QEventLoop, KArchiveDirectory etc.) to this type?
Would be helpful if I can understand when to do this and when not to..
- Harsh
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1983/#review2880
-----------------------------------------------------------
On 2009-10-31 21:37:21, Harsh J wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/1983/
> -----------------------------------------------------------
>
> (Updated 2009-10-31 21:37:21)
>
>
> Review request for Dolphin and kdelibs.
>
>
> Summary
> -------
>
> Okular in kdegraphics supports viewing Comic Book Reader files such as .cbr, and .cbz. However, Dolphin does not preview them just like it previews PDF or other documents.
>
> Since these comic book files are merely archives of various types, I decided to write a ThumbCreator module that performs the job of previewing these files. The ComicCreator class lists the files, sorts the images among them and then extracts the comic's cover image (usually the first) and hands it over to the thumbnail service.
>
> For .cbz and .cbt I've used the KArchive subclasses - KZip and KTar to extract.
> (Bug 204195 : Okular doesn't support .cbt as of now - will work on this next)
>
> For .cbr (the RAR type file) I've used the 'unrar'/'unrar-nonfree' executable (by Eugene Roshal, RARLabs) to extract. This is due to the fact that the free unrar utility does not support most of the new RAR version files.
>
> This is my first contribution to the KDE Project and I've tried to conform to all Policies:
>
> * Code reports no issue with Krazy2All checker.
> * Code structure, whitespace, etc. is as per the policies of KDE.
> * License is the new GPL 2 or higher license (as per KDE e.V.)
> * Followed the existing CMakeLists.txt file format.
>
> I'm yet to receive my (applied) svn account.
>
> Have attached screen-shots of it in action.
>
> Awaiting your feedback :)
>
>
> Diffs
> -----
>
> /trunk/KDE/kdebase/runtime/kioslave/thumbnail/CMakeLists.txt 1043145
> /trunk/KDE/kdebase/runtime/kioslave/thumbnail/comicbookthumbnail.desktop PRE-CREATION
> /trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.h PRE-CREATION
> /trunk/KDE/kdebase/runtime/kioslave/thumbnail/comiccreator.cpp PRE-CREATION
>
> Diff: http://reviewboard.kde.org/r/1983/diff
>
>
> Testing
> -------
>
> * Compiles without any issues.
>
> * Thumbnailing works on comic book files of .cbz, .cbt and .cbr types.
> (Maximum File Size limit needs to be raised a little via Dolphin in some cases for the thumb service to work.)
>
> * Tested thumbnailing ~300 files (mix of .CBZ, .CBT and .CBR) in a single folder at large preview size.
>
> * Tested for memory leaks. For 300~ files, each of the spawned kio_thumbnail process takes only ~30 MB Memory
> resource at maximum (+10 MB Shared, at max). Have seen 3 spawn at the most, 2 usually.
>
> * Tested with both Dolphin and the Preview Plasmoid.
>
>
> Screenshots
> -----------
>
> Dolphin - Large Comic Previews
> http://reviewboard.kde.org/r/1983/s/240/
> Dolphin - Normal or Small Comic Previews
> http://reviewboard.kde.org/r/1983/s/241/
> Dolphin - File Properties Preview
> http://reviewboard.kde.org/r/1983/s/242/
>
>
> Thanks,
>
> Harsh
>
>
More information about the kde-core-devel
mailing list