using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace StekloMaster
{
    public partial class ИЗОБРАЖЕНИЯ_просмотр : Form
    {
        public ИЗОБРАЖЕНИЯ_просмотр()
        {
            InitializeComponent();
        }

        public string folder = "";
        public string image = "";

        private void ИЗОБРАЖЕНИЯ_просмотр_Shown(object sender, EventArgs e)
        {
            string msg = "";
            this.Text = "Просмотр изображения [ " + image + " ]";
            int popitka = 0;
            while (msg != "ok" && popitka < 5)
            {
                pictureBox1.Image = Shifr.DecryptFileBit(image, "qF29s4JE", out msg);
                popitka++;
            }
            if(popitka > 4)
            {
                MessageBox.Show("Не удалось открыть изображение!");
            }
        }

        private void metroButton5_Click(object sender, EventArgs e)
        {
            using (var dialog = new SaveFileDialog())
            {
                dialog.FileName = image.Substring(image.LastIndexOf("\\")+1).Replace(".akv", "");
                dialog.Filter = "Все файлы(*.*)|*.*";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    string msg = "";
                    //Shifr.DecryptFileBit(image, "qF29s4JE", out msg).Save(dialog.FileName);
                    Shifr.DecryptFile(image, dialog.FileName, "qF29s4JE", out msg);
                }
            }
        }

        private void metroButton1_Click(object sender, EventArgs e)
        {
            if (folder == "") return;
            string[] images = Directory.GetFiles(folder);
            int index = 0;
            for(int i = 0; i<images.Length;i++)
            {
                if(image == images[i])
                {
                    //нашли текущее
                    index = i;
                    break;
                }
            }

            do
            {

                if (index + 1 == images.Length)
                {
                    index = 0;
                }
                else
                {
                    index++;
                }

                image = images[index];
            }
            while (image.IndexOf(".akv") == -1);
            ИЗОБРАЖЕНИЯ_просмотр_Shown(null, null);
        }

        private void metroButton2_Click(object sender, EventArgs e)
        {
            if (folder == "") return;
            string[] images = Directory.GetFiles(folder);
            int index = 0;
            for (int i = 0; i < images.Length; i++)
            {
                if (image == images[i])
                {
                    //нашли текущее
                    index = i;
                    break;
                }
            }
            do
            {
                if (index - 1 == -1)
                {
                    index = images.Length - 1;
                }
                else
                {
                    index--;
                }
                image = images[index];
            }
            while (image.IndexOf(".akv") == -1);
            ИЗОБРАЖЕНИЯ_просмотр_Shown(null, null);
        }
    }
}
