Show
Ignore:
Timestamp:
06/17/08 02:19:46 (6 months ago)
Author:
flynd
Message:

Use new group handling when pressing delete key to remove a user from a group.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/qt4-gui/src/core/licqgui.cpp

    r6318 r6319  
    736736    return true; 
    737737  } 
    738   return false; 
    739 } 
    740  
    741 bool LicqGui::removeUserFromGroup(GroupType gtype, unsigned long group, 
    742     QString id, unsigned long ppid, QWidget* parent) 
    743 { 
    744   if (parent == NULL) 
    745     parent = myMainWindow; 
    746  
    747   if (gtype == GROUPS_USER) 
    748   { 
    749     if (group == 0) 
    750       return true; 
    751     else 
    752     { 
    753       ICQUser* u = gUserManager.FetchUser(id.toLatin1(), ppid, LOCK_R); 
    754       if (u == NULL) 
    755         return true; 
    756       LicqGroup* g = gUserManager.FetchGroup(group, LOCK_R); 
    757       if (g == NULL) 
    758       { 
    759         gUserManager.DropUser(u); 
    760         return true; 
    761       } 
    762       QString warning(tr("Are you sure you want to remove\n%1 (%2)\nfrom the '%3' group?") 
    763           .arg(QString::fromUtf8(u->GetAlias())) 
    764           .arg(u->IdString()).arg(QString::fromLocal8Bit(g->name().c_str()))); 
    765       gUserManager.DropGroup(g); 
    766       gUserManager.DropUser(u); 
    767       if (QueryYesNo(parent, warning)) 
    768       { 
    769         gUserManager.RemoveUserFromGroup(id.toLatin1(), ppid, group); 
    770         return true; 
    771       } 
    772     } 
    773   } 
    774   else if (gtype == GROUPS_SYSTEM) 
    775   { 
    776     if (group == 0) 
    777       return removeUserFromList(id, ppid, parent); 
    778     ICQUser* u = gUserManager.FetchUser(id.toLatin1(), ppid, LOCK_W); 
    779     if (u == NULL) 
    780       return true; 
    781     u->RemoveFromGroup(GROUPS_SYSTEM, group); 
    782     gUserManager.DropUser(u); 
    783  
    784     // The daemon does not send an update when group membership changes 
    785     // so tell the contactList it needs to update 
    786     myContactList->updateUser(id, ppid); 
    787     return true; 
    788   } 
    789  
    790738  return false; 
    791739}