mirror of
https://github.com/cemu-project/Cemu.git
synced 2026-06-01 12:15:13 -06:00
Fix dark mode in download manager
This commit is contained in:
parent
9f58f3a118
commit
3b5c6f5246
@ -142,6 +142,10 @@ wxString wxDownloadManagerList::OnGetItemText(long item, long column) const
|
|||||||
wxItemAttr* wxDownloadManagerList::OnGetItemAttr(long item) const
|
wxItemAttr* wxDownloadManagerList::OnGetItemAttr(long item) const
|
||||||
{
|
{
|
||||||
const auto entry = GetTitleEntry(item);
|
const auto entry = GetTitleEntry(item);
|
||||||
|
|
||||||
|
const wxColour bgColour = GetBackgroundColour();
|
||||||
|
const bool isDarkTheme = wxSystemSettings::GetAppearance().IsDark();
|
||||||
|
|
||||||
if (entry.has_value())
|
if (entry.has_value())
|
||||||
{
|
{
|
||||||
auto& entryData = entry.value();
|
auto& entryData = entry.value();
|
||||||
@ -149,26 +153,38 @@ wxItemAttr* wxDownloadManagerList::OnGetItemAttr(long item) const
|
|||||||
entryData.status == TitleDownloadStatus::Verifying ||
|
entryData.status == TitleDownloadStatus::Verifying ||
|
||||||
entryData.status == TitleDownloadStatus::Installing)
|
entryData.status == TitleDownloadStatus::Installing)
|
||||||
{
|
{
|
||||||
const wxColour kActiveColor{ 0xFFE0E0 };
|
const wxColour kActiveColor = isDarkTheme ? wxColour(80, 40, 40) : wxColour(0xFFE0E0);
|
||||||
static wxListItemAttr s_error_attr(GetTextColour(), kActiveColor, GetFont());
|
static wxListItemAttr s_active_attr;
|
||||||
return &s_error_attr;
|
s_active_attr.SetBackgroundColour(kActiveColor);
|
||||||
|
s_active_attr.SetTextColour(GetTextColour());
|
||||||
|
s_active_attr.SetFont(GetFont());
|
||||||
|
return &s_active_attr;
|
||||||
}
|
}
|
||||||
else if (entryData.status == TitleDownloadStatus::Installed && entryData.isPackage)
|
else if (entryData.status == TitleDownloadStatus::Installed && entryData.isPackage)
|
||||||
{
|
{
|
||||||
const wxColour kActiveColor{ 0xE0FFE0 };
|
const wxColour kActiveColor = isDarkTheme ? wxColour(40, 80, 40) : wxColour(0xE0FFE0);
|
||||||
static wxListItemAttr s_error_attr(GetTextColour(), kActiveColor, GetFont());
|
static wxListItemAttr s_installed_attr;
|
||||||
return &s_error_attr;
|
s_installed_attr.SetBackgroundColour(kActiveColor);
|
||||||
|
s_installed_attr.SetTextColour(GetTextColour());
|
||||||
|
s_installed_attr.SetFont(GetFont());
|
||||||
|
return &s_installed_attr;
|
||||||
}
|
}
|
||||||
else if (entryData.status == TitleDownloadStatus::Error)
|
else if (entryData.status == TitleDownloadStatus::Error)
|
||||||
{
|
{
|
||||||
const wxColour kActiveColor{ 0xCCCCF2 };
|
const wxColour kActiveColor = isDarkTheme ? wxColour(40, 40, 80) : wxColour(0xCCCCF2);
|
||||||
static wxListItemAttr s_error_attr(GetTextColour(), kActiveColor, GetFont());
|
static wxListItemAttr s_error_attr;
|
||||||
|
s_error_attr.SetBackgroundColour(kActiveColor);
|
||||||
|
s_error_attr.SetTextColour(GetTextColour());
|
||||||
|
s_error_attr.SetFont(GetFont());
|
||||||
return &s_error_attr;
|
return &s_error_attr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxColour bgColourSecondary = wxHelper::CalculateAccentColour(GetBackgroundColour());
|
wxColour bgColourSecondary = wxHelper::CalculateAccentColour(bgColour);
|
||||||
static wxListItemAttr s_coloured_attr(GetTextColour(), bgColourSecondary, GetFont());
|
static wxListItemAttr s_coloured_attr;
|
||||||
|
s_coloured_attr.SetBackgroundColour(bgColourSecondary);
|
||||||
|
s_coloured_attr.SetTextColour(GetTextColour());
|
||||||
|
s_coloured_attr.SetFont(GetFont());
|
||||||
return item % 2 == 0 ? nullptr : &s_coloured_attr;
|
return item % 2 == 0 ? nullptr : &s_coloured_attr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user