Index: mainwin.cpp
===================================================================
RCS file: /cvsroot/licq/qt-gui/src/mainwin.cpp,v
retrieving revision 1.350
diff -u -1 -b -p -r1.350 mainwin.cpp
--- mainwin.cpp	19 Mar 2005 22:06:28 -0000	1.350
+++ mainwin.cpp	23 Mar 2005 11:08:25 -0000
@@ -3171,4 +3171,6 @@ void CMainWindow::FillUserGroup()
 {
+  bool enabled;
+
   ICQUser *u = gUserManager.FetchUser(m_szUserMenuId, m_nUserMenuPPID, LOCK_R);
-  if(u == NULL) return;
+  if (u == NULL) return;
 
@@ -3180,2 +3182,7 @@ void CMainWindow::FillUserGroup()
 
+  // MSN: disable actions that are not implemented (or not relevant)
+  enabled = (m_nUserMenuPPID != MSN_PPID);
+  mnuGroup->setItemEnabled(1000+GROUP_VISIBLE_LIST, enabled);
+  mnuGroup->setItemEnabled(1000+GROUP_INVISIBLE_LIST, enabled);
+
   GroupList *g = gUserManager.LockGroupList(LOCK_R);
@@ -4413,2 +4420,5 @@ void CMainWindow::slot_usermenu()
 {
+  int id;
+  bool enabled;
+
   //ICQUser *u = gUserManager.FetchUser(userView->SelectedItemUin(), LOCK_R);
@@ -4471,2 +4481,26 @@ void CMainWindow::slot_usermenu()
 
+  // MSN: disable actions that are not implemented (or not relevant)
+  enabled = (m_nUserMenuPPID != MSN_PPID);
+  // misc modes
+  for ( id = 4; id <= 13; id++ )
+    mnuMiscModes->setItemEnabled(mnuMiscModes->idAt(id), enabled);
+  // send modes
+  mnuSend->setItemEnabled(mnuUserSendUrl, enabled);
+  mnuSend->setItemEnabled(mnuUserSendChat, enabled);
+  mnuSend->setItemEnabled(mnuUserSendFile, enabled);
+  mnuSend->setItemEnabled(mnuUserSendContact, enabled);
+  mnuSend->setItemEnabled(mnuUserAuthorize, enabled);
+  mnuSend->setItemEnabled(mnuUserAuthorizeRequest, enabled);
+  mnuSend->setItemEnabled(mnuUserSendSms, enabled);
+  mnuSend->setItemEnabled(mnuUserSendKey, enabled);
+  mnuSend->setItemEnabled(mnuUserSendInfoPluginListRequest, enabled);
+  mnuSend->setItemEnabled(mnuUserSendStatusPluginListRequest, enabled);
+  mnuSend->setItemEnabled(mnuUserSendPhoneFollowMeRequest, enabled);
+  mnuSend->setItemEnabled(mnuUserSendICQphoneRequest, enabled);
+  mnuSend->setItemEnabled(mnuUserSendFileServerRequest, enabled);
+  // other
+  mnuUser->setItemEnabled(mnuUserCheckIfInvisible, enabled);
+  mnuUser->setItemEnabled(mnuUserCheckResponse, enabled);
+  mnuUser->setItemEnabled(mnuUserCustomAutoResponse, enabled);
+
   gUserManager.DropUser(u);
