本文整理汇总了C++中IAccount::ChangeState方法的典型用法代码示例。如果您正苦于以下问题:C++ IAccount::ChangeState方法的具体用法?C++ IAccount::ChangeState怎么用?C++ IAccount::ChangeState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAccount
的用法示例。
在下文中一共展示了IAccount::ChangeState方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleItemChanged
void AccountsListWidget::handleItemChanged (QStandardItem *item)
{
const auto type = item->data (Roles::RItemType).toInt ();
if (type != ItemTypes::ShowInRoster)
return;
IAccount *acc = item->data (Roles::RAccObj).value<IAccount*> ();
acc->SetShownInRoster (item->checkState () == Qt::Checked);
if (!acc->IsShownInRoster () && acc->GetState ().State_ != SOffline)
acc->ChangeState (EntryStatus (SOffline, QString ()));
emit accountVisibilityChanged (acc);
}
示例2: handleIdle
void Plugin::handleIdle (int seconds)
{
IdleSeconds_ = seconds;
if (seconds && seconds % 60)
return;
if (!XmlSettingsManager::Instance ().property ("EnableAutoidler").toBool ())
return;
const int mins = seconds / 60;
if (!mins &&
!OldStatuses_.isEmpty ())
{
for (QObject *accObj : AzothProxy_->GetAllAccounts ())
{
if (!OldStatuses_.contains (accObj))
continue;
IAccount *acc = qobject_cast<IAccount*> (accObj);
acc->ChangeState (OldStatuses_ [accObj]);
}
OldStatuses_.clear ();
}
if (!mins)
return;
EntryStatus status;
if (mins == XmlSettingsManager::Instance ().property ("AwayTimeout").toInt ())
status = EntryStatus (SAway,
XmlSettingsManager::Instance ().property ("AwayText").toString ());
else if (mins == XmlSettingsManager::Instance ().property ("NATimeout").toInt ())
status = EntryStatus (SXA,
XmlSettingsManager::Instance ().property ("NAText").toString ());
else
return;
for (QObject *accObj : AzothProxy_->GetAllAccounts ())
{
auto acc = qobject_cast<IAccount*> (accObj);
const auto& accState = acc->GetState ();
if (accState.State_ == State::SOffline)
continue;
if (!OldStatuses_.contains (accObj))
OldStatuses_ [accObj] = accState;
acc->ChangeState (status);
}
}