public async Task Save(Document document) { var doc = (LocalDocument)document; if (!doc.IsModified) return; StorageFile file; if (doc.File == null) { var filepicker = new FileSavePicker { DefaultFileExtension = ".md", CommitButtonText = "Save", SuggestedStartLocation = PickerLocationId.DocumentsLibrary, }; filepicker.FileTypeChoices.Add("Markdown", new List<string> { ".md", ".mdown", ".markdown", ".mkd" }); file = await filepicker.PickSaveFileAsync(); doc.File = file; string token = StorageApplicationPermissions.FutureAccessList.Add(file, file.Name); doc.Token = token; _localSettings.Values[file.Name] = token; } else file = doc.File; if (file != null) { doc.Name = file.Name; await FileIO.WriteTextAsync(file, doc.Text); doc.OriginalText = doc.Text.Trim('\r', '\n'); } }
private bool CanExecute(Document d) { if (d == null) return false; return ((LocalDocument)SelectedDocument).File != null; }
public async Task Close(Document document) { try { var doc = (LocalDocument)document; if (doc.File == null) return; var token = (string)_localSettings.Values[doc.File.Name]; _localSettings.Values.Remove(doc.File.Name); var tiles = await SecondaryTile.FindAllAsync(); foreach (var t in tiles) { if (t.Arguments == token) return; } StorageApplicationPermissions.FutureAccessList.Remove(token); } catch (Exception o_0) { } }
public void Close(Document document) { try { var doc = (LocalDocument)document; if (doc.File == null) return; var token = _localSettings.Values[doc.File.Name]; StorageApplicationPermissions.FutureAccessList.Remove((string)token); _localSettings.Values.Remove(doc.File.Name); } catch (Exception o_0) { } }
public async Task PinDocument(Document d) { string tileActivationArguments = d.Id; try { var secondaryTile = new SecondaryTile(d.Name, d.Name, d.Name, tileActivationArguments, TileOptions.ShowNameOnLogo, new Uri("ms-appx:///assets/PinnedLogo.png")); secondaryTile.RequestCreateAsync(); } catch (Exception o_0) { } }
public async Task Open(Document d) { var existing = Documents.FirstOrDefault(x => x.Name == d.Name && x.Id == d.Id); if (existing != null) { SelectedDocument = existing; return; } Documents.Add(d); SelectedDocument = d; }
public async Task Save(Document document) { return; }