diff --git a/src/gui/properties/downloadedpiecesbar.cpp b/src/gui/properties/downloadedpiecesbar.cpp index 0f1ec8cea..305baad9f 100644 --- a/src/gui/properties/downloadedpiecesbar.cpp +++ b/src/gui/properties/downloadedpiecesbar.cpp @@ -36,11 +36,16 @@ #include #include "base/global.h" +#include "gui/uithememanager.h" namespace { QColor dlPieceColor(const QColor &pieceColor) { + const QColor color = UIThemeManager::instance()->getColor(u"PiecesBar.PartialPiece"_s); + if (color.isValid()) + return color; + const QColor green {Qt::green}; return QColor::fromHsl(green.hslHue(), pieceColor.hslSaturation(), pieceColor.lightness()); } diff --git a/src/gui/properties/piecesbar.cpp b/src/gui/properties/piecesbar.cpp index 87b941493..edfbd1786 100644 --- a/src/gui/properties/piecesbar.cpp +++ b/src/gui/properties/piecesbar.cpp @@ -1,6 +1,6 @@ /* * Bittorrent Client using Qt and libtorrent. - * Copyright (C) 2024 Vladimir Golovnev + * Copyright (C) 2024-2025 Vladimir Golovnev * Copyright (C) 2016 Eugene Shalygin * Copyright (C) 2006 Christophe Dumez * @@ -42,6 +42,7 @@ #include "base/indexrange.h" #include "base/path.h" #include "base/utils/misc.h" +#include "gui/uithememanager.h" namespace { @@ -216,17 +217,20 @@ void PiecesBar::redraw() QColor PiecesBar::backgroundColor() const { - return palette().color(QPalette::Active, QPalette::Base); + const QColor color = UIThemeManager::instance()->getColor(u"PiecesBar.MissingPiece"_s); + return color.isValid() ? color : palette().color(QPalette::Active, QPalette::Base); } QColor PiecesBar::borderColor() const { - return palette().color(QPalette::Active, QPalette::Dark); + const QColor color = UIThemeManager::instance()->getColor(u"PiecesBar.Border"_s); + return color.isValid() ? color : palette().color(QPalette::Active, QPalette::Dark); } QColor PiecesBar::pieceColor() const { - return palette().color(QPalette::Active, QPalette::Highlight); + const QColor color = UIThemeManager::instance()->getColor(u"PiecesBar.Piece"_s); + return color.isValid() ? color : palette().color(QPalette::Active, QPalette::Highlight); } QColor PiecesBar::highlightedPieceColor() const diff --git a/src/gui/uithemecommon.h b/src/gui/uithemecommon.h index ba7a5c2c5..0be241fb3 100644 --- a/src/gui/uithemecommon.h +++ b/src/gui/uithemecommon.h @@ -80,7 +80,12 @@ inline QHash defaultUIThemeColors() {u"TransferList.StoppedUploading"_s, {Color::Primer::Light::doneFg, Color::Primer::Dark::doneFg}}, {u"TransferList.Moving"_s, {Color::Primer::Light::successFg, Color::Primer::Dark::successFg}}, {u"TransferList.MissingFiles"_s, {Color::Primer::Light::dangerFg, Color::Primer::Dark::dangerFg}}, - {u"TransferList.Error"_s, {Color::Primer::Light::dangerFg, Color::Primer::Dark::dangerFg}} + {u"TransferList.Error"_s, {Color::Primer::Light::dangerFg, Color::Primer::Dark::dangerFg}}, + + {u"PiecesBar.Border"_s, {{}, {}}}, + {u"PiecesBar.Piece"_s, {{}, {}}}, + {u"PiecesBar.PartialPiece"_s, {{}, {}}}, + {u"PiecesBar.MissingPiece"_s, {{}, {}}} }; }