/// <summary>
        /// Download button click event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void DownloadSubmit_Click(object sender, RoutedEventArgs e)
        {
            var button = (Button)sender; //Cast sender to button

            button.IsEnabled = false;    //Disable download button

            //Initialize download

            /** Host select **/
            var response = await HostSelect.OpenSelect(listBox, _hosts); //Show list select item and store result in "response"

            button.IsEnabled = true;                                     //Enable download button again.
            listBox.Items.RemoveAt(0);                                   //Removing list item from list.

            //Return if cancelled
            if ((bool)response.TempHostSettings["cancel"])
            {
                return;
            }

            /** Download settings **/
            response.DownloadDestination = Properties.Settings.Default.DownloadFolder; //Set default download folder
            response = await DownlaodSettings.OpenDialog(this, response);              //Open download settings

            //Return if cancelled
            if ((bool)response.TempHostSettings["cancel"])
            {
                return;
            }

            //Set temp folder
            response.TempFileDestination = (Properties.Settings.Default.CustomTempDownloadFolder) ? Properties.Settings.Default.TempDownloadFolder : Properties.Settings.Default.DEFAULT_TempDownloadFolder;

            /** Prepare download **/

            var listItem = new StreamDownloaderControls.UserControls.DownloadListItem()
            {
                Filename       = response.FileName,
                DownloadFolder = response.DownloadDestination,
                DownloadURL    = response.RawURL
            };

            listBox.Items.Add(listItem);

            var downloadContainer = new DownloadContainer(listItem, response);

            await downloadContainer.Initialize();

            downloadContainer.Start();
        }
        private async void ReloadDownload_Click(object sender, RoutedEventArgs e)
        {
            using (var FolderDialog = new System.Windows.Forms.OpenFileDialog())
            {
                FolderDialog.InitialDirectory = (Properties.Settings.Default.CustomTempDownloadFolder) ? Properties.Settings.Default.DownloadFolder : Properties.Settings.Default.DEFAULT_TempDownloadFolder;
                FolderDialog.Filter           = "Pdi files (*.dtemp.pdi;*.pdi)|*.dtemp.pdi;*.pdi";
                FolderDialog.Multiselect      = true;

                var result = FolderDialog.ShowDialog();

                if (result != System.Windows.Forms.DialogResult.OK)
                {
                    return;
                }

                foreach (String file in FolderDialog.FileNames)
                {
                    var temp = DownloadData.DeserializeDownloadData(file);
                    /** Prepare download **/
                    var listItem = new StreamDownloaderControls.UserControls.DownloadListItem()
                    {
                        Filename       = temp.FileName,
                        DownloadFolder = temp.DownloadDestination,
                        DownloadURL    = temp.RawURL
                    };

                    listBox.Items.Add(listItem);

                    var downloadContainer = new DownloadContainer(listItem, temp);

                    /** Start **/
                    await downloadContainer.Initialize();

                    downloadContainer.Start();
                }
            }
        }