icqAccount::icqAccount(QString string, const QString &profile_name, QObject *parent) : QObject(parent) , icqUin(string) , m_profile_name(profile_name) , m_icq_plugin_system(IcqPluginSystem::instance()) { currentTrayStatus = false; statusTrayMenuExist = false; deleteingAccount = false; menuExist = false; firsTrayMessageIsShown = false; positionInStack = 1; currentXstatus = 0; statusIconIndex = 0; iAmConnected = false; thisIcqProtocol = new oscarProtocol(icqUin, m_profile_name, this); connect(thisIcqProtocol, SIGNAL(statusChanged(accountStatus)), this, SLOT(setStatusIcon(accountStatus))); connect(thisIcqProtocol, SIGNAL(statusChanged(accountStatus)), this, SLOT(onOscarStatusChanged(accountStatus))); connect(thisIcqProtocol, SIGNAL(accountConnected(bool)), this, SLOT(accountConnected(bool))); connect(thisIcqProtocol, SIGNAL(systemMessage(const QString &)), this, SLOT(systemMessage(const QString &))); connect(thisIcqProtocol, SIGNAL(userMessage(const QString &, const QString &, const QString &, userMessageType, bool)), this, SLOT(userMessage(const QString &, const QString &, const QString &, userMessageType, bool))); connect(thisIcqProtocol, SIGNAL(getNewMessage()), this, SIGNAL(getNewMessage())); connect(thisIcqProtocol, SIGNAL(readAllMessages()), this, SIGNAL(readAllMessages())); connect(thisIcqProtocol->getContactListClass(), SIGNAL(updateStatusMenu(bool)), this, SLOT(updateStatusMenu(bool))); connect(this, SIGNAL(updateTranslation()), thisIcqProtocol, SIGNAL(updateTranslation())); createIcons(); createStatusMenu(); chooseStatus = new QAction(currentIcon, icqUin, this); chooseStatus->setCheckable(true); connect ( chooseStatus, SIGNAL(triggered()), this, SLOT(emitChangeStatus())); loadAccountSettings(); QSettings settings(QSettings::NativeFormat, QSettings::UserScope, "qutim/qutim."+m_profile_name, "icqsettings"); configPath = settings.fileName().section('/', 0, -2); createMenuAccount(); m_restore_xstatus_num = -10; m_restore_status = restoreAccount; }
void lmcMainWindow::init(User* pLocalUser, QList<Group>* pGroupList, bool connected) { setWindowIcon(QIcon(IDR_APPICON)); setWindowFlags(windowFlags() & Qt::FramelessWindowHint); setWindowFlags(windowFlags() & ~Qt::WindowMaximizeButtonHint); setMinimumSize(270, 260); setMaximumSize(300, 760); this->pLocalUser = pLocalUser; createMainMenu(); createToolBar(); createStatusMenu(); createAvatarMenu(); createTrayMenu(); createTrayIcon(); connectionStateChanged(connected); createGroupMenu(); createUserMenu(); ui.lblDividerTop->setBackgroundRole(QPalette::Highlight); ui.lblDividerTop->setAutoFillBackground(true); ui.tvUserList->setIconSize(QSize(16, 16)); ui.tvUserList->header()->setSectionsMovable(false); ui.tvUserList->header()->setStretchLastSection(false); ui.tvUserList->header()->setSectionResizeMode(0, QHeaderView::Stretch); btnStatus->setIconSize(QSize(20, 20)); int index = Helper::statusIndexFromCode(pLocalUser->status); // if status is not recognized, default to available index = qMax(index, 0); btnStatus->setIcon(QIcon(QPixmap(statusPic[index], "PNG"))); statusGroup->actions()[index]->setChecked(true); QFont font = ui.lblUserName->font(); int fontSize = ui.lblUserName->fontInfo().pixelSize(); fontSize += (fontSize * 0.1); font.setPixelSize(fontSize); font.setBold(true); ui.lblUserName->setFont(font); ui.lblStatus->setText(statusGroup->checkedAction()->text()); nAvatar = pLocalUser->avatar; ui.txtNote->setText(pLocalUser->note); pSoundPlayer = new lmcSoundPlayer(); pSettings = new lmcSettings(); restoreGeometry(pSettings->value(IDS_WINDOWMAIN).toByteArray()); // get saved settings settingsChanged(true); setUIText(); initGroups(pGroupList); }
jAccount::jAccount(const QString &account_name, const QString &profile_name, QObject *parent) : QObject(parent), m_jabber_plugin_system(jPluginSystem::instance()) { m_status_icon = m_jabber_plugin_system.getStatusIcon("offline", "jabber"); m_account_name = account_name; m_profile_name = profile_name; QSettings account_settings(QSettings::NativeFormat, QSettings::UserScope, "qutim/qutim."+m_profile_name/*+"/jabber."+m_account_name*/, "jabbericons"); m_path_to_avatars = account_settings.fileName(); m_path_to_avatars.truncate(m_path_to_avatars.length()-4); m_jabber_slotsignal = new jSlotSignal(this); m_jabber_roster = new jRoster(account_name, profile_name, this); m_jabber_protocol = new jProtocol(m_account_name, m_profile_name, m_jabber_roster, this); m_conference_management_object = m_jabber_protocol->getConferenceManagmentObject(); createStatusMenu(); m_status = Presence::Unavailable; connect(m_jabber_roster, SIGNAL(addItemToContactList(const TreeModelItem &, QString)), m_jabber_slotsignal, SLOT(addItemToContactList(const TreeModelItem &, QString))); connect(m_jabber_roster, SIGNAL(removeItemFromContactList(TreeModelItem)), m_jabber_slotsignal, SLOT(removeItemFromContactList(TreeModelItem))); connect(m_jabber_roster, SIGNAL(setContactItemStatus(const TreeModelItem &, QString, int)), m_jabber_slotsignal, SLOT(setContactItemStatus(const TreeModelItem &, QString, int))); connect(m_jabber_roster, SIGNAL(setItemInvisible(const TreeModelItem &, bool)), m_jabber_slotsignal, SLOT(setItemInvisible(const TreeModelItem &, bool))); connect(m_jabber_protocol, SIGNAL(setRealStatus(int)), this, SLOT(setRealStatus(int))); connect(m_jabber_protocol, SIGNAL(setClientCustomIcon(const TreeModelItem &, const QString &, int)), m_jabber_slotsignal, SLOT(setClientCustomIcon(const TreeModelItem &, const QString &, int))); connect(m_jabber_protocol, SIGNAL(setClientCustomText(const TreeModelItem &, const QString &, int)), m_jabber_slotsignal, SLOT(setClientCustomText(const TreeModelItem &, const QString &, int))); connect(m_jabber_protocol, SIGNAL(addMessageFrom(const TreeModelItem &, const QDateTime &, const QString &)), m_jabber_slotsignal, SLOT(addMessageFrom(const TreeModelItem &, const QDateTime &, const QString &))); connect(m_jabber_roster, SIGNAL(addServiceMessage(const TreeModelItem &, const QString &)), m_jabber_slotsignal, SLOT(addServiceMessage(const TreeModelItem &, const QString &))); connect(m_jabber_protocol, SIGNAL(messageDelievered(const TreeModelItem &, int)), m_jabber_slotsignal, SLOT(messageDelievered(const TreeModelItem &, int))); connect(m_jabber_protocol, SIGNAL(sendTypingNotification(const TreeModelItem &, bool)), m_jabber_slotsignal, SLOT(sendTypingNotification(const TreeModelItem &, bool))); connect(m_conference_management_object, SIGNAL(addConferenceItem(const QString &,const QString &,const QString &,const QString &)), m_jabber_slotsignal, SLOT(addConferenceItem(const QString &,const QString &,const QString &,const QString &))); connect(m_conference_management_object, SIGNAL(removeConferenceItem(const QString &,const QString &,const QString &,const QString &)), m_jabber_slotsignal, SLOT(removeConferenceItem(const QString &,const QString &,const QString &,const QString &))); connect(m_conference_management_object, SIGNAL(renameConferenceItem(const QString &,const QString &,const QString &,const QString &,const QString &)), m_jabber_slotsignal, SLOT(renameConferenceItem(const QString &,const QString &,const QString &,const QString &,const QString &))); connect(m_conference_management_object, SIGNAL(setConferenceItemStatus(const QString &,const QString &,const QString &,const QString &,const QString &, int)), m_jabber_slotsignal, SLOT(setConferenceItemStatus(const QString &,const QString &,const QString &,const QString &,const QString &, int))); connect(m_conference_management_object, SIGNAL(setConferenceItemRole(const QString &,const QString &,const QString &,const QString &,const QString &, int)), m_jabber_slotsignal, SLOT(setConferenceItemRole(const QString &,const QString &,const QString &,const QString &,const QString &, int))); connect(m_conference_management_object, SIGNAL(setConferenceItemIcon(const QString &,const QString &,const QString &,const QString &,const QString &, int)), m_jabber_slotsignal, SLOT(setConferenceItemIcon(const QString &,const QString &,const QString &,const QString &,const QString &, int))); connect(m_conference_management_object, SIGNAL(addMessageToConference(const QString &, const QString &,const QString &, const QString &, const QDateTime &, bool)), m_jabber_slotsignal, SLOT(addMessageToConference(const QString &, const QString &,const QString &, const QString &, const QDateTime &, bool))); connect(m_conference_management_object, SIGNAL(changeOwnConferenceNickName(const QString &,const QString &, const QString &, const QString &)), m_jabber_slotsignal, SLOT(changeOwnConferenceNickName(const QString &,const QString &, const QString &, const QString &))); connect(m_conference_management_object, SIGNAL(createConference(const QString &, const QString &, const QString &)), m_jabber_slotsignal, SLOT(createConference(const QString &, const QString &, const QString &))); connect(m_jabber_roster, SIGNAL(clientVersion(const TreeModelItem &, const QString &)), m_jabber_slotsignal, SLOT(clientVersion(const TreeModelItem &, const QString &))); connect(m_jabber_protocol, SIGNAL(conferenceClientVersion(const QString &,const QString &,const QString &,const QString &, const QString &)), m_jabber_slotsignal, SLOT(conferenceClientVersion(const QString &,const QString &,const QString &,const QString &, const QString &))); connect(m_conference_management_object, SIGNAL(conferenceClientVersion(const QString &,const QString &,const QString &,const QString &, const QString &)), m_jabber_slotsignal, SLOT(conferenceClientVersion(const QString &,const QString &,const QString &,const QString &, const QString &))); connect(m_jabber_protocol, SIGNAL(systemNotification(const QString &, const QString &)), m_jabber_slotsignal, SLOT(systemNotification(const QString &, const QString &))); connect(m_jabber_protocol, SIGNAL(onFetchVCard(const QString&, const VCard*, const QString&)), m_jabber_slotsignal, SLOT(s_onFetchVCard(const QString&, const VCard*, const QString&))); //connect(m_jabber_protocol, SIGNAL(receiveSDisco(const JID&, const Disco::Items&, QString&)), m_jabber_slotsignal, SLOT(s_receiveSDisco(const JID&, const Disco::Items&, QString&))); //connect(m_jabber_protocol, SIGNAL(receiveSDiscoInfo(const JID&, const Disco::Info&, QString&)), m_jabber_slotsignal, SLOT(s_receiveSDiscoInfo(const JID&, const Disco::Info&, QString&))); connect(m_jabber_roster, SIGNAL(setItemIcon(const TreeModelItem &, const QString &, int)), m_jabber_slotsignal, SLOT(setClientCustomIcon(const TreeModelItem &, const QString &, int))); connect(m_jabber_roster, SIGNAL(setItemCustomText(const TreeModelItem &, const QString &, int)), m_jabber_slotsignal, SLOT(setClientCustomText(const TreeModelItem &, const QString &, int))); connect(m_conference_management_object, SIGNAL(setConferenceTopic(const QString &, const QString &, const QString &, const QString &)), m_jabber_slotsignal, SLOT(setConferenceTopic(const QString &, const QString &, const QString &, const QString &))); connect(m_conference_management_object, SIGNAL(addSystemMessageToConference(const QString &, const QString &, const QString &, const QString &, const QDateTime &, bool)), m_jabber_slotsignal, SLOT(addSystemMessageToConference(const QString &, const QString &, const QString &, const QString &, const QDateTime &, bool))); connect(m_jabber_protocol, SIGNAL(createAcceptAuthDialog(const QString &, const JID &, Client *)), m_jabber_slotsignal, SLOT(createAcceptAuthDialog(const QString &, const JID &, Client *))); connect(m_jabber_roster, SIGNAL(s_customNotification(const TreeModelItem &, const QString &)), m_jabber_slotsignal, SLOT(customNotification(const TreeModelItem &, const QString &))); connect(m_jabber_roster, SIGNAL(moveItemInContactList(TreeModelItem, TreeModelItem)), m_jabber_slotsignal, SLOT(moveItemInContactList(TreeModelItem, TreeModelItem))); connect(m_jabber_roster, SIGNAL(setContactItemName(TreeModelItem, QString)), m_jabber_slotsignal, SLOT(setContactItemName(TreeModelItem, QString))); connect(m_jabber_protocol, SIGNAL(bookmarksHandled(const BookmarkList &, const ConferenceList &)), m_jabber_slotsignal, SLOT(bookmarksHandled(const BookmarkList &, const ConferenceList &))); connect(m_jabber_protocol, SIGNAL(tagHandled(const QString &, bool)), m_jabber_slotsignal, SLOT(tagHandled(const QString &, bool))); connect(m_jabber_protocol, SIGNAL(conferenceInvite(const JID&, const JID&, const QString&, const QString&)), m_conference_management_object, SLOT(s_conferenceInvite(const JID&, const JID&, const QString&, const QString&))); // connect(m_jabber_roster, SIGNAL(), m_jabber_slotsignal, SLOT()); m_jabber_roster->constr(); m_jabber_roster->loadSettings(); m_jabber_roster->loadRosterFromSettings(); }
void QtSystray::setTrayMenu() { _trayMenu->clear(); //openAction #if defined(OS_MACOSX) // On Mac OS X, clicking the Dock icon should show the application thus the // 'Open WengoPhone' entry is not necessary. We get the Dock Icon click event // from our QtMacApplication class. QtMacApplication * qMacApp = dynamic_cast<QtMacApplication *>(QApplication::instance()); SAFE_CONNECT_RECEIVER(qMacApp, SIGNAL(applicationMustShow()), _qtWengoPhone->getWidget(), SLOT(show())); #endif _startNew = new QMenu(tr("Start New")); _newCall = new QAction(tr("Call"), _startNew); _newConference = new QAction(tr("Conference Call"), _startNew); //_newInstantMessage = new QMenu(tr("Instant Message")); _newInstantMessage = new QAction(tr("Instant Message"), _startNew); _newGroupChat = new QAction(tr("Group Chat"), _startNew); _newTextMessage = new QAction(tr("Text Message"), _startNew); _newGroupTextMessage = new QAction(tr("Group Text Message"), _startNew); _newEmail = new QAction(tr("Email"), _startNew); _newGroupEmail = new QAction(tr("Group Email"), _startNew); _newSendFile = new QAction(tr("Send File"), _startNew); _newSendFax = new QAction(tr("Send Fax"), _startNew); SAFE_CONNECT_RECEIVER(_newCall, SIGNAL(triggered()), _qtToolBar, SLOT(showKeyTab())); SAFE_CONNECT_RECEIVER(_newConference, SIGNAL(triggered()), _qtToolBar, SLOT(createConferenceCall())); /*_newInstantMessage->clear(); SAFE_CONNECT(_newInstantMessage, SIGNAL(triggered(QAction *)), SLOT(startChat(QAction *))); QtContactMenu::populateChatMenu(_newInstantMessage, _qtWengoPhone->getCWengoPhone());*/ _newInstantMessage->setDisabled(true); _newGroupChat->setDisabled(true); _newTextMessage->setDisabled(true); _newGroupTextMessage->setDisabled(true); _newEmail->setDisabled(true); _newGroupEmail->setDisabled(true); _newSendFile->setDisabled(true); _newSendFax->setDisabled(true); _startNew->addAction(_newCall); _startNew->addAction(_newConference); _startNew->addAction(_newInstantMessage); //_startNew->addMenu(_newInstantMessage); _startNew->addAction(_newGroupChat); _startNew->addAction(_newTextMessage); _startNew->addAction(_newGroupTextMessage); _startNew->addAction(_newEmail); _startNew->addAction(_newGroupEmail); _startNew->addAction(_newSendFile); _startNew->addAction(_newSendFax); _recentContacts = new QMenu(tr("Recent Contacts")); _viewConversations = new QAction(tr("View Conversations"), _trayMenu); _showContactList = new QAction(tr("Show Contact List"), _trayMenu); _settings = new QAction(tr("Settings"), _trayMenu); _signOut = new QAction(tr("Sign Out"), _trayMenu); _quit = new QAction(tr("Quit @product@"), _trayMenu); _recentContacts->setDisabled(true); SAFE_CONNECT_RECEIVER(_viewConversations, SIGNAL(triggered()), _qtToolBar, SLOT(showHistory())); SAFE_CONNECT_RECEIVER(_showContactList, SIGNAL(triggered()), _qtToolBar, SLOT(showContactsTab())); SAFE_CONNECT_RECEIVER(_settings, SIGNAL(triggered()), _qtToolBar, SLOT(showConfig())); // SAFE_CONNECT_RECEIVER(_signOut, SIGNAL(triggered()), _qtToolBar, SLOT(logOff())); // SAFE_CONNECT_RECEIVER(_quit, SIGNAL(triggered()), _qtWengoPhone, SLOT(prepareToExitApplication())); SAFE_CONNECT_RECEIVER(_signOut, SIGNAL(triggered()), _qtWengoPhone, SLOT(logOff())); //VOXOX - JRT - 2009.07.13 SAFE_CONNECT_RECEIVER(_quit, SIGNAL(triggered()), _qtWengoPhone, SLOT(exitApplication())); //VOXOX - JRT - 2009.07.13 if(!_qtToolBar->getUserIsLogged()){ _startNew->setDisabled(true); _viewConversations->setDisabled(true); _showContactList->setDisabled(true); _settings->setDisabled(true); _signOut->setDisabled(true); } _trayMenu->addMenu(_startNew); _trayMenu->addMenu(_recentContacts); _trayMenu->addAction(_viewConversations); _trayMenu->addAction(_showContactList); if ( getCUserProfile() ) { _trayMenu->addMenu(createStatusMenu()); } _trayMenu->addAction(_settings); _trayMenu->addAction(_signOut); _trayMenu->addAction(_quit); _trayIcon->setPopup(_trayMenu); }