Example #1
0
void MessageWind::on_action_Move_to_dark_triggered() //移动到黑名单
{
    QTreeWidgetItem *item=ui->contactsTreeWidget->currentItem();

    Contact temp=texttocontact(item->whatsThis(0));
    QList<Contact> *contactlist;
    int position;
    indexofcontact(temp.number,&contactlist,&position);
    if(contactlist==&strangers)  //若原来为陌生人,则将此人从陌生人集合中移动到黑名单集合
    {
        temp.onLine=(*contactlist)[position].onLine;
        temp.isWhite=false;
        allContacts.append(temp);
        contactlist->removeAt(position);

    }
    else
        (*contactlist)[position].isWhite=false;
    ui->contactsTreeWidget->removeItemWidget(item,0);
    QTreeWidgetItem *item2=new QTreeWidgetItem(*item);
    ui->contactsTreeWidget->topLevelItem(2)->addChild(item2);
    for(int i=0;i<childBlinkItems.count();i++) //若有存在的闪烁,则更新闪烁
    {
        if(childBlinkItems[i]->getitem()==item)
        {
            childBlinkItems[i]->setitem(item2);
            newblinkparent(item2->parent());
            i--;
        }
    }
    Chat *chat;
    if(chatdialogexist(temp,&chat))
    {
        chat->setdark();
    }
    delete item;
}