Esempio n. 1
0
void RestoreUnreadMessageAlerts(void)
{
	DBEVENTINFO dbei = { sizeof(dbei) };

	for (HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact))
		for (HANDLE hDbEvent = db_event_firstUnread(hContact); hDbEvent; hDbEvent = db_event_next(hDbEvent)) {
			dbei.cbBlob = 0;
			if (db_event_get(hDbEvent, &dbei) == 0)
			if ((dbei.flags & (DBEF_SENT|DBEF_READ))==0 && ((dbei.eventType==ICQEVENTTYPE_SMS) || (dbei.eventType==ICQEVENTTYPE_SMSCONFIRMATION)))
			if (dbei.cbBlob>MIN_SMS_DBEVENT_LEN)
				handleNewMessage((WPARAM)hContact,(LPARAM)hDbEvent);
		}

	for (HANDLE hDbEvent = db_event_firstUnread(NULL); hDbEvent; hDbEvent = db_event_next(hDbEvent)) {
		dbei.cbBlob = 0;
		if (db_event_get(hDbEvent, &dbei) == 0)
		if ((dbei.flags & (DBEF_SENT|DBEF_READ))==0 && ((dbei.eventType==ICQEVENTTYPE_SMS) || (dbei.eventType==ICQEVENTTYPE_SMSCONFIRMATION)))
		if (dbei.cbBlob > MIN_SMS_DBEVENT_LEN)
			handleNewMessage(NULL, (LPARAM)hDbEvent);
	}
}
void QwcPrivateMessager::setSocket(QwcSocket *socket)
{
    if (m_socket) { disconnect(m_socket, 0, this, 0); }
    m_socket = socket;
    if (!socket) { return; }

    // Install new delegate
    if (fMessageList->itemDelegate()) { delete fMessageList->itemDelegate(); }
    QwcUserlistDelegate *listDelegate = new QwcUserlistDelegate;
    listDelegate->setSocket(m_socket);
    fMessageList->setItemDelegate(listDelegate);

    connect(m_socket, SIGNAL(userChanged(QwcUserInfo, QwcUserInfo)),
            this, SLOT(handleUserChanged(QwcUserInfo, QwcUserInfo)) );
    connect(m_socket, SIGNAL(userLeftRoom(int, QwcUserInfo)),
            this, SLOT(handleUserLeft(int, QwcUserInfo)));
    connect(m_socket, SIGNAL(privateMessage(QwcUserInfo,QString)),
            this, SLOT(handleNewMessage(QwcUserInfo,QString)));

    m_socket = socket;
}