Changeset 6322 for trunk/qt4-gui/src

Show
Ignore:
Timestamp:
06/17/08 03:18:28 (6 months ago)
Author:
flynd
Message:

Store group id with each item in the group combo box so we know which id to use when changing. This caused combo box to set wrong group and message field to show wrong group.

Location:
trunk/qt4-gui/src/core
Files:
2 modified

Legend:

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

    r6320 r6322  
    738738} 
    739739 
    740 void MainWindow::setCurrentGroup(int groupId) 
    741 { 
     740void MainWindow::setCurrentGroup(int index) 
     741{ 
     742  unsigned short groupId = myUserGroupsBox->itemData(index).toUInt(); 
    742743  GroupType groupType = GROUPS_USER; 
    743   unsigned short nNumGroups = gUserManager.NumGroups(); 
    744  
    745   if (groupId > nNumGroups) 
    746   { 
    747     groupId -= nNumGroups; 
     744  if (groupId >= ContactListModel::SystemGroupOffset) 
     745  { 
    748746    groupType = GROUPS_SYSTEM; 
     747    groupId -= ContactListModel::SystemGroupOffset; 
    749748  } 
    750749 
    751750  Config::ContactList::instance()->setGroup(groupType, groupId); 
    752   updateCurrentGroup(); 
    753751} 
    754752 
     
    758756  int group = Config::ContactList::instance()->groupId(); 
    759757 
    760   unsigned short nNumGroups = gUserManager.NumGroups(); 
    761  
    762758  if (groupType == GROUPS_SYSTEM) 
    763     group += nNumGroups; 
     759    group += ContactListModel::SystemGroupOffset; 
    764760 
    765761  // Update the combo box 
    766   myUserGroupsBox->setCurrentIndex(group); 
     762  int index = myUserGroupsBox->findData(group); 
     763  if (index == -1) 
     764    return; 
     765  myUserGroupsBox->setCurrentIndex(index); 
    767766 
    768767  // Update the msg label if necessary 
     
    783782  // update the combo box 
    784783  myUserGroupsBox->clear(); 
    785   myUserGroupsBox->addItem(LicqStrings::getSystemGroupName(GROUP_ALL_USERS)); 
     784  myUserGroupsBox->addItem(LicqStrings::getSystemGroupName(GROUP_ALL_USERS), 
     785      ContactListModel::SystemGroupOffset); 
    786786 
    787787  FOR_EACH_GROUP_START_SORTED(LOCK_R) 
    788788  { 
    789     myUserGroupsBox->addItem(QString::fromLocal8Bit(pGroup->name().c_str())); 
     789    myUserGroupsBox->addItem(QString::fromLocal8Bit(pGroup->name().c_str()), pGroup->id()); 
    790790  } 
    791791  FOR_EACH_GROUP_END 
    792792 
    793793  for (unsigned short i = 1; i < NUM_GROUPS_SYSTEM_ALL; i++) 
    794     myUserGroupsBox->addItem(LicqStrings::getSystemGroupName(i)); 
     794    myUserGroupsBox->addItem(LicqStrings::getSystemGroupName(i), 
     795        ContactListModel::SystemGroupOffset + i); 
    795796 
    796797  updateCurrentGroup(); 
  • trunk/qt4-gui/src/core/mainwin.h

    r6222 r6322  
    136136  void updateEvents(); 
    137137  void updateStatus(CICQSignal* = NULL); 
    138   void setCurrentGroup(int); 
     138 
     139  /** 
     140   * Groups combo box was changed to show a new group 
     141   * 
     142   * @param index Combo box index of selected item 
     143   */ 
     144  void setCurrentGroup(int index); 
     145 
    139146  //TODO 
    140147  //void callUserFunction(QString id, unsigned long ppid);