示例#1
0
		} //

		private async Task CategoryClicked( FileCategory category ) {

			FileInfo info = this.CurrentFile;
			if( info == null ) {
				Console.WriteLine( "Move File: No Current File" );
				return;
			}

			try {

				/// close all uses of the file, if possible.
				string old_path = info.FullName;
				if( Path.GetDirectoryName( old_path ) == category.DirectoryPath ) {
					// Source and Dest directories are equal.
					Console.WriteLine( "Source and Dest dirs are equal." );
					return;
				}

				string new_path = category.GetMovePath( old_path );

				this.visitor.Prev();

				FileOperation op = new FileOperation( old_path, category.GetMovePath(old_path), 10*1000 );
				bool success = await op.RunAsync();

				/*if( success ) { /// Should auto-remove.
					this.visitor.Remove( info );
				}*/

			} catch( Exception e ) {
				Log( e.ToString() );
			}

		} //