using System;
using System.Windows.Forms;

namespace prog_tesztelo
{
	/// <summary>
	/// Felülírás vezérlése a másolás során
	/// </summary>
	public partial class OverwriteForm : Form
	{
		/// <summary>
		/// A Copier osztály delegátusa
		/// </summary>
		/// <remarks>
		/// A visszatérési érték alapján határozzuk meg a további teendőket, amennyiben létező állományt kell felülírni:
		///		0:	Megszakítjuk a másolás folyamatát
		///		1:	Felülírjuk az aktuális fájlt/könyvtárat
		///		2:	Minden fájlt/könyvtárat felülírunk
		///		3:	Kihagyjuk az aktuális fájlt/könyvtárat
		///		4:	Minden fájlt/könyvtárat kihagyunk
		///		
		/// Könyvtár felülírása során a könyvtár teljes tartalmát felülírjuk.
		/// </remarks>
		public OverwriteDelegate OverwriteDelegate;

		/// <summary>
		/// A létező fájlt felülírjuk az új fájllal
		/// </summary>
		/// <param name="overwriteFile">a felülírandó fájl/könyvtár</param>
		/// <param name="newFile">az új fájl/könyvtár</param>
		public OverwriteForm(string overwriteFile, string newFile)
		{
			InitializeComponent();

			// form címének beállítása
			this.Text = MainForm.form_title;

			// a felülírandó és új fájl elérési útvonalának kijelzése a formon
			this.overwriteLabel.Text = overwriteFile;
			this.newFileLabel.Text = newFile;
		}

		/// <summary>
		/// Felülírja
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void overwriteButton_Click(object sender, EventArgs e)
		{
			if (OverwriteDelegate != null)
			{
				OverwriteDelegate(1);
			}
			Close();
		}

		/// <summary>
		/// Mindet felülírja
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void overwriteAllButton_Click(object sender, EventArgs e)
		{
			if (OverwriteDelegate != null)
			{
				OverwriteDelegate(2);
			}
			Close();
		}

		/// <summary>
		/// Kihagyja
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void skipButton_Click(object sender, EventArgs e)
		{
			if (OverwriteDelegate != null)
			{
				OverwriteDelegate(3);
			}
			Close();
		}

		/// <summary>
		/// Mind kihagyja
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void skipAllButton_Click(object sender, EventArgs e)
		{
			if (OverwriteDelegate != null)
			{
				OverwriteDelegate(4);
			}
			Close();
		}

		/// <summary>
		/// Mégse - a másolás megszakítása
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void cancelButton_Click(object sender, EventArgs e)
		{
			if (OverwriteDelegate != null)
			{
				OverwriteDelegate(0);
			}
			Close();
		}
	}
}