示例#1
0
void Manager::deleteAccount(User* user)
{
	while (!user->getRecycling()->empty())
	{
		deleteMail(user->getRecycling(), user->getRecycling()->operator[](0));
	}
	while (!user->getOutbox()->empty())
	{
		deleteMail(user->getOutbox(), user->getOutbox()->operator[](0));
	}
	while (!user->getInbox()->empty())
	{
		deleteMail(user->getInbox(), user->getInbox()->operator[](0));
	}
	userList.destroy(user->getId());
}
示例#2
0
MainInfo::MainInfo(QWidget *parent, Contact *contact)
    : MainInfoBase(parent)
{
    m_contact = contact;
    m_bInit   = false;
    cmbDisplay->setEditable(true);
    lstMails->addColumn(i18n("EMail"));
    lstPhones->addColumn(i18n("Type"));
    lstPhones->addColumn(i18n("Phone"));
    lstMails->setMenu(MenuMailList);
    lstPhones->setMenu(MenuPhoneList);
    if (m_contact == NULL) {
        lstMails->addColumn(i18n("Publish"));
        lstPhones->addColumn(i18n("Publish"));
        lblCurrent->setText(i18n("I'm currently available at:"));
        cmbStatus->insertItem(i18n("Don't show"));
        cmbStatus->insertItem(Pict("phone"), i18n("Available"));
        cmbStatus->insertItem(Pict("nophone"), i18n("Busy"));
        cmbStatus->setCurrentItem(getContacts()->owner()->getPhoneStatus());
    } else {
        lblCurrent->setText(i18n("User is crrently available at:"));
        disableWidget(cmbCurrent);
        lblStatus->hide();
        cmbStatus->hide();
    }
    bool bHide = true;
    for (unsigned i = 0; i < getContacts()->nClients(); i++) {
        if (getContacts()->getClient(i)->protocol()->description()->flags & PROTOCOL_FOLLOWME) {
            bHide = false;
            break;
        }
    }
    if (bHide) {
        lblCurrent->hide();
        cmbCurrent->hide();
        lblStatus->hide();
        cmbStatus->hide();
    }
    lstMails->setExpandingColumn(0);
    lstPhones->setExpandingColumn(PHONE_NUMBER);
    if (m_contact == NULL)
        tabMain->removePage(tabNotes);
    fill();
    connect(lstMails, SIGNAL(selectionChanged()), this, SLOT(mailSelectionChanged()));
    connect(lstPhones, SIGNAL(selectionChanged()), this, SLOT(phoneSelectionChanged()));
    connect(lstMails, SIGNAL(deleteItem(QListViewItem*)), this, SLOT(deleteMail(QListViewItem*)));
    connect(lstPhones, SIGNAL(deleteItem(QListViewItem*)), this, SLOT(deletePhone(QListViewItem*)));
    connect(btnMailAdd, SIGNAL(clicked()), this, SLOT(addMail()));
    connect(btnMailEdit, SIGNAL(clicked()), this, SLOT(editMail()));
    connect(btnMailDelete, SIGNAL(clicked()), this, SLOT(deleteMail()));
    connect(btnPhoneAdd, SIGNAL(clicked()), this, SLOT(addPhone()));
    connect(btnPhoneEdit, SIGNAL(clicked()), this, SLOT(editPhone()));
    connect(btnPhoneDelete, SIGNAL(clicked()), this, SLOT(deletePhone()));
}
示例#3
0
void MainInfo::deleteMail()
{
    deleteMail(lstMails->currentItem());
}
示例#4
0
void *MainInfo::processEvent(Event *e)
{
    if (e->type() == EventContactChanged){
        Contact *contact = (Contact*)(e->param());
        if (contact == m_contact)
            fill();
    }
    if (e->type() == EventCheckState){
        CommandDef *cmd = (CommandDef*)(e->param());
        if (cmd->menu_id == MenuMailList){
            if ((cmd->id != CmdEditList) && (cmd->id != CmdRemoveList))
                return NULL;
            QListViewItem *item = (QListViewItem*)(cmd->param);
            if (item->listView() != lstMails)
                return NULL;
            cmd->flags &= ~(COMMAND_CHECKED | COMMAND_DISABLED);
            bool bEnable = ((item != NULL) && (item->text(MAIL_PROTO).isEmpty() || (item->text(MAIL_PROTO) == "-")));
            if (!bEnable)
                cmd->flags |= COMMAND_DISABLED;
            return e->param();
        }
        if (cmd->menu_id == MenuPhoneList){
            if ((cmd->id != CmdEditList) && (cmd->id != CmdRemoveList))
                return NULL;
            QListViewItem *item = (QListViewItem*)(cmd->param);
            if (item->listView() != lstPhones)
                return NULL;
            cmd->flags &= ~(COMMAND_CHECKED | COMMAND_DISABLED);
            bool bEnable = ((item != NULL) && (item->text(PHONE_PROTO).isEmpty() || (item->text(PHONE_PROTO) == "-")));
            if (!bEnable)
                cmd->flags |= COMMAND_DISABLED;
            return e->param();
        }
    }
    if (e->type() == EventCommandExec){
        CommandDef *cmd = (CommandDef*)(e->param());
        if (cmd->menu_id == MenuMailList){
            QListViewItem *item = (QListViewItem*)(cmd->param);
            if (item->listView() != lstMails)
                return NULL;
            bool bEnable = ((item != NULL) && (item->text(MAIL_PROTO).isEmpty() || (item->text(MAIL_PROTO) == "-")));
            if (!bEnable)
                return NULL;
            if (cmd->id == CmdEditList){
                editMail(item);
                return e->param();
            }
            if (cmd->id == CmdRemoveList){
                deleteMail(item);
                return e->param();
            }
        }
        if (cmd->menu_id == MenuPhoneList){
            QListViewItem *item = (QListViewItem*)(cmd->param);
            if (item->listView() != lstPhones)
                return NULL;
            bool bEnable = ((item != NULL) && (item->text(PHONE_PROTO).isEmpty() || (item->text(PHONE_PROTO) == "-")));
            if (!bEnable)
                return NULL;
            if (cmd->id == CmdEditList){
                editPhone(item);
                return e->param();
            }
            if (cmd->id == CmdRemoveList){
                deletePhone(item);
                return e->param();
            }
        }
    }
    return NULL;
}