public ImportDialog (ImportController controller, Window parent) : base ("import.ui", "import_dialog") { Controller = controller; BuildUI (parent); ResetPreview (); LoadPreferences (); ScanSources (); ConnectEvents (); }
protected override void ScanPhotos(ImportController controller, PhotoList photo_list) { foreach (var uri in uris) { Log.Debug("Scanning " + uri); ScanPhotoDirectory(controller, uri, photo_list); } ThreadAssist.ProxyToMain(() => controller.PhotoScanFinished()); }
public void StartPhotoScan(ImportController controller, PhotoList photo_list) { if (PhotoScanner != null) { run_photoscanner = false; PhotoScanner.Join(); } run_photoscanner = true; PhotoScanner = ThreadAssist.Spawn(() => ScanPhotos(controller, photo_list)); }
public void FindImportDestinationTest() { var fileUri = new SafeUri("/path/to/photo.jpg"); var targetBaseUri = new SafeUri("/photo/store"); var targetUri = new SafeUri("/photo/store/2016/02/06"); var date = new DateTime(2016, 2, 6); var source = PhotoMock.Create(fileUri, date); var result = ImportController.FindImportDestination(source, targetBaseUri); Assert.AreEqual(targetUri, result); }
protected void ScanPhotoDirectory(ImportController controller, SafeUri uri, PhotoList photo_list) { var enumerator = new RecursiveFileEnumerator(uri) { Recurse = controller.RecurseSubdirectories, CatchErrors = true, IgnoreSymlinks = true }; foreach (var file in enumerator) { if (ImageFile.HasLoader(new SafeUri(file.Uri.ToString(), true))) { var info = new FileImportInfo(new SafeUri(file.Uri.ToString(), true)); ThreadAssist.ProxyToMain(() => photo_list.Add(info)); } if (!run_photoscanner) { return; } } }
protected void ScanPhotoDirectory(ImportController controller, SafeUri uri, PhotoList photo_list) { var enumerator = new RecursiveFileEnumerator(uri) { Recurse = controller.RecurseSubdirectories, CatchErrors = true, IgnoreSymlinks = true }; var infos = new List <FileImportInfo> (); foreach (var file in enumerator) { if (ImageFile.HasLoader(new SafeUri(file.Uri.ToString(), true))) { infos.Add(new FileImportInfo(new SafeUri(file.Uri.ToString(), true))); } if (infos.Count % 10 == 0 || infos.Count < 10) { var to_add = infos; // prevents race condition ThreadAssist.ProxyToMain(() => photo_list.Add(to_add.ToArray())); infos = new List <FileImportInfo> (); } if (!run_photoscanner) { return; } } if (infos.Count > 0) { var to_add = infos; // prevents race condition ThreadAssist.ProxyToMain(() => photo_list.Add(to_add.ToArray())); } }
protected virtual void ScanPhotos(ImportController controller, PhotoList photo_list) { ScanPhotoDirectory(controller, Root, photo_list); ThreadAssist.ProxyToMain(() => controller.PhotoScanFinished()); }
void StartImport (SafeUri uri) { var controller = new ImportController (true); controller.StatusEvent += evnt => { if (evnt == ImportEvent.ImportFinished) { if (controller.PhotosImported > 0) { query.RollSet = new RollSet (Database.Rolls.GetRolls (1)); } } }; var import_window = new ImportDialog (controller, Window); import_window.Show (); }
public void ImportUriList (UriList list, bool copy) { // Drag'n drop import. var controller = new ImportController (false); controller.StatusEvent += (evnt) => ThreadAssist.ProxyToMain (() => { if (evnt == ImportEvent.ImportFinished) { if (controller.PhotosImported > 0) { query.RollSet = new RollSet (Database.Rolls.GetRolls (1)); } } }); var source = new MultiFileImportSource (list.ToArray ()); controller.ActiveSource = source; controller.CopyFiles = copy; controller.DuplicateDetect = true; controller.RecurseSubdirectories = true; controller.RemoveOriginals = false; var import_window = new ImportDialog (controller, Window); import_window.Show (); controller.StartImport (); }
protected override void ScanPhotos(ImportController controller, PhotoList photo_list) { foreach (var uri in uris) { Log.Debug ("Scanning " + uri); ScanPhotoDirectory (controller, uri, photo_list); } ThreadAssist.ProxyToMain (() => controller.PhotoScanFinished ()); }
protected virtual void ScanPhotos(ImportController controller, PhotoList photo_list) { ScanPhotoDirectory (controller, Root, photo_list); ThreadAssist.ProxyToMain (() => controller.PhotoScanFinished ()); }
protected void ScanPhotoDirectory(ImportController controller, SafeUri uri, PhotoList photo_list) { var enumerator = new RecursiveFileEnumerator (uri) { Recurse = controller.RecurseSubdirectories, CatchErrors = true, IgnoreSymlinks = true }; foreach (var file in enumerator) { if (ImageFile.HasLoader (new SafeUri (file.Uri.ToString(), true))) { var info = new FileImportInfo (new SafeUri (file.Uri.ToString (), true)); ThreadAssist.ProxyToMain (() => photo_list.Add (info)); } if (!run_photoscanner) return; } }
public void StartPhotoScan(ImportController controller, PhotoList photo_list) { if (PhotoScanner != null) { run_photoscanner = false; PhotoScanner.Join (); } run_photoscanner = true; PhotoScanner = ThreadAssist.Spawn (() => ScanPhotos (controller, photo_list)); }
protected void ScanPhotoDirectory(ImportController controller, SafeUri uri, PhotoList photo_list) { var enumerator = new RecursiveFileEnumerator (uri) { Recurse = controller.RecurseSubdirectories, CatchErrors = true, IgnoreSymlinks = true }; var infos = new List<FileImportInfo> (); foreach (var file in enumerator) { if (ImageFile.HasLoader (new SafeUri (file.Uri.ToString(), true))) { infos.Add (new FileImportInfo (new SafeUri (file.Uri.ToString(), true))); } if (infos.Count % 10 == 0 || infos.Count < 10) { var to_add = infos; // prevents race condition ThreadAssist.ProxyToMain (() => photo_list.Add (to_add.ToArray ())); infos = new List<FileImportInfo> (); } if (!run_photoscanner) return; } if (infos.Count > 0) { var to_add = infos; // prevents race condition ThreadAssist.ProxyToMain (() => photo_list.Add (to_add.ToArray ())); } }