コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: xnimorz/navi
 private void PathRightEvent_TextChanged(object sender, TextChangedEventArgs e)
 {
     if (_previousPathRight != "" && PathRight.Text == "")
     {
         PathRight.Text = _previousPathRight;
         return;
     }
     _previousPathRight          = PathRight.Text;
     UpdateFilesList(_filesRight = CreateFileFinder(_filesRight, _eventRight, FileDescriptionRight, PathRight.Text, _iconUpdaterRight));
 }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: xnimorz/navi
 //создаем экземпляр класса для мониторинга файлов в папке
 protected FileFinderThread CreateFileFinder(FileFinderThread Current, IntPtr Event, ObservableCollection <FileInformation> Files, String Path, Timer IconUpdater, Thread ThreadHandler = null)
 {
     if (String.IsNullOrWhiteSpace(Path))
     {
         throw new Exception("This folder isn't existing!");
     }
     if (Current == null)
     {
         return(new FileFinderThread(Event, Files, Path, Accept, IconUpdater, ThreadHandler));
     }
     Current.SyncEvent      = Event;
     Current.MonitoringPath = Path;
     Current.FilesList      = Files;
     Current.CurrentTimer   = IconUpdater;
     if (ThreadHandler != null)
     {
         Current.FilesThread = ThreadHandler;
     }
     return(Current);
 }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: xnimorz/navi
        //Files list update
        private void UpdateFilesList(FileFinderThread finder)
        {
            try
            {
                if (finder.FilesThread != null && finder.FilesThread.IsAlive)
                {
                    WinAPI.SetEvent(finder.SyncEvent);
                    finder.FilesThread.Join();

                    WinAPI.ResetEvent(finder.SyncEvent);
                }

                finder.FilesThread = new Thread(new ParameterizedThreadStart(FileFinderThread.FileFinderThreadInit));
                finder.FilesThread.Start(finder);
            }
            catch (Exception ex)
            {
                //We can write to log-file this error
                MessageBox.Show(String.Format("{0} is incorrect path! \n {1}", PathLeft.Text, ex.Message), "Error in path", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }