Changeset 6482 for trunk/qt4-gui/src
- Timestamp:
- 08/10/08 18:22:00 (4 months ago)
- Location:
- trunk/qt4-gui/src
- Files:
-
- 5 modified
-
config/contactlist.cpp (modified) (3 diffs)
-
config/contactlist.h (modified) (3 diffs)
-
settings/contactlist.cpp (modified) (4 diffs)
-
settings/contactlist.h (modified) (1 diff)
-
views/userviewbase.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/qt4-gui/src/config/contactlist.cpp
r6345 r6482 64 64 iniFile.ReadBool("ScrollBar", myAllowScrollBar, true); 65 65 iniFile.ReadBool("SystemBackground", myUseSystemBackground, false); 66 iniFile.ReadBool("DragMovesUser", myDragMovesUser, false); 66 67 67 68 unsigned short flash; … … 138 139 iniFile.WriteBool("ScrollBar", myAllowScrollBar); 139 140 iniFile.WriteBool("SystemBackground", myUseSystemBackground); 141 iniFile.WriteBool("DragMovesUser", myDragMovesUser); 140 142 iniFile.WriteNum("StartUpGroupId", myGroupId); 141 143 iniFile.WriteNum("StartUpGroupType", static_cast<unsigned short>(myGroupType)); … … 323 325 } 324 326 327 void Config::ContactList::setDragMovesUser(bool dragMovesUser) 328 { 329 if (dragMovesUser == myDragMovesUser) 330 return; 331 332 myDragMovesUser = dragMovesUser; 333 } 334 325 335 void Config::ContactList::setShowDividers(bool showDividers) 326 336 { -
trunk/qt4-gui/src/config/contactlist.h
r6193 r6482 110 110 bool allowScrollBar() const { return myAllowScrollBar; } 111 111 bool useSystemBackground() const { return myUseSystemBackground; } 112 bool dragMovesUser() const { return myDragMovesUser; } 112 113 113 114 bool popupPicture() const { return myPopupPicture; } … … 160 161 void setAllowScrollBar(bool allowScrollBar); 161 162 void setUseSystemBackground(bool useSystemBackground); 163 void setDragMovesUser(bool dragMovesUser); 162 164 163 165 void setPopupPicture(bool popupPicture); … … 240 242 bool myAllowScrollBar; 241 243 bool myUseSystemBackground; 244 245 // Contact list behaviour 246 bool myDragMovesUser; 242 247 243 248 // Contact list sorting -
trunk/qt4-gui/src/settings/contactlist.cpp
r6193 r6482 161 161 myBehaviourLayout->addWidget(myMainWinStickyCheck, 0, 1); 162 162 163 myDragMovesUserCheck = new QCheckBox(tr("Move users when dragging to groups")); 164 myDragMovesUserCheck->setToolTip(tr("If checked a user will be moved when dragged to another group.\n" 165 "If not checked user will only be added to the new group.")); 166 myBehaviourLayout->addWidget(myDragMovesUserCheck, 1, 1); 167 163 168 QHBoxLayout* mySortByLayout = new QHBoxLayout(); 164 169 mySortByLabel = new QLabel(tr("Additional sorting:")); … … 176 181 mySortByLabel->setBuddy(mySortByCombo); 177 182 mySortByLayout->addWidget(mySortByCombo); 178 myBehaviourLayout->addLayout(mySortByLayout, 1, 1);183 myBehaviourLayout->addLayout(mySortByLayout, 2, 1); 179 184 180 185 … … 347 352 myScrollBarCheck->setChecked(contactListConfig->allowScrollBar()); 348 353 mySysBackCheck->setChecked(contactListConfig->useSystemBackground()); 354 myDragMovesUserCheck->setChecked(contactListConfig->dragMovesUser()); 349 355 350 356 int numColumns = contactListConfig->columnCount(); … … 419 425 contactListConfig->setAllowScrollBar(myScrollBarCheck->isChecked()); 420 426 contactListConfig->setUseSystemBackground(mySysBackCheck->isChecked()); 427 contactListConfig->setDragMovesUser(myDragMovesUserCheck->isChecked()); 421 428 422 429 for (unsigned short i = 0; i < MAX_COLUMNCOUNT; ++i) -
trunk/qt4-gui/src/settings/contactlist.h
r6193 r6482 106 106 QCheckBox* myMainWinStickyCheck; 107 107 QCheckBox* myTransparentCheck; 108 QCheckBox* myDragMovesUserCheck; 108 109 109 110 // Widgets for contact list column settings -
trunk/qt4-gui/src/views/userviewbase.cpp
r6346 r6482 284 284 285 285 if (!dropId.isEmpty()) 286 gUserManager.SetUserInGroup(dropId.toLatin1(), dropPpid, GROUPS_USER, gid, true); 286 { 287 bool moveUser = Config::ContactList::instance()->dragMovesUser(); 288 gUserManager.SetUserInGroup(dropId.toLatin1(), dropPpid, GROUPS_USER, gid, true, moveUser); 289 290 // If we are moving user we now need to remove it from the old group. 291 // However, since the drop event doesn't contain the originating 292 // group, we don't know which group that is so we'll just have to 293 // remove the user from all other groups. 294 if (moveUser) 295 { 296 const ICQUser* u = gUserManager.FetchUser(dropId.toLatin1(), dropPpid, LOCK_R); 297 if (u != NULL) 298 { 299 UserGroupList userGroups = u->GetGroups(); 300 gUserManager.DropUser(u); 301 302 UserGroupList::const_iterator i; 303 for (i = userGroups.begin(); i != userGroups.end(); ++i) 304 if (*i != gid) 305 gUserManager.SetUserInGroup(dropId.toLatin1(), dropPpid, GROUPS_USER, *i, false, false); 306 } 307 } 308 } 287 309 } 288 310 else
