static void SetInitDone(SESSION_INFO *si) { if (si->bInitDone) return; si->bInitDone = true; for (STATUSINFO *p = si->pStatuses; p; p = p->next) if ((UINT_PTR)p->hIcon < STATUSICONCOUNT) p->hIcon = HICON(si->iStatusCount - (int)p->hIcon - 1); }
void TrayIcon::forceUpdateIcon() { bool unreads = Logic::GetRecentsModel()->totalUnreads() != 0; HaveUnreads_ = unreads; #ifdef _WIN32 if (ptbl) ptbl->SetOverlayIcon((HWND)MainWindow_->winId(), unreads ? qt_pixmapToWinHICON(*TaskBarOverlay_) : HICON(), L""); else MainWindow_->setWindowIcon(unreads ? *Unreads_ : *Base_); #endif //_WIN32 if (!platform::is_apple()) { Icon_->setIcon(unreads ? *TrayUnreads_ : *TrayBase_); } else { setMacIcon(); } updateStatus(); }