Esempio n. 1
0
        /// <summary>
        /// Fonction qui instancie une nouvelle vignette correspondant à un album afin de l'afficher sur l'interface.
        /// </summary>
        /// <param name="pic">Objet Album correspondant à la vignette.</param>
        private VignetteNVAlbum AddControlVignetteAlbum(Album alb)
        {
            VignetteNVAlbum vignetteAlbum = new VignetteNVAlbum(alb);

            //ListAlbums s'abonne à l'évènement de la vignette d'album correspondant à un clic de l'utilisateur.
            //Cet évènement sera traité avec la méthode ClickOnVignetteAlbum
            AlbumGrid.Controls.Add(vignetteAlbum);

            vignetteAlbum.ehClickOnAlbum += new EventHandler(ClickOnVignetteAlbum);
            vignetteAlbum.ehMouseDown    += new MouseEventHandler(MouseDownVignette);

            return(vignetteAlbum);
        }
Esempio n. 2
0
        private void createAlbumToolStripMenuItem_Click(object sender, EventArgs e)
        {
            AddAlbumWindow dialogNewAlbum = new AddAlbumWindow();

            dialogNewAlbum.ShowDialog();
            if (dialogNewAlbum.DialogResult == DialogResult.OK)
            {
                vignetteAlbumSelected = AddControlVignetteAlbum(dialogNewAlbum.created_album);
                listAlbumsSelected.Add(vignetteAlbumSelected);
                vignetteAlbumSelected.BackColor = System.Drawing.SystemColors.Highlight;
                refreshViewPicturesList();

                this.toolStripStatusLabel1.ForeColor = System.Drawing.Color.Black;
                this.toolStripStatusLabel1.Text      = dialogNewAlbum.created_album.Title + " a été créé avec succès.";
                XML_Serialization.save_user_data();
            }
        }
Esempio n. 3
0
        public ListAlbums()
        {
            List <VignetteNVAlbum> listVignetteTemp = new List <VignetteNVAlbum>();

            InitializeComponent();

            //On charge les données utilisateurs si elles existent.
            if (File.Exists("user_data.xml"))
            {
                XML_Serialization.load_user_data();
            }

            //On définit l'album par défaut si il existe
            if (Program.Albums.Count > 0)
            {
                /// Affichage d'images en grid
                AllPhotosGrid.FlowDirection = FlowDirection.LeftToRight;
                AllPhotosGrid.AutoScroll    = true;

                foreach (Picture picture in Program.Albums.FirstOrDefault().Pictures)
                {
                    AddControlVignettePhoto(picture);
                }

                /// Affichage des albums
                AlbumGrid.FlowDirection = FlowDirection.LeftToRight;
                AlbumGrid.AutoScroll    = true;

                foreach (Album album in Program.Albums)
                {
                    listVignetteTemp.Add(AddControlVignetteAlbum(album));
                }
                if (listVignetteTemp.Count > 0)
                {
                    vignetteAlbumSelected = listVignetteTemp.FirstOrDefault();
                    listAlbumsSelected.Add(vignetteAlbumSelected);
                    vignetteAlbumSelected.BackColor = System.Drawing.SystemColors.Highlight;
                    refreshViewPicturesList();
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Fonction évènementielle qui traite la selection des Vignettes d'albums.
        /// </summary>
        /// <param name="sender">Emetteur: vignette d'album</param>
        /// <param name="e">Paramètre de l'évènement</param>
        private void ClickOnVignetteAlbum(object sender, EventArgs e)
        {
            vignetteAlbumSelected = sender as VignetteNVAlbum;

            if (listAlbumsSelected.Contains(vignetteAlbumSelected))
            {
                //Si on a un seul album sélectionné, on ne peut pas le déselectionner
                if (listAlbumsSelected.Count > 1)
                {
                    listAlbumsSelected.Remove(vignetteAlbumSelected);
                    vignetteAlbumSelected.BackColor = System.Drawing.SystemColors.Control;

                    vignetteAlbumSelected = listAlbumsSelected.LastOrDefault();
                }
            }
            else if (!listAlbumsSelected.Contains(vignetteAlbumSelected))
            {
                listAlbumsSelected.Add(vignetteAlbumSelected);
                vignetteAlbumSelected.BackColor = System.Drawing.SystemColors.Highlight;
                refreshViewPicturesList();
            }
            listPhotosSelected.Clear();
        }
Esempio n. 5
0
        private void deletePhotosOrAlbums()
        {
            List <Picture>         listTempRemPic   = new List <Picture>();
            List <Album>           listTempRemAlb   = new List <Album>();
            List <VignetteNVAlbum> listVignetteTemp = new List <VignetteNVAlbum>();
            String strName = "";

            if ((listAlbumsSelected.Count > 0) && (listPhotosSelected.Count == 0))
            {
                foreach (VignetteNVAlbum vignetteAlb in listAlbumsSelected)
                {
                    listTempRemAlb.Add(vignetteAlb.albumLinked);
                    vignetteAlb.albumLinked.Pictures.Clear();
                    strName = strName + vignetteAlb.albumLinked.Title + ", ";
                }
                strName = strName.TrimEnd((','), (' '));
                foreach (Album alb in listTempRemAlb)
                {
                    Program.Albums.Remove(alb);
                }
                listAlbumsSelected.Clear();
                vignetteAlbumSelected = null;
                //On rafraichit la vue des albums.
                AlbumGrid.Controls.Clear();
                //Si il reste des albums...
                if (Program.Albums.Count > 0)
                {
                    //Alors on remplit l'affichage avec des vignettes d'album.
                    foreach (Album alb in Program.Albums)
                    {
                        listVignetteTemp.Add(AddControlVignetteAlbum(alb));
                    }
                    //Et la vignette d'album sélectionnée devient la dernière vignette ajoutée.
                    vignetteAlbumSelected = listVignetteTemp.LastOrDefault();
                    listAlbumsSelected.Add(vignetteAlbumSelected);
                    vignetteAlbumSelected.BackColor = System.Drawing.SystemColors.Highlight;
                }
                refreshViewPicturesList();
                //On sauvegarde les modifications.
                XML_Serialization.save_user_data();

                this.toolStripStatusLabel1.ForeColor = System.Drawing.SystemColors.ControlText;
                this.toolStripStatusLabel1.Text      = "Album(s) " + strName + " supprimé(s) avec succès.";
            }
            else if ((listAlbumsSelected.Count > 0) && (listPhotosSelected.Count > 0))
            {
                foreach (VignetteNVPhoto vignettePic in listPhotosSelected)
                {
                    listTempRemPic.Add(vignettePic.pic);
                    strName = strName + vignettePic.pic.Name + ", ";
                }
                //On enlève la dernière virgule
                strName = strName.TrimEnd((','), (' '));

                foreach (Picture pic in listTempRemPic)
                {
                    //Actuellement le code permet de sélectionner des photos provenant d'albums différents, il faut donc tester si les photos sont bien dans l'album sélectionné avant de les supprimer.
                    //Ce test if n'est plus nécessaire dès qu'on appelle la fonction listPhotosSelected.Clear() à chaque fois qu'on clique sur une vignette d'album.
                    if (vignetteAlbumSelected.albumLinked.Pictures.Exists(a => a == pic))
                    {
                        vignetteAlbumSelected.albumLinked.Pictures.Remove(pic);
                    }
                }
                //On vide la liste des vignettes sélectionnées en mémoire.
                listPhotosSelected.Clear();

                this.toolStripStatusLabel1.ForeColor = System.Drawing.SystemColors.ControlText;
                this.toolStripStatusLabel1.Text      = "Image(s) " + strName + " supprimée(s) avec succès.";

                vignetteAlbumSelected.refreshPreviewPicture();
                refreshViewPicturesList();
                XML_Serialization.save_user_data();
            }
        }