using System; using System.IO; using Avalonia.Controls; using Avalonia.Interactivity; namespace Logof_Client.Wiki; public partial class EditorWindow : Window { public string filename = ""; public EditorWindow(string filename = "") { try { InitializeComponent(); this.filename = PathUtilities.NormalizeFileSystemPath(filename); if (!string.IsNullOrWhiteSpace(this.filename) && File.Exists(this.filename)) { var content = TbContent; if (content != null) content.Text = File.ReadAllText(this.filename); Title = "Wiki Editor - " + filename; } else if (!string.IsNullOrWhiteSpace(this.filename)) { MessageBox.Show(null, "Die Datei existiert nicht", "Fehler"); Close(); } } catch (Exception ex) { Logger.Log($"Error while : {ex.Message}",Logger.LogType.Error);} } private void BtnSave_OnClick(object? sender, RoutedEventArgs e) { try { File.WriteAllText(filename, TbContent.Text); MainWindow._instance.PopulateNavTree(filename, filename); } catch (Exception ex) { MessageBox.Show(null, "Es ist ein Fehler aufgetreten. Bitte senden Sie ihn über git.mypapercloud.de/fierke/logofclient ein:\n" + ex.StackTrace, "Fehler"); Logger.Log($"Error while : {ex.Message}",Logger.LogType.Error); } } private void BtnSaveAs_OnClick(object? sender, RoutedEventArgs e) { MessageBox.Show(null, "Feature noch nicht implemetiert.\nErstelle neue Dateien unter " + PathUtilities.NormalizeFileSystemPath(Global._instance.wiki_storage_path), "Fehler"); } private async void BtnDelete_OnClick(object? sender, RoutedEventArgs e) { var result = await MessageBox.Show(null, "Sicher?", "Sicher?", MessageBoxButton.YesNo); if (result == MessageBoxResult.No) return; try { File.Delete(filename); } catch (Exception ex) { Logger.Log($"Error while : {ex.Message}",Logger.LogType.Error);} MainWindow._instance.PopulateNavTree(); Close(); } }