private void AddRemoteDriveItemLocal(RemoteDriveItem item) { ListViewItem listViewItem = new ListViewItem(item.Name); listViewItem.Tag = item; this.listViewLocal.Items.Add(listViewItem); }
private void InvokeRemoteDriveEvent(RemoteDriveEventType type, RemoteDriveItem item = null, string message = null, Exception exception = null) { RemoteDriveEventArgs args = new RemoteDriveEventArgs(type, item, message, exception); this.RemoteDriveEvent?.Invoke(this, args); }
public RemoteDriveEventArgs(RemoteDriveEventType type, RemoteDriveItem item = null, string message = null, Exception exception = null) { this.Type = type; this.Item = item; this.Message = message; this.Exception = exception; }
private void menuItemOpen_Click(object sender, EventArgs e) { if (this.listViewLocal.SelectedItems.Count == 1) { RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem; Process.Start(item.FullPath); } }
private void menuItemDeleteRemote_Click(object sender, EventArgs e) { if (this.listViewLocal.SelectedItems.Count == 1) { RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem; this.RemoteDrive.DeleteRemote(item); } }
private void menuItemDownload_Click(object sender, EventArgs e) { if (this.listViewLocal.SelectedItems.Count == 1) { RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem; this.RemoteDrive.Download(item.FullPath); } }
private void menuItemUploadLocal_Click(object sender, EventArgs e) { if (this.listViewLocal.SelectedItems.Count == 1) { RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem; this.RemoteDrive.CreateRemote(item.Load()); } }
private void MoveRemoteThread(RemoteDriveItem item, string newPath) { try { this.ServiceClient.MoveItem(item, newPath); this.InvokeRemoteDriveEvent(RemoteDriveEventType.MoveRemoteOk); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.MoveRemoteFail, null, null, e); } }
private void CreateLocalThread(RemoteDriveItem item) { try { item.Create(); this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateLocalOk); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateLocalFail, null, null, e); } }
private void DeleteRemoteThread(RemoteDriveItem item) { try { this.ServiceClient.DeleteItem(item); this.InvokeRemoteDriveEvent(RemoteDriveEventType.DeleteRemoteOk); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.DeleteRemoteFail, null, null, e); } }
private void DownloadRecursion(RemoteDriveItem item) { RemoteDriveItem downloaded = this.ServiceClient.ReadItem(item.FullPath); downloaded.Localize(this.PathResolver).CreateOrUpdate(); if (item.IsDirectory()) { foreach (RemoteDriveItem child in downloaded.Children()) { this.DownloadRecursion(child); } } }
private void ReadDirectoryLocalThread(string path) { try { RemoteDriveItem item = new RemoteDriveItem(path); this.DirectoryLocal = item; this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadLocalOk, item); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadLocalFail, null, null, e); } }
private void ReadDirectoryRemoteThread(string path) { try { RemoteDriveItem item = this.ServiceClient.ReadItem(path); this.DirectoryRemote = item; this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadRemoteOk, item); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.ReadRemoteFail, null, null, e); } }
private void listViewLocal_DoubleClick(object sender, EventArgs e) { if (this.listViewLocal.SelectedItems.Count == 1) { RemoteDriveItem item = this.listViewLocal.SelectedItems[0].Tag as RemoteDriveItem; if (item.IsDirectory()) { this.RemoteDrive.Navigate(item.FullPath); } else { Process.Start(item.FullPath); } } }
private void CreateRemoteRecursion(RemoteDriveItem item) { if (item.IsFile()) { item.GetBinary(); } this.ServiceClient.CreateItem(item.Load()); if (item.IsDirectory()) { foreach (RemoteDriveItem child in item.Children()) { this.CreateRemoteRecursion(child); } } }
private void CreateRemoteThread(RemoteDriveItem item) { try { this.ServiceClient.CreateItem(item.Load()); if (item.IsDirectory()) { foreach (RemoteDriveItem child in item.Children()) { this.CreateRemoteRecursion(child); } } this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateRemoteOk); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateRemoteFail, null, null, e); } }
private void Compare() { this.CanWatch = true; List <RemoteDriveItem> remoteDriveItems = this.RemoteDrive.DirectoryRemote.Children() as List <RemoteDriveItem>; foreach (ListViewItem listViewItem in this.listViewLocal.Items) { RemoteDriveItem item = listViewItem.Tag as RemoteDriveItem; bool trigger = false; foreach (RemoteDriveItem remoteItem in remoteDriveItems) { if (item.IsSimilarTo(remoteItem)) { if (item.NameAndSizeMatches()) { listViewItem.ForeColor = Color.Green; } else if (item.NameMatches()) { listViewItem.ForeColor = Color.Orange; this.CanWatch = false; } trigger = true; } } if (!trigger) { listViewItem.ForeColor = Color.Red; this.CanWatch = false; } } foreach (RemoteDriveItem remoteItem in remoteDriveItems) { if (remoteItem.NotMatched()) { ListViewItem listViewItem = new ListViewItem(remoteItem.Name); listViewItem.Tag = remoteItem; listViewItem.ForeColor = Color.Brown; this.listViewLocal.Items.Add(listViewItem); } } }
private void DownloadThread(string path) { try { RemoteDriveItem item = this.ServiceClient.ReadItem(path); if (this.PathResolver.UserRoot != item.Name) { item.Localize(this.PathResolver).CreateOrUpdate(); } if (item.IsDirectory()) { foreach (RemoteDriveItem child in item.Children()) { this.DownloadRecursion(child); } } this.InvokeRemoteDriveEvent(RemoteDriveEventType.DownloadOk); } catch (Exception e) { this.InvokeRemoteDriveEvent(RemoteDriveEventType.DownloadFail, null, null, e); } }
public void CreateLocal(RemoteDriveItem item) { Task.Run(() => this.CreateLocalThread(item)); this.InvokeRemoteDriveEvent(RemoteDriveEventType.CreateLocalBegin); }
public void MoveRemote(RemoteDriveItem item, string newPath) { Task.Run(() => this.MoveRemoteThread(item, newPath)); this.InvokeRemoteDriveEvent(RemoteDriveEventType.MoveRemoteBegin); }
public void DeleteRemote(RemoteDriveItem item) { Task.Run(() => this.DeleteRemoteThread(item)); this.InvokeRemoteDriveEvent(RemoteDriveEventType.DeleteRemoteBegin); }