Esempio n. 1
0
        public static string Serialize(RecoveryState recoveryState)
        {
            var str = new StringBuilder();

            str.AppendLine(string.Join(",", recoveryState.SelectionIndices));
            str.AppendLine(string.Join <ImageSet>(";", recoveryState.ImageSets));
            return(str.ToString());
        }
Esempio n. 2
0
        /// <summary>
        /// Update the status message
        /// </summary>
        /// <param name="imagesSorted">Number of images sorted</param>
        private void UpdateStatus(int imagesSorted)
        {
            this.StatusLabel.Text = $"{imagesSorted} of {_totalImages} images sorted";

            using (var fout = new StreamWriter(RecoveryState.RestoreFile))
            {
                fout.WriteLine(RecoveryState.Serialize(new RecoveryState(_selectionIndices, _imageSets)));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Restore from a crashed run.
        /// </summary>
        /// <param name="sender">Not used</param>
        /// <param name="e">Not used</param>
        private void RestoreButton_Click(object sender, EventArgs e)
        {
            if (!File.Exists(RecoveryState.RestoreFile))
            {
                MessageBox.Show("No recovery data exists!");
                return;
            }

            RecoveryState state;

            using (var fin = new StreamReader(RecoveryState.RestoreFile))
            {
                state = RecoveryState.Deserialize(fin.ReadToEnd());
            }

            var imageSorter = new ImageSorter(state.ImageSets.ToList(), state.SelectionIndices);

            this.Visible = false;
            imageSorter.ShowDialog();
            this.Close();
        }