/// <summary>
 ///		Cambia los estados de los menús
 /// </summary>
 private void ShowMenuStatus(JabberContactStatus.Availability intStatus)
 {
     // Deselecciona los menús
         mnuAway.Checked = false;
         mnuChat.Checked = false;
         mnuDnd.Checked = false;
         mnuOnline.Checked = false;
         mnuXa.Checked = false;
     // Selecciona el menú adecuado
         switch (intStatus)
             {	case JabberContactStatus.Availability.Away:
                         mnuAway.Checked = true;
                     break;
                 case JabberContactStatus.Availability.Chat:
                         mnuChat.Checked = true;
                     break;
                 case JabberContactStatus.Availability.Dnd:
                         mnuDnd.Checked = true;
                     break;
                 case JabberContactStatus.Availability.Online:
                         mnuOnline.Checked = true;
                     break;
                 case JabberContactStatus.Availability.Xa:
                         mnuXa.Checked = true;
                     break;
             }
 }
 /// <summary>
 ///		Obtiene la clave de imagen asociada a un estado
 /// </summary>
 private ImageKey GetImage(JabberContactStatus objStatus)
 {
     switch (objStatus.Status)
         {	case JabberContactStatus.Availability.Away:
                 return ImageKey.ContactOffline;
             case JabberContactStatus.Availability.Chat:
                 return ImageKey.ContactChat;
             case JabberContactStatus.Availability.Dnd:
                 return ImageKey.Contact;
             case JabberContactStatus.Availability.Offline:
                 return ImageKey.ContactOffline;
             case JabberContactStatus.Availability.Online:
                 return ImageKey.ContactOnline;
             case JabberContactStatus.Availability.Xa:
                 return ImageKey.Contact;
             default:
                 return ImageKey.Contact;
         }
 }
        /// <summary>
        ///		Lanza el evento de cambio de estado
        /// </summary>
        private void RaiseEventSetStatus(JabberContactStatus.Availability intStatus)
        {
            JabberConnection objConnection = GetSelectedConnection();

                if (objConnection != null)
                    { SetStatus?.Invoke(this, new SetStatusEventArgs(objConnection, intStatus));
                        ShowMenuStatus(intStatus);
                        Focus();
                    }
        }
Example #4
0
 /// <summary>
 ///		Modifica el estado del usuario
 /// </summary>
 private void SetUserStatus(JabberConnection objConnection, JabberContactStatus.Availability intNewStatus, string strText)
 {
     if (objConnection != null)
         try
             { // Envía el nuevo estado
                     if (objConnection.User.Status.Status != intNewStatus)
                         { // Si no está conectado, conecta
                                 if (!objConnection.IsConnected)
                                     objConnection.Connect();
                             // Envía el estado
                                 objConnection.SetStatus(intNewStatus, strText);
                             // Actualiza el árbol de contactos
                                 LoadListContacts();
                             // Muestra el mensaje
                                 LogContact(objConnection.User);
                                 LogMessage($">> Cambio de estado del usuario {objConnection.User.FullName} --> {intNewStatus} [{strText}]");
                                 LogEnd();
                         }
             }
         catch (Exception objException)
             { LogContact(objConnection.User);
                 LogMessage($">> Error en la conexión {objException.Message}");
                 LogEnd();
                 Bau.Controls.Forms.Helper.ShowMessage(this, $"Error en la conexión {objException.Message}");
             }
 }