[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kio-extras] thumbnail: Port textcreator thumbnailer
From: Maarten De Meyer <de.meyer.maarten () gmail ! com>
Date: 2014-09-29 19:42:55
Message-ID: E1XYgqV-0004Qp-Fw () scm ! kde ! org
[Download RAW message or body]
Git commit 7cadf8888ec1b02e30512a44c1bae76202f30f96 by Maarten De Meyer.
Committed on 28/09/2014 at 22:32.
Pushed by demeyer into branch 'master'.
Port textcreator thumbnailer
Thumbcreator needs to be a QGuiApplication because we use pixmaps.
CCBUG: 339456
REVIEW: 120408
M +14 -11 thumbnail/CMakeLists.txt
M +7 -7 thumbnail/textcreator.cpp
M +1 -1 thumbnail/thumbnail.cpp
http://commits.kde.org/kio-extras/7cadf8888ec1b02e30512a44c1bae76202f30f96
diff --git a/thumbnail/CMakeLists.txt b/thumbnail/CMakeLists.txt
index aec8b8e..4c2d5e9 100644
--- a/thumbnail/CMakeLists.txt
+++ b/thumbnail/CMakeLists.txt
@@ -107,16 +107,19 @@ target_link_libraries(svgthumbnail
install(TARGETS svgthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
-# ########### next target ###############
-#
-# set(textthumbnail_PART_SRCS textcreator.cpp)
-#
-# add_library(textthumbnail MODULE ${textthumbnail_PART_SRCS})
-#
-# target_link_libraries(textthumbnail ${KIO_LIBRARIES})
-#
-# install(TARGETS textthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
-#
+########### next target ###############
+
+set(textthumbnail_PART_SRCS textcreator.cpp)
+
+add_library(textthumbnail MODULE ${textthumbnail_PART_SRCS})
+
+target_link_libraries(textthumbnail
+ Qt5::Gui
+ KF5::KIOWidgets
+)
+
+install(TARGETS textthumbnail DESTINATION ${PLUGIN_INSTALL_DIR})
+
# ########### next target ###############
#
# if(NOT WINCE)
@@ -222,7 +225,7 @@ install(FILES
svgthumbnail.desktop
imagethumbnail.desktop
jpegthumbnail.desktop
-# textthumbnail.desktop
+ textthumbnail.desktop
# htmlthumbnail.desktop
# djvuthumbnail.desktop
# desktopthumbnail.desktop
diff --git a/thumbnail/textcreator.cpp b/thumbnail/textcreator.cpp
index d3f633c..7c0263c 100644
--- a/thumbnail/textcreator.cpp
+++ b/thumbnail/textcreator.cpp
@@ -21,16 +21,15 @@
#include "textcreator.h"
#include <QFile>
+#include <QFontDatabase>
#include <QPixmap>
#include <QImage>
#include <QPainter>
#include <QPalette>
#include <QTextCodec>
-
-#include <kglobalsettings.h>
-#include <kencodingprober.h>
-#include <klocale.h>
+// TODO Fix or remove kencodingprober code
+// #include <kencodingprober.h>
extern "C"
{
@@ -60,7 +59,7 @@ static QTextCodec *codecFromContent(const char *data, int dataSize)
#else
QByteArray ba = QByteArray::fromRawData(data, dataSize);
// try to detect UTF text, fall back to locale default (which is usually UTF-8)
- return QTextCodec::codecForUtfText(ba, KGlobal::locale()->codecForEncoding());
+ return QTextCodec::codecForUtfText(ba, QTextCodec::codecForLocale());
#endif
}
@@ -84,7 +83,8 @@ bool TextCreator::create(const QString &path, int width, int height, QImage &img
int yborder = 1 + pixmapSize.height()/16; // minimum y-border
// this font is supposed to look good at small sizes
- QFont font = KGlobalSettings::smallestReadableFont();
+ QFont font = QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont);
+
font.setPixelSize( qMax(7, qMin( 10, ( pixmapSize.height() - 2 * yborder ) / 16 ) ) );
QFontMetrics fm( font );
@@ -121,7 +121,7 @@ bool TextCreator::create(const QString &path, int width, int height, QImage &img
foreach ( const QString &line, textLines ) {
QString trimmedLine = line.trimmed();
if ( trimmedLine.contains( '\t' ) || trimmedLine.contains( " " ) ) {
- font.setFamily( KGlobalSettings::fixedFont().family() );
+ font.setFamily( QFontDatabase::systemFont(QFontDatabase::FixedFont).family());
break;
}
}
diff --git a/thumbnail/thumbnail.cpp b/thumbnail/thumbnail.cpp
index 3a38dc9..d4a7f35 100644
--- a/thumbnail/thumbnail.cpp
+++ b/thumbnail/thumbnail.cpp
@@ -118,7 +118,7 @@ extern "C" Q_DECL_EXPORT int kdemain( int argc, char **argv )
// and HTML previews need even KApplication :(
putenv(strdup("SESSION_MANAGER="));
- QCoreApplication app( argc, argv);
+ QGuiApplication app(argc, argv);
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic