void ChatDlg::updateContact(const Jid &j, bool fromPresence) { // if groupchat, only update if the resource matches if (account()->findGCContact(j) && !jid().compare(j)) { return; } if (jid().compare(j, false)) { QList<UserListItem*> ul = account()->findRelevant(j); UserStatus userStatus = userStatusFor(jid(), ul, false); if (userStatus.statusType == XMPP::Status::Offline) contactChatState_ = XMPP::StateNone; bool statusChanged = false; if (status_ != userStatus.statusType || statusString_ != userStatus.status) { statusChanged = true; status_ = userStatus.statusType; statusString_ = userStatus.status; } contactUpdated(userStatus.userListItem, userStatus.statusType, userStatus.status); if (userStatus.userListItem) { dispNick_ = JIDUtil::nickOrJid(userStatus.userListItem->name(), userStatus.userListItem->jid().full()); nicksChanged(); invalidateTab(); key_ = userStatus.publicKeyID; updatePGP(); if (fromPresence && statusChanged) { QString msg = tr("%1 is %2").arg(Qt::escape(dispNick_)).arg(status2txt(status_)); if (!statusString_.isEmpty()) { QString ss = TextUtil::linkify(TextUtil::plain2rich(statusString_)); if (PsiOptions::instance()->getOption("options.ui.emoticons.use-emoticons").toBool()) { ss = TextUtil::emoticonify(ss); } if (PsiOptions::instance()->getOption("options.ui.chat.legacy-formatting").toBool()) { ss = TextUtil::legacyFormat(ss); } msg += QString(" [%1]").arg(ss); } appendSysMsg(msg); } } // Update capabilities capsChanged(jid()); // Reset 'is composing' event if the status changed if (statusChanged && contactChatState_ != XMPP::StateNone) { if (contactChatState_ == XMPP::StateComposing || contactChatState_ == XMPP::StateInactive) { setContactChatState(XMPP::StatePaused); } } } }
void StatusMenu::addStatus(XMPP::Status::Type type) { QAction* action = new QAction(status2txt(type), this); action->setCheckable(true); action->setChecked(currentStatus_ == type); action->setIcon(PsiIconset::instance()->status(type).icon()); action->setProperty("type", QVariant(type)); connect(action, SIGNAL(triggered()), SLOT(actionActivated())); addAction(action); }
static void reset_flags(struct si_sm_data *bt) { if (bt_debug) printk(KERN_WARNING "IPMI BT: flag reset %s\n", status2txt(BT_STATUS)); if (BT_STATUS & BT_H_BUSY) BT_CONTROL(BT_H_BUSY); /* force clear */ BT_CONTROL(BT_CLR_WR_PTR); /* always reset */ BT_CONTROL(BT_SMS_ATN); /* always clear */ BT_INTMASK_W(BT_BMC_HWRST); }
MessageView MessageView::statusMessage(const QString &nick, int status, const QString &statusText, int priority) { MessageView mv = MessageView::fromPlainText(QObject::tr("%1 is now %2") .arg(nick, status2txt(status)), Status); mv.setNick(nick); mv.setStatus(status); mv.setStatusPriority(priority); mv.setUserText(statusText); return mv; }
static void drain_BMC2HOST(struct si_sm_data *bt) { int i, size; if (!(BT_STATUS & BT_B2H_ATN)) /* Not signalling a response */ return; BT_CONTROL(BT_H_BUSY); /* now set */ BT_CONTROL(BT_B2H_ATN); /* always clear */ BT_STATUS; /* pause */ BT_CONTROL(BT_B2H_ATN); /* some BMCs are stubborn */ BT_CONTROL(BT_CLR_RD_PTR); /* always reset */ if (bt_debug) printk(KERN_WARNING "IPMI BT: stale response %s; ", status2txt(BT_STATUS)); size = BMC2HOST; for (i = 0; i < size ; i++) BMC2HOST; BT_CONTROL(BT_H_BUSY); /* now clear */ if (bt_debug) printk("drained %d bytes\n", size + 1); }
void StatusSetDlg::init() { int type = makeSTATUS(d->s); // build the dialog QVBoxLayout *vb = new QVBoxLayout(this, 8); QHBoxLayout *hb1 = new QHBoxLayout(vb); // Status QLabel *l; l = new QLabel(tr("Status:"), this); hb1->addWidget(l); d->cb_type = new QComboBox(this); QList<XMPP::Status::Type> statuses; statuses << STATUS_CHAT << STATUS_ONLINE << STATUS_AWAY << STATUS_XA << STATUS_DND; if (PsiOptions::instance()->getOption("options.ui.menu.status.invisible").toBool()) { statuses << STATUS_INVISIBLE; } statuses << STATUS_OFFLINE; foreach(XMPP::Status::Type status, statuses) { d->cb_type->addItem(status2txt(status), status); }