private void DoWorkEvent(object sender, DoWorkEventArgs e)
 {
     CanExecuteCancel = true;
     IsIdle           = false;
     using (var c = new CursorHelper(this))
     {
         var res = queryService.QueryDuplicates(bgw, e, startPath, string.IsNullOrEmpty(filter) ? "*.*" : filter);
         System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new ThreadStart(delegate { res.ForEach(x => Duplicates.Add(x)); }));
     }
     ProgressPercent  = 0;
     CanExecuteCancel = false;
     IsIdle           = true;
 }
        private void HandleImport()
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Title = "Import duplicates from file";
            var res = dlg.ShowDialog();

            if (res == DialogResult.OK)
            {
                using (var c = new CursorHelper(this))
                {
                    using (Stream reader = new FileStream(dlg.FileName, FileMode.Open))
                    {
                        XmlSerializer mySerializer = new XmlSerializer(typeof(ObservableCollection <SingleFileEntry>));
                        var           items        = (ObservableCollection <SingleFileEntry>)mySerializer.Deserialize(reader);
                        Duplicates.Clear();
                        foreach (var i in items)
                        {
                            Duplicates.Add(i);
                        }
                    }
                }
            }
        }