/// <summary>
        /// Metoda dodajaca zaznaczone zdjecia do bazy danych
        /// </summary>
        /// <returns>Lista lokalizacji zdjec dodanych do bazy</returns>
        public List <string> dodaj_kolekcje_do_bazy()
        {
            List <Zdjecie> lista         = ZwrocZdjeciaZaznaczone();
            List <string>  lista_sciezek = new List <string>();
            StringBuilder  sb            = new StringBuilder("Nie uda³o siê dodaæ do kolekcji nastepuj¹cych zdjêæ:\n");
            bool           nieUdaloSie   = false;

            foreach (Zdjecie z in lista)
            {
                if (z.DodajDoKolekcji() == false)
                {
                    sb.Append(z.Path + "\n");
                    if (nieUdaloSie == false)
                    {
                        nieUdaloSie = true;
                    }
                }
                else
                {
                    Thumbnailview.ZmodyfikowanoZdjecie(null, z, RodzajModyfikacjiZdjecia.Zawartosc);
                    lista_sciezek.Add(z.Path);
                }
            }
            if (nieUdaloSie)
            {
                MessageBox.Show(sb.ToString());
            }

            return(lista_sciezek);
        }
        /// <summary>
        /// Metoda dodajaca zbior zdjec do bazy danych uzytkownika
        /// </summary>
        /// <param name="lista">Kolekcja Zdjec do dodania</param>
        public void dodaj_kolekcje_do_bazy(List <Zdjecie> lista)
        {
            StringBuilder sb          = new StringBuilder("Nie uda³o siê dodaæ do kolekcji nastepuj¹cych zdjêæ:\n");
            bool          nieUdaloSie = false;

            foreach (Zdjecie z in lista)
            {
                if (z.DodajDoKolekcji() == false)
                {
                    sb.Append(z.Path + "\n");
                    if (nieUdaloSie == false)
                    {
                        nieUdaloSie = true;
                    }
                }
                else
                {
                    Thumbnailview.ZmodyfikowanoZdjecie(null, z, RodzajModyfikacjiZdjecia.Zawartosc);
                }
            }
            if (nieUdaloSie)
            {
                MessageBox.Show(sb.ToString());
            }
        }
        private void UsunZKolekcji(object sender, EventArgs e)
        {
            List <Zdjecie> lista = ZwrocZdjeciaZaznaczone();

            if (Thumbnailview.MiniaturyZDrzewa == true)
            {
                foreach (Zdjecie z in lista)
                {
                    if (z.CzyUstawioneId() == true)
                    {
                        z.UsunZdjecieZBazy();
                        z.UsunId();
                        Thumbnailview.ZmodyfikowanoZdjecie(null, z, RodzajModyfikacjiZdjecia.Zawartosc);
                    }
                }
            }
            else
            {
                foreach (Zdjecie z in lista)
                {
                    z.UsunZdjecieZBazy();
                    z.UsunId();
                    Thumbnailview.Usun(z);
                }
                Thumbnailview.Odswiez();
            }
        }
 /// <summary>
 /// Metoda wypelniajaca zdjeciami i katalogami widok miniatur.
 /// </summary>
 /// <param name="zdjecia">Tablica obiektow do wyswietlenia</param>
 /// <param name="katalogi">Tablica katalogow do wyswietlenia</param>
 /// <param name="CzyZDrzewa">Zmienna informujaca czy podane dane pochodza z drzewa katalogow czy nie</param>
 public void Wypelnij(IZdjecie[] zdjecia, Katalog[] katalogi, bool CzyZDrzewa)
 {
     if (AktywneOpakowanie != Thumbnailview)
     {
         SetThumbnailView();
     }
     Thumbnailview.Wypelnij(zdjecia, katalogi, CzyZDrzewa);
 }
 /// <summary>
 /// Metoda dodajaca zdjecie do widoku miniatur
 /// </summary>
 /// <param name="zdjecie"></param>
 public void Dodaj(IZdjecie zdjecie)
 {
     Thumbnailview.Dodaj(zdjecie);
     if (AktywneOpakowanie != Thumbnailview)
     {
         SetThumbnailView();
     }
 }
        private void UaktualizujTagi(object sender, EventArgs e)
        {
            List <Zdjecie> lista = ZwrocZdjeciaZaznaczone();

            Dodaj_tagi_do_zdjecia dtdz = new Dodaj_tagi_do_zdjecia(lista, false);

            dtdz.ShowDialog();
            Thumbnailview.Odswiez();
        }
 private void widokMiniatur1_keyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.Enter)
     {
         ListViewItem listViewItem = ((WidokMiniatur)sender).FocusedItem;
         if (listViewItem != null)
         {
             wybranoItem(listViewItem);
         }
     }
     else if (e.KeyData == Keys.Back)
     {
         Katalog[] katalogi = Thumbnailview.Katalogi;
         for (int i = 0; i < katalogi.Length; i++)
         {
             if (katalogi[i].CzyDoGory == true)
             {
                 if (WybranoKatalog != null)
                 {
                     WybranoKatalog(katalogi[i]);
                 }
                 break;
             }
         }
     }
     else if (e.KeyData == Keys.R)
     {
         Rotate r = new Rotate(1);
         DodajOperacje(new PolecenieOperacji(r, r.PodajArgumenty().ToArray()));
     }
     else if (e.KeyData == Keys.L)
     {
         Rotate r = new Rotate(2);
         DodajOperacje(new PolecenieOperacji(r, r.PodajArgumenty().ToArray()));
     }
     else if (e.KeyData == (Keys.Control | Keys.F))
     {
         if (ZabierzFocus != null)
         {
             ZabierzFocus();
         }
     }
     else if (e.KeyData == (Keys.Control | Keys.A))
     {
         for (int i = Thumbnailview.Katalogi.Length; i < Thumbnailview.Items.Count; i++)
         {
             Thumbnailview.Items[i].Selected = true;
         }
     }
     else if (e.KeyData == (Keys.Control | Keys.S))
     {
         Thumbnailview.ZapiszWszystkiePliki();
     }
 }
 private void widokZdjecia1_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.Space)
     {
         int nastepne = Imageview.Zdjecie.indeks + 1;
         if (nastepne >= Thumbnailview.Ilosc)
         {
             nastepne = Thumbnailview.IloscKatalogow;
             MessageBox.Show("Nie ma ju¿ wiêcej zdjêæ w tym katalogu. Zostanie otwarte pierwsze.");
         }
         IZdjecie z = Thumbnailview.ZdjecieZIndeksem(nastepne);
         if (z != null)
         {
             Imageview.Wypelnij(new IZdjecie[1] {
                 z
             });
         }
     }
     else if (e.KeyData == Keys.Back)
     {
         int poprzednie = Imageview.Zdjecie.indeks - 1;
         if (poprzednie < Thumbnailview.IloscKatalogow)
         {
             poprzednie = Thumbnailview.Ilosc - 1;
             MessageBox.Show("To by³o pierwsze zdjêcie w katalogu. Zostanie otwarte ostatnie.");
         }
         IZdjecie z = Thumbnailview.ZdjecieZIndeksem(poprzednie);
         if (z != null)
         {
             Imageview.Wypelnij(new IZdjecie[1] {
                 z
             });
         }
     }
     else if (e.KeyData == Keys.R)
     {
         Rotate r = new Rotate(1);
         this.DodajOperacje(new PolecenieOperacji(r, r.PodajArgumenty().ToArray()));
     }
     else if (e.KeyData == Keys.L)
     {
         Rotate r = new Rotate(2);
         this.DodajOperacje(new PolecenieOperacji(r, r.PodajArgumenty().ToArray()));
     }
     else if (e.KeyData == (Keys.Control | Keys.S))
     {
         Imageview.ZapiszPlik();
     }
 }
        private void UsunZdjecie(object sender, EventArgs e)
        {
            bool usunieto = false;

            Zdjecie[] zdjecia = (Zdjecie[])Thumbnailview.WybraneZdjecia;
            if (zdjecia.Length != 0)
            {
                for (int i = 0; i < zdjecia.Length; i++)
                {
                    try
                    {
                        if (zdjecia[i].Usun())
                        {
                            if (usunieto == false)
                            {
                                usunieto = true;
                            }
                            Thumbnailview.Usun(zdjecia[i]);
                            zdjecia[i].Dispose();
                        }
                    }
                    catch (FileNotFoundException)
                    {
                        MessageBox.Show("Wybrane zdjêcie nie mo¿e zostaæ odnalezione!", "B³¹d!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    catch (DirectoryNotFoundException)
                    {
                        MessageBox.Show("Katalog z wybranym zdjêciem nie mo¿e zostaæ odnaleziony!", "B³¹d!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
                if (usunieto)
                {
                    Thumbnailview.Odswiez();
                }
            }
        }