9 Commits

Author SHA1 Message Date
fierke c140a20549 [chore:] textbox-changements global save 2026-06-03 16:38:00 +02:00
fierke ac717c5345 [fix:] file handling 2026-06-03 16:36:36 +02:00
fierke 1580d30d72 [chore:] ui element disableing (customer settings) 2026-05-27 08:42:25 +02:00
fierke 0dacaf19b9 [chore:] control name 2026-05-27 08:41:42 +02:00
fierke 75b6b1dc4d [chore:] various tiny improvements 2026-05-20 08:00:20 +02:00
fierke 1161a437c4 [fix:] wiki preview reloading after saving changes 2026-05-19 09:44:14 +02:00
fierke 605ba95848 [fix:] message box center screen startup 2026-05-19 09:32:06 +02:00
fierke eb38bafd23 [feat:] delete address sets (FINALLY, this was so hard to implement, it took almost 2 minutes) 2026-05-19 09:31:35 +02:00
fierke e2d5ae2a70 Merge pull request '[fix?:] windows paths (ai-based since windows is boring)' (#57) from windows-paths into main
Reviewed-on: #57

since this still works on any linux machines and theoretical on windows machines, we're merging it to prevent wrong commits cause i configured something wrong
2026-05-19 07:24:01 +00:00
5 changed files with 71 additions and 8 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ public class Settings
public static void Save()
{
if (!Directory.Exists(Global._instance.config_path))
if (!Directory.Exists(Global._instance.config_path) && !File.Exists((Global._instance.config_path)))
Directory.CreateDirectory(Global._instance.config_path);
// if (!string.IsNullOrEmpty(Global._instance.config_path)) _instance.settingsPath = Global._instance.config_path;
+5 -5
View File
@@ -78,7 +78,7 @@
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem x:Name="MnIAdSetDelete" Click="MnIAdSetRename_OnClick" IsEnabled="False">
<MenuItem x:Name="MnIAdSetDelete" Click="MnIAdSetDelete_OnClick" IsEnabled="True">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<LucideIcon Kind="Trash" Width="12" Height="12" Size="12" />
@@ -388,7 +388,7 @@
<Label Grid.Column="0">config-Datei</Label>
<StackPanel Grid.Column="1" Orientation="Vertical" Spacing="5">
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBox x:Name="TbConfigPath" HorizontalAlignment="Stretch"
<TextBox x:Name="TbConfigPath" HorizontalAlignment="Stretch" TextChanged="Tb_OnTextChanged"
Watermark="/home/username/.config/logofclient/" />
<Button x:Name="BtnConfigPath" HorizontalAlignment="Right">
<Button.Content>
@@ -405,7 +405,7 @@
<Label Grid.Column="0">Wiki-Pfad</Label>
<StackPanel Grid.Column="1" Orientation="Vertical" Spacing="5">
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBox x:Name="TbWikiPath" HorizontalAlignment="Stretch"
<TextBox x:Name="TbWikiPath" HorizontalAlignment="Stretch" TextChanged="Tb_OnTextChanged"
Watermark="/home/username/.config/logofclient/wiki" />
<Button IsEnabled="True" x:Name="BtnWikiPath" HorizontalAlignment="Right">
<Button.Content>
@@ -422,7 +422,7 @@
<Label Grid.Column="0">Font-Pfad</Label>
<StackPanel Grid.Column="1" Orientation="Vertical" Spacing="5">
<StackPanel Orientation="Horizontal" Spacing="5">
<TextBox x:Name="TbFontPath" HorizontalAlignment="Stretch"
<TextBox x:Name="TbFontPath" HorizontalAlignment="Stretch" TextChanged="Tb_OnTextChanged"
Watermark="[App-Direcotry]/assets/fonts/" />
<Button IsEnabled="True" x:Name="BtnFontPath" HorizontalAlignment="Right">
<Button.Content>
@@ -485,7 +485,7 @@
TextChanged="TbSettingsCustomerSenderAddress_OnTextChanged"
x:Name="TbSettingsCustomerSenderAddress" />
</Grid>
<Grid ColumnDefinitions="150,*,Auto">
<Grid ColumnDefinitions="150,*,Auto" x:Name="GrdCSVDividerButtonsAndTb">
<Label Content="CSV-Trennzeichen" />
<TextBox Grid.Column="1" Watermark=","
HorizontalAlignment="Stretch" Margin="0,0,5,0"
+63
View File
@@ -28,6 +28,7 @@ public partial class MainWindow : Window
Logger.Log($"Session on {DateTime.Now:G}");
Logger.Log("Initializing...");
InitializeComponent();
SetSettingsCustomerEnabledState(false);
//Hide();
var s = new StartupWindow();
@@ -38,6 +39,11 @@ public partial class MainWindow : Window
Logger.Log("Loading settings...");
Global.Load();
Settings.Load();
if (!string.IsNullOrWhiteSpace(Global._instance.config_path))
TbConfigPath.Text = PathUtilities.NormalizeFileSystemPath(Global._instance.config_path);
LoadPdfExportOptions();
HookPdfExportOptionEvents();
@@ -132,6 +138,8 @@ public partial class MainWindow : Window
private void MnuExit_OnClick(object? sender, RoutedEventArgs e)
{
Settings.Save();
Global.Save();
Environment.Exit(0);
}
@@ -212,6 +220,11 @@ public partial class MainWindow : Window
private async void NavTree_SelectionChanged(object? sender, SelectionChangedEventArgs e)
{
ReloadWikiItem();
}
private async void ReloadWikiItem()
{
if (NavTree.SelectedItem is TreeViewItem t && t.Tag is WikiItem item && !item.IsFolder)
{
@@ -255,6 +268,8 @@ public partial class MainWindow : Window
ExpandAndFindNode(nodes, selectPath, out var selectedNode) &&
selectedNode != null)
NavTree.SelectedItem = selectedNode;
ReloadWikiItem();
}catch (Exception ex)
{
Logger.Log($"Error while populating nav tree: {ex.Message}", Logger.LogType.Error);
@@ -444,6 +459,7 @@ public partial class MainWindow : Window
TbSettingsCustomerDescription.Text = "";
TbSettingsCustomerName.Text = "";
TbSettingsCustomerPatchInfo.Text = "";
TbSettingsCustomerName.Focus();
Settings.Save();
RefreshCustomerItems();
@@ -469,6 +485,7 @@ public partial class MainWindow : Window
private void LstSettingsCustomers_OnSelectionChanged(object? sender, SelectionChangedEventArgs e)
{
SetSettingsCustomerEnabledState(false);
if (LstSettingsCustomers.SelectedIndex < 0) return;
Settings._instance.customers.current =
((Customer)LstSettingsCustomers.SelectedItems[0]);
@@ -483,9 +500,19 @@ public partial class MainWindow : Window
TbSettingsCustomerPatchInfo.Text = Settings._instance.customers.current.patch.ToString();
else
TbSettingsCustomerPatchInfo.Text = "";
SetSettingsCustomerEnabledState();
//}
}
private void SetSettingsCustomerEnabledState(bool enable = true)
{
List<Object> nboom = new() { BtnSettingsImportCustomerAddressPatch, GrdCSVDividerButtonsAndTb, TbSettingsCustomerDescription, TbSettingsCustomerName, BtnDeleteCustomer, TbSettingsCustomerSenderAddress};
foreach (var obj in nboom)
{
(obj as Control).IsEnabled = enable;
}
}
private async void EditButton_Click(object? sender, RoutedEventArgs e)
{
if (string.IsNullOrWhiteSpace(_selectedWikiFilePath))
@@ -494,7 +521,13 @@ public partial class MainWindow : Window
return;
}
var editedWikiFilePath = _selectedWikiFilePath;
EditorWindow ew = new(_selectedWikiFilePath);
ew.Closed += (_, _) =>
{
if (!string.IsNullOrWhiteSpace(editedWikiFilePath) && File.Exists(editedWikiFilePath))
PopulateNavTree(editedWikiFilePath, editedWikiFilePath);
};
ew.Show();
//await MessageBox.Show(this, "Edit feature is currently disabled.", "Edit Disabled");
@@ -1237,4 +1270,34 @@ public partial class MainWindow : Window
}
}
private async void MnIAdSetDelete_OnClick(object? sender, RoutedEventArgs e)
{
if(await MessageBox.Show(this,"Wirklich löschen?","",MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
var cus_id = ((Customer)LstCustomers.SelectedItems[0]).ID;
var id = (LstCustomerAdressSets.SelectedItems[0] as KasAddressList).ID;
try
{
foreach (var set in Settings._instance.addressSets.addresses)
if (set.ID == id)
{
Settings._instance.addressSets.addresses.Remove(set);
Settings.Save();
RefreshAddressSetListItems(cus_id);
break;
}
}
catch (Exception ex)
{
MessageBox.Show(this, ex.StackTrace, "Fehler");
Logger.Log($"Error while deleting address set: {ex.Message}", Logger.LogType.Error);
}}
}
private void Tb_OnTextChanged(object? sender, TextChangedEventArgs e)
{
Global.Save();
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" SizeToContent="WidthAndHeight"
mc:Ignorable="d" SizeToContent="WidthAndHeight" WindowStartupLocation="CenterScreen"
x:Class="Logof_Client.MessageBox" Icon="assets/icon.ico"
Title="MessageBox">
<StackPanel>
+1 -1
View File
@@ -35,7 +35,7 @@ public partial class EditorWindow : Window
try
{
File.WriteAllText(filename, TbContent.Text);
MainWindow._instance.PopulateNavTree();
MainWindow._instance.PopulateNavTree(filename, filename);
}
catch (Exception ex)
{