/// <summary> /// Methode qui gere le clique sur un des items du menu contextuel /// </summary> /// <param name="sender">le menu contextuel</param> /// <param name="e">l'item cliqué</param> private void contextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { //TODO il faut gerer le click sur le menu puis sur l'item //nom de l'item cliqué int index = int.Parse(e.ClickedItem.Tag.ToString()); Config.Item service = Config.items.menu.subMenu[0].items[index]; // Si il est authentifié il peut lancer le service if (IsAuthentified) { OpenService(service, index); } else { NotifyUser("ERROR", "Erreur", "Vous n'êtes pas encore authentifié", true); } }
/// <summary> /// Ouvre le service demandé par l'utilisateur dans le menu contextuel /// </summary> /// <param name="item">l'item selectionné dans le menu</param> /// <param name="index">indice ou se trouve l'item dans le menu</param> /// //TODO a meliorer la methode en recuperant le nom du service private void OpenService(Config.Item item, int index) { Log.Debug("Lancement de " + item.libelle); switch (item.parametres) { case "reactualiser": // Ré-Authentification de l'utilisateur Reactualisation(); break; case "quitter": // Demande de l'utilisatuer pour quitter l'application QuitterApplication(); break; default: // si une url alors on lance le programme avec l'url if (item.url != "") { // Lancement du navigateur LaunchNav(item.url, item.programme, item.parametres); } else { // on lance le programme correspondant au tag try { Process.Start(item.programme); } catch (Exception e) { Log.Info(e.StackTrace); contextMenuStrip.Items[index].Enabled = false; NotifyUser("ERROR", "Erreur", "Le programme que vous avez demandé n'existe pas", true); } } break; } }
public Item(Config.Item item) { _config = item; }