Ensure lyrics background is at least 300x300px
This commit is contained in:
@@ -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
|
||||
-----
|
||||
|
||||
@@ -24,6 +24,33 @@
|
||||
#include "textbrowser.h"
|
||||
#include <QtGui/QPainter>
|
||||
|
||||
static const int constMinSize=300;
|
||||
|
||||
void TextBrowser::setImage(const QImage &img)
|
||||
{
|
||||
if (drawImage && (!img.isNull() || (img.isNull()!=image.isNull()))) {
|
||||
image=img;
|
||||
if (image.width()<constMinSize || image.height()<constMinSize) {
|
||||
image=image.scaled(QSize(constMinSize, constMinSize), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||
}
|
||||
viewport()->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()) {
|
||||
|
||||
@@ -27,51 +27,18 @@
|
||||
#include <QtGui/QTextBrowser>
|
||||
#include <QtGui/QImage>
|
||||
#include <QtCore/QDebug>
|
||||
|
||||
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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user