aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Ui/skinned/skin.cpp18
-rw-r--r--src/plugins/Ui/skinned/skin.h1
2 files changed, 18 insertions, 1 deletions
diff --git a/src/plugins/Ui/skinned/skin.cpp b/src/plugins/Ui/skinned/skin.cpp
index b8a0a78f0..97c3c5a62 100644
--- a/src/plugins/Ui/skinned/skin.cpp
+++ b/src/plugins/Ui/skinned/skin.cpp
@@ -231,6 +231,7 @@ void Skin::loadColors()
void Skin::loadButtons()
{
QPixmap *pixmap = getPixmap ("cbuttons");
+ pixmap = correctSize(pixmap, 136, pixmap->height());
m_buttons[BT_PREVIOUS_N] = pixmap->copy (0, 0,23,18);
m_buttons[BT_PREVIOUS_P] = pixmap->copy (0,18,23,18);
@@ -288,7 +289,7 @@ void Skin::loadPosBar()
m_buttons[BT_POSBAR_N] = dummy;
m_buttons[BT_POSBAR_P] = dummy;
}
- posbar = pixmap->copy (0,0,248,pixmap->height());
+ posbar = pixmap->copy (0,0,248, qMin(pixmap->height(), 10));
delete pixmap;
}
@@ -457,6 +458,7 @@ void Skin::loadPLEdit()
void Skin::loadEqMain()
{
QPixmap *pixmap = getPixmap ("eqmain");
+ pixmap = correctSize(pixmap, pixmap->width(), 292);
m_eq_parts[ EQ_MAIN ] = pixmap->copy (0,0,275,116);
m_eq_parts[ EQ_TITLEBAR_A ] = pixmap->copy (0,134,275,14);
@@ -793,6 +795,20 @@ QRegion Skin::createRegion(const QString &path, const QString &key)
return region;
}
+QPixmap *Skin::correctSize(QPixmap *pixmap, int w, int h)
+{
+ if(pixmap->width() < w || pixmap->height() < h)
+ {
+ QPixmap *fullSizePixmap = new QPixmap(w, h);
+ fullSizePixmap->fill(Qt::transparent);
+ QPainter p(fullSizePixmap);
+ p.drawPixmap(0,0,*pixmap);
+ delete pixmap;
+ return fullSizePixmap;
+ }
+ return pixmap;
+}
+
QPixmap * Skin::getDummyPixmap(const QString &name, const QString &fallback)
{
QDir dir (":/glare");
diff --git a/src/plugins/Ui/skinned/skin.h b/src/plugins/Ui/skinned/skin.h
index fd3d217e1..e1e003f1a 100644
--- a/src/plugins/Ui/skinned/skin.h
+++ b/src/plugins/Ui/skinned/skin.h
@@ -394,6 +394,7 @@ private:
void loadBalance();
void loadRegion();
QRegion createRegion(const QString &path, const QString &key);
+ QPixmap *correctSize(QPixmap *pixmap, int w, int h);
};
#endif