
ComicBook Thumbnail Plugin
Source (link to git-repo or to original if based on someone elses unmodified work):
*** This is only for 4.3.x and below users - Plugin will be included by default in KDE 4.4! ***
Description
-----------
A Thumbnail creator for KDE 4 that enables previewing ComicBook Reader files (.cbz, .cbr, .cbt) in Dolphin and elsewhere.
The screenshots show the previewer in action inside KDE 4's Dolphin File Manager
INSTALLING
----------
To install, download the file and unpack, then execute the following commands:
[indent]cd comicbook-thumbnails
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../
make
sudo make install
kbuildsycoca4[/indent]
Close and restart Dolphin to see it in action.
NOTES:
You might have to enable the plugin manually via Dolphin's Settings > Dolphin Settings > General > Previews (Check the "Comic Book" box).
You may also have to adjust 'Maximum File Size' to an appropriate value (say, 40 MB) for the plugin to work on your large comic files.
View the included README file for more information.
27-Oct-2009: (0.1 final)
* Cleaned up code according to KDE Policies. (Review - http://reviewboard.kde.org/r/1983/).
* Fixed memory leak issues.
* Removed manual smooth scaling.
26-Oct-2009:
* Some superficial changes - in hope of 4.4 integration.
25-Oct-2009:
* Fixes issue #1 - A missing entry in cmake
leading to make errors.
24-Oct-2009:
* Enhanced cover detection.
* .cbt thumbs support.
24-Oct-2009:
* Initial program - supports thumbs for .cbr and .cbz.
Ratings & Comments
25 Comments
works fine ! great job ! thanks a lot
Works for me with cbr-files but not with cbt. By cbt I mean .tar with changed extension, no compressing. I've compiled just yesterday, so I think it's newest version.
Sorry, overlooked the application/x-tar type. Fixed now, redownload the update and build and all types of tar must work under KDE (tar, compressed tar, gz, and bz2).
Just compiled again. Works perfectly now. Many thanks!
"and all types of tar must work under KDE (tar, compressed tar, gz, and bz2)." - But xz not work!
Have applied for a review for entry into 4.4 (Can't do 4.3, new Translation Strings). You can view the reviewboard entry here: http://reviewboard.kde.org/r/1983/ Have also improved the source a bit. Will put up a new download soon.
happy to hear the news :)
Am sad cause I'll be missing the great user comments here after 4.4 :(
I have following error after make: lestek@laptop:~/tmp/comicbook-thumbnails/build$ make Scanning dependencies of target comicbookthumbnail_automoc Generating comiccreator.moc [ 0%] Built target comicbookthumbnail_automoc Scanning dependencies of target comicbookthumbnail [ 50%] Building CXX object CMakeFiles/comicbookthumbnail.dir/comicbookthumbnail_automoc.o [100%] Building CXX object CMakeFiles/comicbookthumbnail.dir/comiccreator.o In file included from /usr/include/kio/kio_export.h:24, from /usr/include/kio/thumbcreator.h:23, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:23, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:20: /usr/include/kdemacros.h:162:29: error: QtCore/qglobal.h: No such file or directory In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:20: /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:25:29: error: QtCore/QByteArray: No such file or directory /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:26:29: error: QtCore/QEventLoop: No such file or directory /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:27:27: error: QtCore/QProcess: No such file or directory /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:28:30: error: QtCore/QStringList: No such file or directory In file included from /usr/include/kzip.h:21, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:23: /usr/include/karchive.h:27:24: error: QtCore/QDate: No such file or directory /usr/include/karchive.h:28:26: error: QtCore/QString: No such file or directory /usr/include/karchive.h:30:24: error: QtCore/QHash: No such file or directory In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/kmimetype.h:24:24: error: QtCore/QList: No such file or directory In file included from /usr/include/kmimetype.h:26, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/kurl.h:27:27: error: QtCore/QVariant: No such file or directory /usr/include/kurl.h:28:23: error: QtCore/QUrl: No such file or directory /usr/include/kurl.h:29:23: error: QtCore/QMap: No such file or directory In file included from /usr/include/ksycocaentry.h:22, from /usr/include/kservicetype.h:24, from /usr/include/kmimetype.h:28, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/kglobal.h:23:33: error: QtCore/QAtomicPointer: No such file or directory In file included from /usr/include/ksycocaentry.h:24, from /usr/include/kservicetype.h:24, from /usr/include/kmimetype.h:28, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/ksharedptr.h:30:47: error: QtCore/QExplicitlySharedDataPointer: No such file or directory In file included from /usr/include/kservicetype.h:24, from /usr/include/kmimetype.h:28, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/ksycocaentry.h:26:30: error: QtCore/QDataStream: No such file or directory In file included from /usr/include/kconfig.h:27, from /usr/include/kservicetype.h:31, from /usr/include/kmimetype.h:28, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/kconfigbase.h:29:27: error: QtCore/QtGlobal: No such file or directory In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:25: /usr/include/kdebug.h:27:25: error: QtCore/QDebug: No such file or directory /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:33:24: error: QtGui/QImage: No such file or directory /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:34:24: error: QtCore/QFile: No such file or directory /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:35:28: error: QtCore/QFileInfo: No such file or directory In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:294: /home/lestek/tmp/comicbook-thumbnails/build/comiccreator.moc:12:2: error: #error "The header file 'comiccreator.h' doesn't include <QObject>." /home/lestek/tmp/comicbook-thumbnails/build/comiccreator.moc:13:7: warning: "Q_MOC_OUTPUT_REVISION" is not defined In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:20: /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:34: error: expected class-name before ‘,’ token /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:35: error: ISO C++ forbids declaration of ‘Q_OBJECT’ with no type /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:36: error: expected ‘;’ before ‘public’ /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:49: error: ‘QByteArray’ does not name a type /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:50: error: ‘QByteArray’ does not name a type /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:51: error: ISO C++ forbids declaration of ‘QEventLoop’ with no type /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:51: error: expected ‘;’ before ‘*’ token /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:55: error: ‘QStringList’ has not been declared /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:59: error: ‘QStringList’ has not been declared /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:62: error: ‘QStringList’ has not been declared /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:63: error: ‘QStringList’ has not been declared /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:64: error: expected ‘:’ before ‘Q_SLOTS’ /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:65: error: expected primary-expression before ‘void’ /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:65: error: ISO C++ forbids declaration of ‘Q_SLOTS’ with no type /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:65: error: expected ‘;’ before ‘void’ /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:67: error: ‘QProcess’ has not been declared /home/lestek/tmp/comicbook-thumbnails/comiccreator.h:67: error: expected ‘,’ or ‘...’ before ‘exitStatus’ In file included from /usr/include/kzip.h:21, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:23: /usr/include/karchive.h:61: error: expected ‘)’ before ‘*’ token /usr/include/karchive.h:72: error: ‘QIODevice’ has not been declared /usr/include/karchive.h:72: error: expected ‘,’ or ‘...’ before ‘mode’ /usr/include/karchive.h:94: error: ‘QIODevice’ has not been declared /usr/include/karchive.h:94: error: expected ‘;’ before ‘mode’ /usr/include/karchive.h:100: error: expected ‘;’ before ‘*’ token /usr/include/karchive.h:200: error: ‘qint64’ has not been declared /usr/include/karchive.h:224: error: ‘qint64’ has not been declared /usr/include/karchive.h:231: error: ‘qint64’ has not been declared /usr/include/karchive.h:238: error: ‘qint64’ has not been declared /usr/include/karchive.h:246: error: ‘QIODevice’ has not been declared /usr/include/karchive.h:246: error: expected ‘,’ or ‘...’ before ‘mode’ /usr/include/karchive.h:315: error: ‘qint64’ has not been declared /usr/include/karchive.h:325: error: ‘qint64’ has not been declared /usr/include/karchive.h:341: error: ‘QIODevice’ has not been declared /usr/include/karchive.h:341: error: expected ‘,’ or ‘...’ before ‘mode’ /usr/include/karchive.h:347: error: ‘QIODevice’ has not been declared /usr/include/karchive.h:392: error: ‘QDateTime’ does not name a type /usr/include/karchive.h:474: error: ‘qint64’ has not been declared /usr/include/karchive.h:474: error: ‘qint64’ has not been declared /usr/include/karchive.h:485: error: ‘qint64’ does not name a type /usr/include/karchive.h:490: error: ‘qint64’ does not name a type /usr/include/karchive.h:495: error: ‘qint64’ has not been declared /usr/include/karchive.h:502: error: ‘QByteArray’ does not name a type /usr/include/karchive.h:514: error: ‘QIODevice’ declared as a ‘virtual’ field /usr/include/karchive.h:514: error: expected ‘;’ before ‘*’ token /usr/include/karchive.h:568: error: ‘QStringList’ does not name a type In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:23: /usr/include/kzip.h:62: error: expected ‘)’ before ‘*’ token /usr/include/kzip.h:122: error: ‘qint64’ has not been declared /usr/include/kzip.h:131: error: ‘qint64’ has not been declared /usr/include/kzip.h:139: error: ‘qint64’ has not been declared /usr/include/kzip.h:147: error: ‘QIODevice’ has not been declared /usr/include/kzip.h:147: error: expected ‘,’ or ‘...’ before ‘mode’ /usr/include/kzip.h:179: error: ‘qint64’ has not been declared /usr/include/kzip.h:179: error: ‘qint64’ has not been declared /usr/include/kzip.h:180: error: ‘qint64’ has not been declared /usr/include/kzip.h:188: error: ‘qint64’ does not name a type /usr/include/kzip.h:191: error: ‘qint64’ has not been declared /usr/include/kzip.h:194: error: ‘qint64’ has not been declared /usr/include/kzip.h:195: error: ‘qint64’ does not name a type /usr/include/kzip.h:208: error: ‘QByteArray’ does not name a type /usr/include/kzip.h:217: error: ‘QIODevice’ declared as a ‘virtual’ field /usr/include/kzip.h:217: error: expected ‘;’ before ‘*’ token In file included from /usr/include/kmimetype.h:26, from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:24: /usr/include/kurl.h:112: error: expected class-name before ‘{’ token /usr/include/kurl.h:114: error: expected ‘;’ before ‘<’ token /usr/include/kurl.h:125: error: expected template-name before ‘<’ token /usr/include/kurl.h:125: error: expected ‘{’ before ‘<’ token /usr/include/kurl.h:125: error: expected unqualified-id before ‘<’ token In file included from /home/lestek/tmp/comicbook-thumbnails/comiccreator.cpp:294: /home/lestek/tmp/comicbook-thumbnails/build/comiccreator.moc:81: error: expected ‘}’ at end of input /home/lestek/tmp/comicbook-thumbnails/build/comiccreator.moc:81: error: expected unqualified-id at end of input make[2]: *** [CMakeFiles/comicbookthumbnail.dir/comiccreator.o] Error 1 make[1]: *** [CMakeFiles/comicbookthumbnail.dir/all] Error 2 make: *** [all] Error 2 lestek@laptop:~/tmp/comicbook-thumbnails/build$ (Karmic Koala 9.10, Kde 4.3.2, x64)
Hi, Updated the download with a newer CMakeLists.txt file. Redownload and build - it should work. Thanks to the anonymous user tip [url=http://bitbucket.org/qwertymaniac/comicbook-thumbnails/issue/1/cannot-compile-in-ubuntu-904-kde-432]here[/url]. Thank you for reporting this in, am new at CMake :)
Ugh, bad link tag. Fixed link: http://bitbucket.org/qwertymaniac/comicbook-thumbnails/issue/1/cannot-compile-in-ubuntu-904-kde-432
Thanks, I've added this two lines to CMakeList.txt: add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES}) and now everything works!
Install works, but there is no previewing. The same afer redownloadnig Your file.
Sorry, i've forgot to enable preview for "Comic Book files" in Dolphin configuration. Besides my testing .cbr file was too large - preview works after changing "Maximum file size" in preview configuration. So, everything realy works. Thanks again!
I should put this in the README, forgot about it. One has to set the maximum file size to something around 40 MB. Wish there was a per-plugin setting for this though.
Excellent work. Should be included in the next official release of KDE, 4.4.
Is there a specific process to get this done? :)
I do not know maybe you can start from here: http://www.kde.org/getinvolved/ http://www.kde.org/getinvolved/development/ bye
Polish like this is why I love my KDE4 desktop. Most excellent work!
Thank you for the comment - KDE is indeed beautiful in all aspects :)
Thumbnailing fine with the Kubuntu 9.04 / KDE 4.2 and Kubuntu 9.10 (RC) / KDE 4.3. Tested with the CBR and CBZ. Thank you of a fine comicbook-thumbnailer.
You're welcome. Necessity (read: 500 unmanageable comic files) was the mother of this invention ;-)
Nice work! It works flawlessly here (admittedly I've only tried it on .cbr files), and makes it a lot easier to find the one I want. Just a question though: is it normal that the properties window thinks the contents of the file is a RAR-archive??
Here (KDE 4.3) the type is comic book archive. The content is Zip/Rar archive.
Yes it is normal and its 'cause the .cbr (application/x-cbr MIME) is just a subtype of .rar (application/x-rar). They're just .rar files renamed and contain ordered image files :) Glad to know that the plugin helped you! If you notice any bugs, do let me know :)