Example #1
0
        private async Task <BackupMetadata> SaveLastSavedChangesAsync(ITextEditor textEditor)
        {
            TextFile    snapshot = textEditor.LastSavedSnapshot;
            StorageFile backupFile;

            try
            {
                backupFile = await SessionUtility.CreateNewBackupFileAsync(textEditor.Id.ToString("N") + "-LastSaved");

                await FileSystemUtility.WriteToFile(LineEndingUtility.ApplyLineEnding(snapshot.Content, snapshot.LineEnding), snapshot.Encoding, backupFile);
            }
            catch (Exception ex)
            {
                LoggingService.LogError($"Failed to save backup file: {ex.Message}");
                return(null);
            }

            return(new BackupMetadata
            {
                BackupFilePath = backupFile.Path,
                Encoding = snapshot.Encoding,
                LineEnding = snapshot.LineEnding,
                DateModified = snapshot.DateModifiedFileTime
            });
        }
Example #2
0
        private async Task<BackupMetadata> SavePendingChangesAsync(TextEditor textEditor)
        {
            StorageFile backupFile;
            TextFile textFile;

            try
            {
                backupFile = await SessionUtility.CreateNewBackupFileAsync(textEditor.Id.ToString("N") + "-Pending");
                textFile = await textEditor.SaveContentToFile(backupFile);
            }
            catch
            {
                return null;
            }

            return new BackupMetadata
            {
                BackupFilePath = backupFile.Path,
                Encoding = textFile.Encoding,
                LineEnding = textFile.LineEnding,
                DateModified = textFile.DateModifiedFileTime
            };
        }
Example #3
0
        private async Task <BackupMetadata> SaveLastSavedChangesAsync(TextEditor textEditor)
        {
            TextFile    originalSnapshot = textEditor.OriginalSnapshot;
            StorageFile backupFile;

            try
            {
                backupFile = await SessionUtility.CreateNewBackupFileAsync(textEditor.Id.ToString("N") + "-LastSaved");

                await FileSystemUtility.WriteToFile(LineEndingUtility.ApplyLineEnding(originalSnapshot.Content, originalSnapshot.LineEnding), originalSnapshot.Encoding, backupFile);
            }
            catch
            {
                return(null);
            }

            return(new BackupMetadata
            {
                BackupFilePath = backupFile.Path,
                Encoding = originalSnapshot.Encoding,
                LineEnding = originalSnapshot.LineEnding,
                DateModified = originalSnapshot.DateModifiedFileTime
            });
        }