UI: Match Windows taskbar state to tray icon
This adds a status icon for active/paused outputs. Stripped down version of #2442
This commit is contained in:
parent
1392ea5ca6
commit
a2c3896e1a
7 changed files with 45 additions and 0 deletions
|
|
@ -2014,6 +2014,10 @@ void OBSBasic::OBSInit()
|
|||
SystemTray(true);
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
taskBtn->setWindow(windowHandle());
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
disableColorSpaceConversion(this);
|
||||
#endif
|
||||
|
|
@ -6489,6 +6493,10 @@ inline void OBSBasic::OnActivate()
|
|||
App()->IncrementSleepInhibition();
|
||||
UpdateProcessPriority();
|
||||
|
||||
#ifdef _WIN32
|
||||
taskBtn->setOverlayIcon(QIcon::fromTheme(
|
||||
"obs-active", QIcon(":/res/images/active.png")));
|
||||
#endif
|
||||
if (trayIcon && trayIcon->isVisible()) {
|
||||
#ifdef __APPLE__
|
||||
QIcon trayMask =
|
||||
|
|
@ -6516,6 +6524,9 @@ inline void OBSBasic::OnDeactivate()
|
|||
App()->DecrementSleepInhibition();
|
||||
ClearProcessPriority();
|
||||
|
||||
#ifdef _WIN32
|
||||
taskBtn->clearOverlayIcon();
|
||||
#endif
|
||||
if (trayIcon && trayIcon->isVisible()) {
|
||||
#ifdef __APPLE__
|
||||
QIcon trayIconFile =
|
||||
|
|
@ -6540,6 +6551,11 @@ inline void OBSBasic::OnDeactivate()
|
|||
#endif
|
||||
trayIcon->setIcon(QIcon::fromTheme("obs-tray-paused",
|
||||
trayIconFile));
|
||||
#ifdef _WIN32
|
||||
taskBtn->setOverlayIcon(QIcon::fromTheme(
|
||||
"obs-paused",
|
||||
QIcon(":/res/images/paused.png")));
|
||||
#endif
|
||||
} else {
|
||||
#ifdef __APPLE__
|
||||
QIcon trayIconFile =
|
||||
|
|
@ -6551,6 +6567,11 @@ inline void OBSBasic::OnDeactivate()
|
|||
#endif
|
||||
trayIcon->setIcon(QIcon::fromTheme("obs-tray-active",
|
||||
trayIconFile));
|
||||
#ifdef _WIN32
|
||||
taskBtn->setOverlayIcon(QIcon::fromTheme(
|
||||
"obs-active",
|
||||
QIcon(":/res/images/active.png")));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -9539,6 +9560,10 @@ void OBSBasic::PauseRecording()
|
|||
|
||||
ui->statusbar->RecordingPaused();
|
||||
|
||||
#ifdef _WIN32
|
||||
taskBtn->setOverlayIcon(QIcon::fromTheme(
|
||||
"obs-paused", QIcon(":/res/images/paused.png")));
|
||||
#endif
|
||||
if (trayIcon && trayIcon->isVisible()) {
|
||||
#ifdef __APPLE__
|
||||
QIcon trayIconFile =
|
||||
|
|
@ -9579,6 +9604,10 @@ void OBSBasic::UnpauseRecording()
|
|||
|
||||
ui->statusbar->RecordingUnpaused();
|
||||
|
||||
#ifdef _WIN32
|
||||
taskBtn->setOverlayIcon(QIcon::fromTheme(
|
||||
"obs-active", QIcon(":/res/images/active.png")));
|
||||
#endif
|
||||
if (trayIcon && trayIcon->isVisible()) {
|
||||
#ifdef __APPLE__
|
||||
QIcon trayIconFile =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue