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 = "") { InitializeComponent(); this.filename = filename; if (!string.IsNullOrWhiteSpace(filename) && File.Exists(filename)) { var content = TbContent; if (content != null) content.Text = File.ReadAllText(this.filename); Title = "Wiki Editor - " + filename; } else if (!string.IsNullOrWhiteSpace(filename)) { MessageBox.Show(null, "Die Datei existiert nicht", "Fehler"); Close(); } } private void BtnSave_OnClick(object? sender, RoutedEventArgs e) { try { File.WriteAllText(filename, TbContent.Text); MainWindow._instance.PopulateNavTree(); } 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"); } } private void BtnSaveAs_OnClick(object? sender, RoutedEventArgs e) { MessageBox.Show(null, "Feature noch nicht implemetiert.\nErstelle neue Dateien unter " + 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; File.Delete(filename); MainWindow._instance.PopulateNavTree(); Close(); } }