diff --git a/3rdparty/fancytabwidget/fancytabwidget.cpp b/3rdparty/fancytabwidget/fancytabwidget.cpp
index 2c8fff5ff..7bc31c124 100644
--- a/3rdparty/fancytabwidget/fancytabwidget.cpp
+++ b/3rdparty/fancytabwidget/fancytabwidget.cpp
@@ -477,14 +477,10 @@ void FancyTabWidget::removeTab(int index)
m_tabBar->removeTab(index);
}
-void FancyTabWidget::setBackgroundBrush(const QBrush &brush)
+void FancyTabWidget::setBackgroundPixmap(const QPixmap& pixmap)
{
- QPalette pal = m_tabBar->palette();
- pal.setBrush(QPalette::Mid, brush);
- m_tabBar->setPalette(pal);
- pal = m_cornerWidgetContainer->palette();
- pal.setBrush(QPalette::Mid, brush);
- m_cornerWidgetContainer->setPalette(pal);
+ m_backgroundPixmap = pixmap;
+ update();
}
void FancyTabWidget::paintEvent(QPaintEvent *event)
@@ -495,6 +491,19 @@ void FancyTabWidget::paintEvent(QPaintEvent *event)
QRect rect = m_selectionWidget->rect().adjusted(0, 0, 1, 0);
rect = style()->visualRect(layoutDirection(), geometry(), rect);
Utils::StyleHelper::verticalGradient(&painter, rect, rect);
+
+ if (!m_backgroundPixmap.isNull()) {
+ QRect pixmap_rect(m_backgroundPixmap.rect());
+ pixmap_rect.moveTo(rect.topLeft());
+
+ while (pixmap_rect.top() < rect.bottom()) {
+ QRect source_rect(pixmap_rect.intersected(rect));
+ source_rect.moveTo(0, 0);
+ painter.drawPixmap(pixmap_rect.topLeft(), m_backgroundPixmap, source_rect);
+ pixmap_rect.moveTop(pixmap_rect.bottom() - 10);
+ }
+ }
+
painter.setPen(Utils::StyleHelper::borderColor());
painter.drawLine(rect.topRight(), rect.bottomRight());
diff --git a/3rdparty/fancytabwidget/fancytabwidget.h b/3rdparty/fancytabwidget/fancytabwidget.h
index da647fb4e..7db8a462b 100644
--- a/3rdparty/fancytabwidget/fancytabwidget.h
+++ b/3rdparty/fancytabwidget/fancytabwidget.h
@@ -140,7 +140,7 @@ public:
void addTab(QWidget *tab, const QIcon &icon, const QString &label);
void addSpacer(int size = 40);
void removeTab(int index);
- void setBackgroundBrush(const QBrush &brush);
+ void setBackgroundPixmap(const QPixmap& pixmap);
void addCornerWidget(QWidget *widget);
void insertCornerWidget(int pos, QWidget *widget);
int cornerWidgetCount() const;
@@ -171,6 +171,7 @@ private:
QStackedLayout *m_modesStack;
QWidget *m_selectionWidget;
QStatusBar *m_statusBar;
+ QPixmap m_backgroundPixmap;
};
} // namespace Internal
diff --git a/data/data.qrc b/data/data.qrc
index a5747d1b7..fbb5ec854 100644
--- a/data/data.qrc
+++ b/data/data.qrc
@@ -264,5 +264,6 @@
icons/32x32/wiimotedev.png
schema-17.sql
lyrics/ultimate_providers.xml
+ sidebar_background.png
diff --git a/data/sidebar_background.png b/data/sidebar_background.png
new file mode 100644
index 000000000..9f34525ec
Binary files /dev/null and b/data/sidebar_background.png differ
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index cff37927e..55b31141b 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -189,6 +189,7 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg
AddFancyTab(new QWidget, IconLoader::Load("view-media-lyrics"), tr("Artist info"));
ui_->tabs->statusBar()->hide();
+ ui_->tabs->setBackgroundPixmap(QPixmap(":/sidebar_background.png"));
StyleHelper::setBaseColor(palette().color(QPalette::Highlight).darker());
track_position_timer_->setInterval(1000);