private void Move()
        {
            try
            {
                if (string.IsNullOrEmpty(Destination))
                {
                    throw new Exception("The destination cannot be empty.");
                }
                else if (!Directory.Exists(Destination))
                {
                    throw new Exception("The destination does not exist.");
                }

                var selected = Results.Where(x => x.Selected);

                int ctr = 0;

                foreach (var s in selected)
                {
                    FileInfo f        = new FileInfo(s.Path);
                    string   fullPath = Path.Combine(Destination, f.Name);

                    if (DoCopy)
                    {
                        f.CopyTo(fullPath);
                    }
                    else
                    {
                        f.MoveTo(fullPath);
                    }

                    ctr++;
                }

                ClearResults();

                RecentListUtil.Upsert(RecentDestinations, Destination);
                SaveRecentDestinations();


                //Open Folder
                if (Settings.OpenDestinationFolder)
                {
                    Process.Start(Destination);
                }

                MessageBoxFactory.ShowInfo(ctr + " files were moved to " + Destination, "Moved Successfully");
            }
            catch (Exception e)
            {
                MessageBoxFactory.ShowError(e);
            }
        }
        private void Search()
        {
            try
            {
                Results.Clear();

                foreach (string path in Paths)
                {
                    List <SearchResult> results = Search(path, IsRecursive, Query);

                    if (results.Count == 0)
                    {
                        Results.Add(new SearchResult(path, false));
                    }
                    else
                    {
                        foreach (var r in results)
                        {
                            Results.Add(r);
                        }

                        if (Results.Count > 10000)
                        {
                            throw new Exception("Too many results!");
                        }
                    }
                }

                lastQuery = Query;

                RecentListUtil.Upsert(RecentQueries, Query);
                SaveRecentQueries();
                ResultsChanged();
            }
            catch (Exception e)
            {
                MessageBoxFactory.ShowError(e);
            }
        }