async void HandleDuplicate(object sender, EventArgs e) { try { if (await DocumentAppDelegate.Shared.DuplicateDocuments(GetSelectedFiles(), dupBtn)) { SetEditing(false, true); } } catch (Exception ex) { DocumentAppDelegate.Alert("Duplicate Failed", ex); } }
void HandleTitleTap(object sender, EventArgs e) { if (IsRoot) { return; } var name = DirectoryName; var dir = Path.GetDirectoryName(this.Directory); var c = new TextInputController { Title = "Rename", InputText = name, ValidateFunc = n => DocumentAppDelegate.ValidateNewName(dir, n, name), }; var nc = new UINavigationController(c); nc.NavigationBar.BarStyle = DocumentAppDelegate.Shared.Theme.NavigationBarStyle; nc.ModalPresentationStyle = UIModalPresentationStyle.FormSheet; c.Cancelled += (ss, ee) => nc.DismissViewController(true, null); c.Done += async(ss, ee) => { nc.DismissViewController(true, null); if (c.InputText != name) { try { var FileSystem = FileSystemManager.Shared.ActiveFileSystem; var newDir = Path.Combine(Path.GetDirectoryName(Directory), c.InputText); if (await FileSystem.Move(Directory, newDir)) { Directory = newDir; SetTitle(); DocumentAppDelegate.Shared.Settings.SetWorkingDirectory(FileSystem, Directory); } else { var alert = new UIAlertView("Rename Error", FileSystem.Id + " did not allow the folder to be renamed.", null, "OK"); alert.Show(); } } catch (Exception ex) { Debug.WriteLine(ex); } } }; PresentViewController(nc, true, null); }