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);
}