public void ThreadFunc() { widokMiniatur.sem.WaitOne(); bool takDlaWszystkich = false; foreach (Zdjecie z in widokMiniatur.Zdjecia) { if (z.Edytowano == true) { if (takDlaWszystkich) { z.Zapisz(); } else { RodzajDecyzji decyzja = (RodzajDecyzji)widokMiniatur.Invoke(new ZapiszZdjecieDelegate(z.ZapisanieNiezapisanych)); if (decyzja == RodzajDecyzji.Tak) { z.Zapisz(); } else if (decyzja == RodzajDecyzji.TakDlaWszystkich) { takDlaWszystkich = true; z.Zapisz(); } else if (decyzja == RodzajDecyzji.NieDlaWszystkich) { break; } } } } widokMiniatur.Invoke(new OproznijWidokMiniatur(widokMiniatur.Oproznij)); widokMiniatur.katalogi = katalogi; for (int i = 0; i < katalogi.Length; i++) { if (stop) { break; } widokMiniatur.Invoke(new WyswietlKatalog(widokMiniatur.DodajKatalog), katalogi[i]); } widokMiniatur.WyswietloneZdjecia.Clear(); widokMiniatur.WszystkieZdjecia.Clear(); for (int i = 0; i < zdjecia.Length; i++) { if (stop) { break; } widokMiniatur.Invoke(new WyswietlZdjecie(widokMiniatur.Dodaj), zdjecia[i]); } widokMiniatur.sem.Release(); }
/// <summary> /// Metoda wywoluje DialogBox z pytaniem do uzytkownika czy ma zapisac zdjecie /// </summary> public RodzajDecyzji ZapisanieNiezapisanych() { DialogBoxes.CzyZapisac CzyZapisac = new Photo.DialogBoxes.CzyZapisac(this.Path); CzyZapisac.ShowDialog(); RodzajDecyzji decyzja = CzyZapisac.Decyzja; CzyZapisac.Dispose(); return(decyzja); }
/// <summary> /// Metoda wypelniajaca kontrolke przekazanym zdjeciem /// </summary> /// <param name="zdjecia">Tablica zdjec</param> public void Wypelnij(IZdjecie[] zdjecia) { if (zdjecia.Length != 0) { //this.Oproznij(); Zdjecie temp = this.zdjecie; this.zdjecie = (Zdjecie)zdjecia[0]; this.pictureBox1.Image = ZoomImage(); this.checkImagePosition(); this.lmStartingPoint = new Point(); this.selectedRectangle = new Rectangle(0, 0, 0, 0); zdjecie.Zaznaczenie = selectedRectangle; if (temp != zdjecie && temp != null) { if (temp.Edytowano) { RodzajDecyzji decyzja = temp.ZapisanieNiezapisanych(); switch (decyzja) { case RodzajDecyzji.Tak: temp.Zapisz(); break; case RodzajDecyzji.Nie: break; case RodzajDecyzji.TakDlaWszystkich: temp.Zapisz(); break; case RodzajDecyzji.NieDlaWszystkich: break; } } temp.Dispose(); if (ZmodyfikowanoZdjecie != null) { ZmodyfikowanoZdjecie(null, temp, RodzajModyfikacjiZdjecia.Zawartosc); } } this.Refresh(); } }
private void NoForAll_Click(object sender, EventArgs e) { decyzja = RodzajDecyzji.NieDlaWszystkich; this.Close(); }
private void No_Button_Click(object sender, EventArgs e) { decyzja = RodzajDecyzji.Nie; this.Close(); }
private void Yes_Button_Click(object sender, EventArgs e) { decyzja = RodzajDecyzji.Tak; this.Close(); }
private void YesForAll_Click(object sender, EventArgs e) { decyzja = RodzajDecyzji.TakDlaWszystkich; this.Close(); }