//---------------------------------------------------------------------------- // XmlConsole //---------------------------------------------------------------------------- XmlConsole::XmlConsole(PsiAccount *_pa) :QWidget() { ui_.setupUi(this); pa = _pa; pa->dialogRegister(this); connect(pa, SIGNAL(updatedAccount()), SLOT(updateCaption())); connect(pa->client(), SIGNAL(xmlIncoming(const QString &)), SLOT(client_xmlIncoming(const QString &))); connect(pa->client(), SIGNAL(xmlOutgoing(const QString &)), SLOT(client_xmlOutgoing(const QString &))); connect(pa->psi(), SIGNAL(accountCountChanged()), this, SLOT(updateCaption())); updateCaption(); prompt = 0; ui_.te->setUndoRedoEnabled(false); ui_.te->setReadOnly(true); ui_.te->setAcceptRichText(false); QTextFrameFormat f = ui_.te->document()->rootFrame()->frameFormat(); f.setBackground(QBrush(Qt::black)); ui_.te->document()->rootFrame()->setFrameFormat(f); connect(ui_.pb_clear, SIGNAL(clicked()), SLOT(clear())); connect(ui_.pb_input, SIGNAL(clicked()), SLOT(insertXml())); connect(ui_.pb_close, SIGNAL(clicked()), SLOT(close())); connect(ui_.pb_dumpRingbuf, SIGNAL(clicked()), SLOT(dumpRingbuf())); connect(ui_.ck_enable, SIGNAL(clicked(bool)), ui_.gb_filter, SLOT(setEnabled(bool))); resize(560,400); }
//---------------------------------------------------------------------------- // XmlConsole //---------------------------------------------------------------------------- XmlConsole::XmlConsole(PsiAccount *_pa) :QWidget() { #ifdef YAPSI setStyle(YaStyle::defaultStyle()); #endif ui_.setupUi(this); pa = _pa; pa->dialogRegister(this); connect(pa, SIGNAL(updatedAccount()), SLOT(updateCaption())); connect(pa->client(), SIGNAL(xmlIncoming(const QString &)), SLOT(client_xmlIncoming(const QString &))); connect(pa->client(), SIGNAL(xmlOutgoing(const QString &)), SLOT(client_xmlOutgoing(const QString &))); connect(pa->psi(), SIGNAL(accountCountChanged()), this, SLOT(updateCaption())); updateCaption(); prompt = 0; ui_.te->setUndoRedoEnabled(false); ui_.te->setReadOnly(true); ui_.te->setTextFormat(Qt::PlainText); QTextFrameFormat f = ui_.te->document()->rootFrame()->frameFormat(); f.setBackground(QBrush(Qt::black)); ui_.te->document()->rootFrame()->setFrameFormat(f); connect(ui_.pb_clear, SIGNAL(clicked()), SLOT(clear())); connect(ui_.pb_input, SIGNAL(clicked()), SLOT(insertXml())); connect(ui_.pb_close, SIGNAL(clicked()), SLOT(close())); connect(ui_.pb_dumpRingbuf, SIGNAL(clicked()), SLOT(dumpRingbuf())); connect(ui_.ck_enable, SIGNAL(clicked(bool)), ui_.gb_filter, SLOT(setEnabled(bool))); #ifdef DEFAULT_XMLCONSOLE enable(); #endif #ifdef YAPSI YaStyle::makeMeNativeLooking(this); #endif resize(560,400); }
Private(ContactListAccountMenu* menu, ContactListAccountGroup* _account) : QObject(0) , account(_account) , menu_(menu) { connect(menu, SIGNAL(aboutToShow()), SLOT(updateActions())); connect(account->account(), SIGNAL(updatedActivity()), SLOT(updateActions())); connect(account->account(), SIGNAL(updatedAccount()), SLOT(updateActions())); statusMenu_ = new StatusMenu(0); statusMenu_->setTitle(tr("&Status")); connect(statusMenu_, SIGNAL(statusChanged(XMPP::Status::Type)), SLOT(statusChanged(XMPP::Status::Type))); moodAction_ = new QAction(tr("Mood"), this); connect(moodAction_, SIGNAL(triggered()), SLOT(setMood())); setAvatarAction_ = new QAction(tr("Set Avatar"), this); connect(setAvatarAction_, SIGNAL(triggered()), SLOT(setAvatar())); unsetAvatarAction_ = new QAction(tr("Unset Avatar"), this); connect(unsetAvatarAction_, SIGNAL(triggered()), SLOT(unsetAvatar())); bookmarksManageAction_ = new QAction(tr("Manage..."), this); connect(bookmarksManageAction_, SIGNAL(triggered()), SLOT(bookmarksManage())); addContactAction_ = new IconAction(tr("&Add a Contact"), this, "psi/addContact"); connect(addContactAction_, SIGNAL(triggered()), SLOT(addContact())); serviceDiscoveryAction_ = new IconAction(tr("Service &Discovery"), this, "psi/disco"); connect(serviceDiscoveryAction_, SIGNAL(triggered()), SLOT(serviceDiscovery())); newMessageAction_ = new IconAction(tr("New &Blank Message"), this, "psi/sendMessage"); connect(newMessageAction_, SIGNAL(triggered()), SLOT(newMessage())); xmlConsoleAction_ = new IconAction(tr("&XML Console"), this, "psi/xml"); connect(xmlConsoleAction_, SIGNAL(triggered()), SLOT(xmlConsole())); modifyAccountAction_ = new IconAction(tr("&Modify Account..."), this, "psi/account"); connect(modifyAccountAction_, SIGNAL(triggered()), SLOT(modifyAccount())); adminOnlineUsersAction_ = new IconAction(tr("Online Users"), this, "psi/disco"); connect(adminOnlineUsersAction_, SIGNAL(triggered()), SLOT(adminOnlineUsers())); adminSendServerMessageAction_ = new IconAction(tr("Send Server Message"), this, "psi/sendMessage"); connect(adminSendServerMessageAction_, SIGNAL(triggered()), SLOT(adminSendServerMessage())); adminSetMotdAction_ = new QAction(tr("Set MOTD"), this); connect(adminSetMotdAction_, SIGNAL(triggered()), SLOT(adminSetMotd())); adminUpdateMotdAction_ = new QAction(tr("Update MOTD"), this); connect(adminUpdateMotdAction_, SIGNAL(triggered()), SLOT(adminUpdateMotd())); adminDeleteMotdAction_ = new IconAction(tr("Delete MOTD"), this, "psi/remove"); connect(adminDeleteMotdAction_, SIGNAL(triggered()), SLOT(adminDeleteMotd())); menu->addMenu(statusMenu_); menu->addAction(moodAction_); avatarMenu_ = menu->addMenu(tr("Avatar")); avatarMenu_->addAction(setAvatarAction_); avatarMenu_->addAction(unsetAvatarAction_); bookmarksMenu_ = menu->addMenu(tr("Bookmarks")); bookmarksMenu_->addAction(bookmarksManageAction_); menu->addSeparator(); menu->addAction(addContactAction_); menu->addAction(serviceDiscoveryAction_); menu->addAction(newMessageAction_); menu->addSeparator(); menu->addAction(xmlConsoleAction_); menu->addSeparator(); menu->addAction(modifyAccountAction_); adminMenu_ = menu->addMenu("&Admin"); adminMenu_->addAction(adminOnlineUsersAction_); adminMenu_->addAction(adminSendServerMessageAction_); adminMenu_->addAction(adminSetMotdAction_); adminMenu_->addAction(adminUpdateMotdAction_); adminMenu_->addAction(adminDeleteMotdAction_); updateActions(); }
void ContactListModel::Private::realAddContact(PsiContact *contact) { ContactListItem *root = static_cast<ContactListItem*>(q->root());; if (accountsEnabled) { PsiAccount *account = contact->account(); ContactListItem *accountItem = root->findAccount(account); if (!accountItem) { accountItem = new ContactListItem(q, ContactListItem::Type::AccountType); accountItem->setAccount(account); accountItem->setExpanded(!collapsed.contains(accountItem->internalName())); connect(account, SIGNAL(accountDestroyed()), SLOT(onAccountDestroyed())); connect(account, SIGNAL(updatedAccount()), SLOT(updateAccount())); root->appendChild(accountItem); } root = accountItem; } if (!contact->isSelf() && groupsEnabled) { ContactListItem::SpecialGroupType specialGroupType = specialGroupFor(contact); QStringList groups = specialGroupType == ContactListItem::SpecialGroupType::NoneSpecialGroupType ? contact->groups() : QStringList{QString()}; for (const QString &groupName: groups) { ContactListItem *groupItem = nullptr; if (specialGroupType == ContactListItem::SpecialGroupType::NoneSpecialGroupType) groupItem = root->findGroup(groupName); else groupItem = root->findGroup(specialGroupType); // No duplicates if (groupItem && groupItem->findContact(contact)) { continue; } ContactListItem *item = new ContactListItem(q, ContactListItem::Type::ContactType); item->setContact(contact); if (!groupItem) { groupItem = new ContactListItem(q, ContactListItem::Type::GroupType, specialGroupType); if (specialGroupType == ContactListItem::SpecialGroupType::NoneSpecialGroupType) groupItem->setName(groupName); root->appendChild(groupItem); groupItem->setExpanded(!collapsed.contains(groupItem->internalName())); groupItem->setHidden(hidden.contains(groupItem->internalName())); } groupItem->appendChild(item); monitoredContacts.insertMulti(contact, q->toModelIndex(item)); } } else { ContactListItem *item = new ContactListItem(q, ContactListItem::Type::ContactType); item->setContact(contact); root->appendChild(item); monitoredContacts.insertMulti(contact, q->toModelIndex(item)); } connect(contact, SIGNAL(destroyed(PsiContact*)), SLOT(removeContact(PsiContact*))); connect(contact, SIGNAL(groupsChanged()), SLOT(contactGroupsChanged())); connect(contact, SIGNAL(updated()), SLOT(contactUpdated())); connect(contact, SIGNAL(alert()), SLOT(contactUpdated())); connect(contact, SIGNAL(anim()), SLOT(contactUpdated())); }