QList<QAction*> GlooxCLEntry::GetActions () const { auto result = EntryBase::GetActions (); QString gvVar; bool gwFound = false; Q_FOREACH (const QString& varCand, Variant2Identities_.keys ()) { Q_FOREACH (const auto& id, Variant2Identities_ [varCand]) if (id.category () == "gateway") { gwFound = true; gvVar = varCand; break; } if (gwFound) break; } if (gwFound) { if (GWActions_.isEmpty ()) { auto login = new QAction (tr ("Login"), Account_); login->setProperty ("Azoth/Xoox/Variant", gvVar); connect (login, SIGNAL (triggered ()), this, SLOT (handleGWLogin ())); GWActions_ << login; auto logout = new QAction (tr ("Logout"), Account_); logout->setProperty ("Azoth/Xoox/Variant", gvVar); connect (logout, SIGNAL (triggered ()), this, SLOT (handleGWLogout ())); GWActions_ << logout; auto edit = new QAction (tr ("Gateway preferences..."), Account_); edit->setProperty ("Azoth/Xoox/Variant", gvVar); edit->setProperty ("ActionIcon", "preferences-other"); connect (edit, SIGNAL (triggered ()), this, SLOT (handleGWEdit ())); GWActions_ << edit; GWActions_ << Util::CreateSeparator (Account_); } } else if (!GWActions_.isEmpty ()) GWActions_.clear (); result += GWActions_; return result; }
QList<QAction*> GlooxCLEntry::GetActions () const { auto result = EntryBase::GetActions (); QString gvVar; if (IsGateway (&gvVar)) { if (GWActions_.isEmpty ()) { auto login = new QAction (tr ("Login"), Account_); login->setProperty ("Azoth/Xoox/Variant", gvVar); connect (login, SIGNAL (triggered ()), this, SLOT (handleGWLogin ())); GWActions_ << login; auto logout = new QAction (tr ("Logout"), Account_); logout->setProperty ("Azoth/Xoox/Variant", gvVar); connect (logout, SIGNAL (triggered ()), this, SLOT (handleGWLogout ())); GWActions_ << logout; auto edit = new QAction (tr ("Gateway preferences..."), Account_); edit->setProperty ("Azoth/Xoox/Variant", gvVar); edit->setProperty ("ActionIcon", "preferences-other"); connect (edit, SIGNAL (triggered ()), this, SLOT (handleGWEdit ())); GWActions_ << edit; GWActions_ << Util::CreateSeparator (Account_); } } else if (!GWActions_.isEmpty ()) GWActions_.clear (); result += GWActions_; result += BlockContact_; return result; }