From b9a13748e023fa46266da0312ee4cd940d7ed4a2 Mon Sep 17 00:00:00 2001 From: "craig.p.drummond" Date: Tue, 22 Jan 2013 18:11:28 +0000 Subject: [PATCH] Ensure lyrics background is at least 300x300px --- ChangeLog | 1 + widgets/textbrowser.cpp | 27 +++++++++++++++++++++++ widgets/textbrowser.h | 49 +++++++---------------------------------- 3 files changed, 36 insertions(+), 41 deletions(-) diff --git a/ChangeLog b/ChangeLog index 012de1cc1..e5a9cd243 100644 --- a/ChangeLog +++ b/ChangeLog @@ -61,6 +61,7 @@ intended to be run by users. 35. Use com.googlecode.cantata instead of org.kde.cantata for DBUS service, etc. 36. Add action icons to grouped-albums style playlists at the top level. +37. Scale image in lyrics view if it is less than 300x300px 0.9.2 ----- diff --git a/widgets/textbrowser.cpp b/widgets/textbrowser.cpp index 119f3eadb..19c2c0c70 100644 --- a/widgets/textbrowser.cpp +++ b/widgets/textbrowser.cpp @@ -24,6 +24,33 @@ #include "textbrowser.h" #include +static const int constMinSize=300; + +void TextBrowser::setImage(const QImage &img) +{ + if (drawImage && (!img.isNull() || (img.isNull()!=image.isNull()))) { + image=img; + if (image.width()update(); + } +} + +void TextBrowser::enableImage(bool e) +{ + if (e!=drawImage) { + drawImage=e; + if (!drawImage) { + image=QImage(); + } + if (e) { + viewport()->setAutoFillBackground(false); + } + viewport()->update(); + } +} + void TextBrowser::paintEvent(QPaintEvent *e) { if (drawImage && isReadOnly() && !image.isNull()) { diff --git a/widgets/textbrowser.h b/widgets/textbrowser.h index 9a93a0fb1..7ad5262c2 100644 --- a/widgets/textbrowser.h +++ b/widgets/textbrowser.h @@ -27,51 +27,18 @@ #include #include #include + class TextBrowser : public QTextBrowser { public: - TextBrowser(QWidget *p) - : QTextBrowser(p) - , drawImage(false) { - orig=font().pointSize(); - } + TextBrowser(QWidget *p) : QTextBrowser(p) , drawImage(false) { orig=font().pointSize(); } + virtual ~TextBrowser() { } - virtual ~TextBrowser() { - } - - void setZoom(int diff) { - if (diff) { - zoomIn(diff); - } - } - - int zoom() const { - return font().pointSize()-orig; - } - - void setImage(const QImage &img) { - if (drawImage && (!img.isNull() || (img.isNull()!=image.isNull()))) { - image=img; - viewport()->update(); - } - } - - void enableImage(bool e) { - if (e!=drawImage) { - drawImage=e; - if (!drawImage) { - image=QImage(); - } - if (e) { - viewport()->setAutoFillBackground(false); - } - viewport()->update(); - } - } - - bool imageEnabled() { - return drawImage; - } + void setZoom(int diff) { if (diff) zoomIn(diff); } + int zoom() const { return font().pointSize()-orig; } + void setImage(const QImage &img); + void enableImage(bool e); + bool imageEnabled() { return drawImage; } void paintEvent(QPaintEvent *e);