mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-14 23:34:08 +00:00
UI: Refactor Windows taskbar switch
This commit is contained in:
parent
107b2a8f27
commit
8fad36868e
|
@ -465,33 +465,32 @@ void TaskbarOverlaySetStatus(TaskbarOverlayStatus status)
|
|||
return;
|
||||
}
|
||||
|
||||
if (status != TaskbarOverlayStatusInactive) {
|
||||
QIcon qicon;
|
||||
switch (status) {
|
||||
case TaskbarOverlayStatusActive:
|
||||
qicon = QIcon::fromTheme(
|
||||
"obs-active", QIcon(":/res/images/active.png"));
|
||||
break;
|
||||
case TaskbarOverlayStatusPaused:
|
||||
qicon = QIcon::fromTheme(
|
||||
"obs-paused", QIcon(":/res/images/paused.png"));
|
||||
break;
|
||||
}
|
||||
|
||||
HICON hicon = nullptr;
|
||||
if (!qicon.isNull()) {
|
||||
Q_GUI_EXPORT HICON qt_pixmapToWinHICON(
|
||||
const QPixmap &p);
|
||||
hicon = qt_pixmapToWinHICON(
|
||||
qicon.pixmap(GetSystemMetrics(SM_CXSMICON)));
|
||||
if (!hicon)
|
||||
return;
|
||||
}
|
||||
|
||||
taskbarIcon->SetOverlayIcon(hwnd, hicon, nullptr);
|
||||
DestroyIcon(hicon);
|
||||
} else {
|
||||
QIcon qicon;
|
||||
switch (status) {
|
||||
case TaskbarOverlayStatusActive:
|
||||
qicon = QIcon::fromTheme("obs-active",
|
||||
QIcon(":/res/images/active.png"));
|
||||
break;
|
||||
case TaskbarOverlayStatusPaused:
|
||||
qicon = QIcon::fromTheme("obs-paused",
|
||||
QIcon(":/res/images/paused.png"));
|
||||
break;
|
||||
case TaskbarOverlayStatusInactive:
|
||||
taskbarIcon->SetOverlayIcon(hwnd, nullptr, nullptr);
|
||||
taskbarIcon->Release();
|
||||
return;
|
||||
}
|
||||
|
||||
HICON hicon = nullptr;
|
||||
if (!qicon.isNull()) {
|
||||
Q_GUI_EXPORT HICON qt_pixmapToWinHICON(const QPixmap &p);
|
||||
hicon = qt_pixmapToWinHICON(
|
||||
qicon.pixmap(GetSystemMetrics(SM_CXSMICON)));
|
||||
if (!hicon)
|
||||
return;
|
||||
}
|
||||
|
||||
taskbarIcon->SetOverlayIcon(hwnd, hicon, nullptr);
|
||||
DestroyIcon(hicon);
|
||||
taskbarIcon->Release();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue