void CTabWidget::setTabAlert(int index, bool alert) { if (!alert) { int count = d.alertIndexes.removeAll(index); if (count > 0 && d.alertIndexes.isEmpty()) { emit alertStatusChanged(false); SharedTimer::instance()->unregisterReceiver(this, "alertTimeout"); } } else if (!d.alertIndexes.contains(index)) { if (d.alertIndexes.isEmpty()) SharedTimer::instance()->registerReceiver(this, "alertTimeout"); d.alertIndexes.append(index); if (d.alertIndexes.count() == 1) emit alertStatusChanged(true); } colorizeTab(index); }
void ChatLayer::alert(int msecs) { Q_D(ChatLayer); d->alertTimer.start(msecs, this); if (!d->alerted) { d->alerted = true; emit alertStatusChanged(true); } }
void ChatLayer::alert(bool on) { Q_D(ChatLayer); if (d->alerted == on) return; d->alerted = on; d->alertTimer.stop(); emit alertStatusChanged(on); }