private async void tsbRefresh_Click(object sender, EventArgs e) { this.tsbRefresh.Enabled = false; this.tsbShare.Enabled = false; Control.SeafileDirTreeView.DataTreeViewNode node = tvDir.SelectedNode as Control.SeafileDirTreeView.DataTreeViewNode; if (node != null) { this.UseWaitCursor = true; try { //删除已有treenode及其子节点 var list = this.seafiledirData.SeafileDataTable.AsEnumerable().Where( r => r.ID.StartsWith(string.Format("{0}-", node.ID) )).OrderByDescending(r => r.ID).ToList(); foreach (var row in list) { this.seafiledirData.SeafileDataTable.RemoveSeafileDataTableRow(row); } ; //重新获取 var temp = await session.ListDirectory(node.LibraryID.ToString(), node.Path.ToString()); if (temp != null) { for (int i = 0; i < temp.Count; i++) { DirType type; if (temp[i].Type == DirEntryType.Dir) { type = DirType.Dir; } else { type = DirType.File; } this.seafiledirData.SeafileDataTable.AddSeafileDataTableRow(string.Format("{0}-{1}", node.ID, (i + 1).ToString()), temp[i].Name, node.ID.ToString(), temp[i].LibraryId, ((int)(type)).ToString(), temp[i].Path); } node.Expand(); } } catch (Exception ex) { log.Error(ex.Message); MessageBox.Show(ex.Message, Properties.Resources.MessageBoxErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.UseWaitCursor = false; } } this.tsbRefresh.Enabled = true; this.tsbShare.Enabled = true; }
private async void tvDir_MouseDoubleClick(object sender, MouseEventArgs e) { this.tsbRefresh.Enabled = false; this.tsbShare.Enabled = false; Control.SeafileDirTreeView.DataTreeViewNode node = tvDir.SelectedNode as Control.SeafileDirTreeView.DataTreeViewNode; if (node != null) { var nodetype = node.Type.ToString(); //判断结点类型 if (nodetype == "0" || nodetype == "1") { if ((node.Nodes == null) || (node.Nodes.Count == 0)) { this.UseWaitCursor = true; try { var temp = await session.ListDirectory(node.LibraryID.ToString(), node.Path.ToString()); if (temp != null) { for (int i = 0; i < temp.Count; i++) { DirType type; if (temp[i].Type == DirEntryType.Dir) { type = DirType.Dir; } else { type = DirType.File; } this.seafiledirData.SeafileDataTable.AddSeafileDataTableRow(string.Format("{0}-{1}", node.ID, (i + 1).ToString()), temp[i].Name, node.ID.ToString(), temp[i].LibraryId, ((int)(type)).ToString(), temp[i].Path); } } } catch (Exception ex) { log.Error(ex.Message); MessageBox.Show(ex.Message, Properties.Resources.MessageBoxErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { this.UseWaitCursor = false; } node.Expand(); } } } this.tsbRefresh.Enabled = true; this.tsbShare.Enabled = true; }
private void tsbShare_Click(object sender, EventArgs e) { log.Info("Share link button click."); Control.SeafileDirTreeView.DataTreeViewNode node = tvDir.SelectedNode as Control.SeafileDirTreeView.DataTreeViewNode; if (node != null) { WindowWrapper objActiveWindow = new WindowWrapper(Globals.ThisAddIn.Application.ActiveWindow()); UI.GenerateShareLinkForm frmBox = new UI.GenerateShareLinkForm(session, node.LibraryID.ToString(), node.Path.ToString()); frmBox.ShowDialog(objActiveWindow); if (frmBox.DialogResult == DialogResult.OK) { this.DialogResult = System.Windows.Forms.DialogResult.OK; ShareLink = frmBox.ShareLink; this.Close(); } } }