int Buddies::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: countOnlineUsers(); break; case 1: setUserStatus(); break; case 2: loginUser(); break; case 3: loginCurrentStatus(); break; case 4: validateUser(); break; case 5: stopifNotConnected(); break; case 6: myexit(); break; case 7: focusTabEdit(); break; case 8: structUser(); break; case 9: startChat(); break; case 10: helpAbout(); break; case 11: getSysInfo(); break; case 12: onlineNotify(); break; case 13: WriteOnWall(); break; case 14: Information(); break; case 15: dbstatus(); break; case 16: openNotes(); break; case 17: setIcon((*reinterpret_cast< int(*)>(_a[1]))); break; case 18: iconActivated((*reinterpret_cast< QSystemTrayIcon::ActivationReason(*)>(_a[1]))); break; case 19: messageClicked(); break; case 20: showMessage(); break; } _id -= 21; } return _id; }
inline bool addAndNotify(EVENT *ev, PRES *pres, const char *c) { if (!pres->notifySet.add(c)) return false; onlineNotify(ev, pres, c); return true; }
Buddies::Buddies(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); getSysInfo(); createIconGroupBox(); createActions(); createTrayIcon(); countOnlineUsers(); QTimer * counter = new QTimer( this ); connect( counter, SIGNAL(timeout()), this, SLOT(structUser()) ); counter->start( 3000 ); qDebug("=> Starting timer 1sec interval..."); //connect(ui.sendBtn, SIGNAL(clicked()), this, SLOT(showMessage())); // connect(ui.showIconCheckBox, SIGNAL(toggled(bool)), trayIcon, SLOT(setVisible(bool))); connect(ui.iconComboBox, SIGNAL(currentIndexChanged(int)),this, SLOT(setIcon(int))); connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(messageClicked())); connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); ui.iconComboBox->setCurrentIndex(1); trayIcon->show(); setWindowTitle(tr("Buddies")); //resize(400, 300); ui.listWidget->setIconSize(QSize(40, 40)); //showMessage(); //-- timer 5 min for online Users Baloon QTimer * onlinetimer = new QTimer( this ); connect( onlinetimer, SIGNAL(timeout()), this, SLOT(onlineNotify()) ); onlinetimer->start( 300000 ); qDebug("=> Starting timer 5min interval..."); //-- Information on Edit Tab Information(); //-- Database status dbstatus(); }
static bool onProbeStatus(EVENT *ev, PRES *pres) { if (!ev->s) return false; if (!pres->notifySet.contains(ev->packet->from)) { ICQ_LOG("%s query %s's status, but is not qualified\n", ev->packet->from, ev->packet->to); return true; } if (pres->status == STATUS_INVIS) { ICQ_LOG("%s query %s's status, but i am invisible now!\n", ev->packet->from, ev->packet->to); return true; } onlineNotify(ev, pres, ev->packet->from); return true; }
static bool onChangeStatus(EVENT *ev, PRES *pres) { InPacket in(ev->packet->data, ev->packet->dataLen); uint32 status; in >> status; if (status == STATUS_OFFLINE || pres->status == status) return true; uint32 oldStatus = pres->status; pres->status = status; if (oldStatus == STATUS_INVIS) onlineNotify(ev, pres); else if (status == STATUS_INVIS) offlineNotify(ev, pres); else statusNotify(ev, pres); return true; }