mirror of
https://github.com/Stone-Red-Code/DesktopMagic.git
synced 2026-09-04 00:46:12 +02:00
Add missing translations
This commit is contained in:
Binary file not shown.
@@ -98,6 +98,23 @@ public partial class App : Application
|
||||
}
|
||||
}
|
||||
|
||||
public static ResourceDictionary GetLanguageDictionary()
|
||||
{
|
||||
ResourceDictionary dict = [];
|
||||
string currentCulture = Thread.CurrentThread.CurrentUICulture.ToString();
|
||||
|
||||
if (currentCulture.Contains("de"))
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.de.xaml", UriKind.Relative);
|
||||
}
|
||||
else
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.en.xaml", UriKind.Relative);
|
||||
}
|
||||
|
||||
return dict;
|
||||
}
|
||||
|
||||
protected void CloseHandler(object sender, EventArgs e)
|
||||
{
|
||||
eventWaitHandle.Close();
|
||||
|
||||
@@ -12,7 +12,7 @@ using System.Windows.Input;
|
||||
|
||||
namespace DesktopMagic.DataContexts;
|
||||
|
||||
internal class PluginEntryDataContext(PluginMetadata pluginMetadata, ICommand command, string? buttonText = "") : INotifyPropertyChanged
|
||||
internal class PluginEntryDataContext(PluginMetadata pluginMetadata, ICommand command, PluginEntryDataContext.Mode mode, string? path = null) : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler? PropertyChanged;
|
||||
|
||||
@@ -22,9 +22,9 @@ internal class PluginEntryDataContext(PluginMetadata pluginMetadata, ICommand co
|
||||
|
||||
public string? Description => pluginMetadata.Description;
|
||||
|
||||
public string Author => pluginMetadata.Author ?? "Unknown";
|
||||
public string Author => pluginMetadata.Author ?? (string)App.GetLanguageDictionary()["unknown"];
|
||||
|
||||
public string? Version => pluginMetadata.Version ?? "Unknown";
|
||||
public string? Version => pluginMetadata.Version ?? (string)App.GetLanguageDictionary()["unknown"];
|
||||
|
||||
public string? Logo => pluginMetadata.IconUri?.ToString();
|
||||
|
||||
@@ -33,15 +33,24 @@ internal class PluginEntryDataContext(PluginMetadata pluginMetadata, ICommand co
|
||||
|
||||
public uint Id => pluginMetadata.Id;
|
||||
|
||||
public string? ButtonText => buttonText;
|
||||
|
||||
public ICommand Command => command;
|
||||
|
||||
public ButtonData InstallUninstallButtonData => new(ButtonText ?? "Install", true, Command);
|
||||
public ButtonData OpenModioButtonData => new("modio", true, new CommandHandler(OpenModioPage));
|
||||
public ButtonData InstallUninstallButtonData => new(mode == Mode.Install ? PackIconKind.Download : PackIconKind.Remove, GetInstallUninstallButtonText(), true, Command);
|
||||
|
||||
|
||||
public Visibility ButtonVisibility => string.IsNullOrWhiteSpace(buttonText) ? Visibility.Collapsed : Visibility.Visible;
|
||||
public ButtonData OpenButtonData
|
||||
{
|
||||
get
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(pluginMetadata.ProfileUri?.ToString()))
|
||||
{
|
||||
return new(PackIconKind.FolderOutline, (string)App.GetLanguageDictionary()["folder"], path is not null, new CommandHandler(() => Process.Start("explorer.exe", path!)));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new(PackIconKind.ExternalLink, "mod.io", true, new CommandHandler(OpenModioPage));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsVisible
|
||||
{
|
||||
@@ -53,7 +62,6 @@ internal class PluginEntryDataContext(PluginMetadata pluginMetadata, ICommand co
|
||||
OnPropertyChanged(nameof(Visibility));
|
||||
}
|
||||
}
|
||||
public MaterialDesignThemes.Wpf.PackIconKind IconKind => MaterialDesignThemes.Wpf.PackIconKind.Information;
|
||||
|
||||
public Visibility Visibility => IsVisible ? Visibility.Visible : Visibility.Collapsed;
|
||||
|
||||
@@ -62,16 +70,32 @@ internal class PluginEntryDataContext(PluginMetadata pluginMetadata, ICommand co
|
||||
ProcessStartInfo psi = new ProcessStartInfo
|
||||
{
|
||||
UseShellExecute = true,
|
||||
FileName = pluginMetadata.ProfileUri?.ToString()
|
||||
FileName = pluginMetadata.ProfileUri?.ToString() ?? path
|
||||
};
|
||||
|
||||
_ = Process.Start(psi);
|
||||
}
|
||||
|
||||
private string GetInstallUninstallButtonText()
|
||||
{
|
||||
return mode switch
|
||||
{
|
||||
Mode.Install => (string)App.GetLanguageDictionary()["install"],
|
||||
Mode.Uninstall => (string)App.GetLanguageDictionary()["uninstall"],
|
||||
_ => throw new NotImplementedException()
|
||||
};
|
||||
}
|
||||
|
||||
private void OnPropertyChanged([CallerMemberName] string? propertyName = null)
|
||||
{
|
||||
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
}
|
||||
|
||||
public record ButtonData(PackIconKind IconKind, string Text, bool IsEnabled, ICommand Command);
|
||||
|
||||
public enum Mode
|
||||
{
|
||||
Install,
|
||||
Uninstall
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
using DesktopMagic.Helpers;
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
@@ -17,12 +15,14 @@ public partial class ColorDialog : Window
|
||||
|
||||
public Brush ResultBrush { get; private set; } = Brushes.Transparent;
|
||||
|
||||
public ColorDialog(string content, System.Drawing.Color defaultColor, string title = "ColorDialog")
|
||||
public ColorDialog(string content, System.Drawing.Color defaultColor, string title = App.AppName)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Resources.MergedDictionaries.Add(App.GetLanguageDictionary());
|
||||
|
||||
label.Content = content;
|
||||
Title = title;
|
||||
SetLanguageDictionary();
|
||||
|
||||
alphaSlider.Value = defaultColor.A;
|
||||
redSlider.Value = defaultColor.R;
|
||||
@@ -108,20 +108,4 @@ public partial class ColorDialog : Window
|
||||
|
||||
colorHexTextBox.Text += ((int)redSlider.Value).ToString("X2") + ((int)greenSlider.Value).ToString("X2") + ((int)blueSlider.Value).ToString("X2");
|
||||
}
|
||||
|
||||
private void SetLanguageDictionary()
|
||||
{
|
||||
ResourceDictionary dict = [];
|
||||
string currentCulture = Thread.CurrentThread.CurrentCulture.ToString();
|
||||
|
||||
if (currentCulture.Contains("de"))
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.de.xaml", UriKind.Relative);
|
||||
}
|
||||
else
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.en.xaml", UriKind.Relative);
|
||||
}
|
||||
Resources.MergedDictionaries.Add(dict);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,4 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Windows;
|
||||
using System.Windows;
|
||||
|
||||
namespace DesktopMagic.Dialogs;
|
||||
|
||||
@@ -12,12 +10,14 @@ public partial class InputDialog : Window
|
||||
set => textBox.Text = value;
|
||||
}
|
||||
|
||||
public InputDialog(string content, string title = "InputDialog")
|
||||
public InputDialog(string content, string title = App.AppName)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Resources.MergedDictionaries.Add(App.GetLanguageDictionary());
|
||||
|
||||
label.Content = content;
|
||||
Title = title;
|
||||
SetLanguageDictionary();
|
||||
}
|
||||
|
||||
private void OkButton_Click(object sender, RoutedEventArgs e)
|
||||
@@ -29,20 +29,4 @@ public partial class InputDialog : Window
|
||||
{
|
||||
DialogResult = false;
|
||||
}
|
||||
|
||||
private void SetLanguageDictionary()
|
||||
{
|
||||
ResourceDictionary dict = [];
|
||||
string currentCulture = Thread.CurrentThread.CurrentCulture.ToString();
|
||||
|
||||
if (currentCulture.Contains("de"))
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.de.xaml", UriKind.Relative);
|
||||
}
|
||||
else
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.en.xaml", UriKind.Relative);
|
||||
}
|
||||
Resources.MergedDictionaries.Add(dict);
|
||||
}
|
||||
}
|
||||
@@ -133,16 +133,46 @@
|
||||
<Rectangle Fill="#FFC5C5C5" Stroke="#FFC5C5C5" Grid.ColumnSpan="3" />
|
||||
<StackPanel Margin="{StaticResource DefaultMargin}" VerticalAlignment="Bottom">
|
||||
<ComboBox x:Name="layoutsComboBox" ItemsSource="{Binding Settings.Layouts}" DisplayMemberPath="Name" SelectedValue="{Binding Settings.CurrentLayoutName}" SelectedValuePath="Name" HorizontalAlignment="Left" Margin="0,0,0,5" Width="170" Height="20" SelectionChanged="LayoutsComboBox_SelectionChanged" />
|
||||
<Button x:Name="newLayoutButton" Content="{DynamicResource newLayout}" Margin="0,0,0,5" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="170" Click="NewLayoutButton_Click" FontWeight="Regular" />
|
||||
<Button x:Name="removeLayoutButton" Content="{DynamicResource deleteLayout}" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="170" Click="RemoveLayoutButton_Click" FontWeight="Regular" />
|
||||
<Button x:Name="newLayoutButton" Margin="0,0,0,5" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="170" Click="NewLayoutButton_Click" FontWeight="Regular">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="Add" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{DynamicResource newLayout}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button x:Name="removeLayoutButton" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="170" Click="RemoveLayoutButton_Click" FontWeight="Regular">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="DeleteOutline" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{DynamicResource deleteLayout}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="1" Margin="{StaticResource DefaultMargin}" VerticalAlignment="Bottom">
|
||||
<Button x:Name="updatePluginsButton" Content="{DynamicResource updatePlugins}" Margin="0,0,0,5" HorizontalAlignment="Center" Width="170" Click="UpdatePluginsButton_Click" FontWeight="Regular" />
|
||||
<Button x:Name="githubButton" Content="GitHub" HorizontalAlignment="Center" Width="170" Click="GitHubButton_Click" FontWeight="Regular" Cursor="Hand" />
|
||||
<Button x:Name="updatePluginsButton" Margin="0,0,0,5" HorizontalAlignment="Center" Width="170" Click="UpdatePluginsButton_Click" FontWeight="Regular">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="Reload" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{DynamicResource updatePlugins}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button x:Name="githubButton" HorizontalAlignment="Center" Width="170" Click="GitHubButton_Click" FontWeight="Regular" Cursor="Hand">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="Github" Margin="0 0 10 0" />
|
||||
<TextBlock Text="GitHub" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="2" Margin="{StaticResource DefaultMargin}" VerticalAlignment="Bottom">
|
||||
<Button x:Name="downloadPluginsButton" Content="{DynamicResource pluginManager}" Margin="0,0,0,5" HorizontalAlignment="Right" Width="170" Click="PluginManagerButton_Click" FontWeight="Regular" Cursor="Hand" />
|
||||
<Button x:Name="openPluginsFolderButton" Content="{DynamicResource openPluginsFolder}" HorizontalAlignment="Right" Width="170" Click="OpenPluginsFolderButton_Click" FontWeight="Regular" />
|
||||
<Button x:Name="downloadPluginsButton" Margin="0,0,0,5" HorizontalAlignment="Right" Width="170" Click="PluginManagerButton_Click" FontWeight="Regular" Cursor="Hand">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="ExtensionOutline" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{DynamicResource pluginManager}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button x:Name="openPluginsFolderButton" HorizontalAlignment="Right" Width="170" Click="OpenPluginsFolderButton_Click" FontWeight="Regular">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="FolderOutline" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{DynamicResource pluginsFolder}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
@@ -26,10 +26,10 @@ namespace DesktopMagic
|
||||
|
||||
private readonly Dictionary<PluginMetadata, Type> builtInPlugins = new()
|
||||
{
|
||||
{new("Music Visualizer", 1), typeof(MusicVisualizerPlugin)},
|
||||
{new("Time",2), typeof(TimePlugin)},
|
||||
{new("Date",3), typeof(DatePlugin)},
|
||||
{new("Cpu Usage", 4), typeof(CpuMonitorPlugin)}
|
||||
{new((string)App.GetLanguageDictionary()["musicVisualizer"], 1), typeof(MusicVisualizerPlugin)},
|
||||
{new((string)App.GetLanguageDictionary()["time"],2), typeof(TimePlugin)},
|
||||
{new((string)App.GetLanguageDictionary()["date"],3), typeof(DatePlugin)},
|
||||
{new((string)App.GetLanguageDictionary()["cpuUsage"], 4), typeof(CpuMonitorPlugin)}
|
||||
};
|
||||
|
||||
private bool loaded = false;
|
||||
@@ -58,17 +58,17 @@ namespace DesktopMagic
|
||||
{
|
||||
Items =
|
||||
{
|
||||
new System.Windows.Forms.ToolStripMenuItem("Open", null, (s, e) => RestoreWindow()),
|
||||
new System.Windows.Forms.ToolStripMenuItem("Toggle Edit Mode", null, (s, e) => { EditCheckBox.IsChecked = !EditCheckBox.IsChecked; EditCheckBox_Click(null, null); }),
|
||||
new System.Windows.Forms.ToolStripMenuItem("Plugin Manager", null, (s, e) => PluginManagerButton_Click(null!, null!)),
|
||||
new System.Windows.Forms.ToolStripMenuItem((string)App.GetLanguageDictionary()["open"], null, (s, e) => RestoreWindow()),
|
||||
new System.Windows.Forms.ToolStripMenuItem((string)App.GetLanguageDictionary()["toggleEditMode"], null, (s, e) => { EditCheckBox.IsChecked = !EditCheckBox.IsChecked; EditCheckBox_Click(null, null); }),
|
||||
new System.Windows.Forms.ToolStripMenuItem((string)App.GetLanguageDictionary()["pluginManager"], null, (s, e) => PluginManagerButton_Click(null!, null!)),
|
||||
new System.Windows.Forms.ToolStripMenuItem("GitHub", null, (s, e) => GitHubButton_Click(null!, null!)),
|
||||
new System.Windows.Forms.ToolStripMenuItem("Quit", null, (s, e) => Quit()),
|
||||
new System.Windows.Forms.ToolStripMenuItem((string)App.GetLanguageDictionary()["quit"], null, (s, e) => Quit()),
|
||||
}
|
||||
};
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
SetLanguageDictionary();
|
||||
Resources.MergedDictionaries.Add(App.GetLanguageDictionary());
|
||||
|
||||
#if DEBUG
|
||||
Title = $"{App.AppName} - Dev {System.Windows.Forms.Application.ProductVersion}";
|
||||
@@ -664,22 +664,6 @@ namespace DesktopMagic
|
||||
LoadPlugins();
|
||||
LoadLayout(Visibility != Visibility.Visible);
|
||||
}
|
||||
|
||||
private void SetLanguageDictionary()
|
||||
{
|
||||
ResourceDictionary dict = [];
|
||||
string currentCulture = Thread.CurrentThread.CurrentUICulture.ToString();
|
||||
|
||||
if (currentCulture.Contains("de"))
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.de.xaml", UriKind.Relative);
|
||||
}
|
||||
else
|
||||
{
|
||||
dict.Source = new Uri("..\\Resources\\Strings\\StringResources.en.xaml", UriKind.Relative);
|
||||
}
|
||||
Resources.MergedDictionaries.Add(dict);
|
||||
}
|
||||
}
|
||||
|
||||
internal class InternalPluginData(PluginMetadata pluginMetadata, string directoryPath)
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
</Border>
|
||||
|
||||
<StackPanel Grid.Column="1" VerticalAlignment="Center">
|
||||
<Label Content="{Binding Author}" HorizontalAlignment="Center" ContentStringFormat="Author: {0}" />
|
||||
<Label Content="{Binding DateAdded}" HorizontalAlignment="Center" ContentStringFormat="Added: {0}" />
|
||||
<Label Content="{Binding DateUpdated}" HorizontalAlignment="Center" ContentStringFormat="Updated: {0}" />
|
||||
<Label Content="{Binding Version}" HorizontalAlignment="Center" ContentStringFormat="Version: {0}" />
|
||||
<Label Content="{Binding Author}" HorizontalAlignment="Center" ContentStringFormat="{DynamicResource authorFormat}" />
|
||||
<Label Content="{Binding DateAdded}" HorizontalAlignment="Center" ContentStringFormat="{DynamicResource addedFormat}" />
|
||||
<Label Content="{Binding DateUpdated}" HorizontalAlignment="Center" ContentStringFormat="{DynamicResource updatedFormat}" />
|
||||
<Label Content="{Binding Version}" HorizontalAlignment="Center" ContentStringFormat="{DynamicResource versionFormat}" />
|
||||
</StackPanel>
|
||||
|
||||
<Grid Grid.Row="1" Grid.ColumnSpan="2">
|
||||
@@ -41,16 +41,16 @@
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Button Grid.Column="0" Command="{Binding Command}" Visibility="{Binding ButtonVisibility}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Margin="10 5 5 0">
|
||||
<Button Grid.Column="0" Command="{Binding InstallUninstallButtonData.Command}" IsEnabled="{Binding InstallUninstallButtonData.IsEnabled}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Margin="10 5 5 0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="{Binding IconKind}" Margin="0 0 10 0"/>
|
||||
<TextBlock Text="{Binding ButtonText}" />
|
||||
<materialDesign:PackIcon Kind="{Binding InstallUninstallButtonData.IconKind}" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{Binding InstallUninstallButtonData.Text}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
<Button Grid.Column="1" Command="{Binding OpenModioCommand}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Margin="5 5 10 0">
|
||||
<Button Grid.Column="1" Command="{Binding OpenButtonData.Command}" IsEnabled="{Binding OpenButtonData.IsEnabled}" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" Margin="5 5 10 0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<materialDesign:PackIcon Kind="ExternalLink" Margin="0 0 10 0"/>
|
||||
<TextBlock Text="mod.io" />
|
||||
<materialDesign:PackIcon Kind="{Binding OpenButtonData.IconKind}" Margin="0 0 10 0" />
|
||||
<TextBlock Text="{Binding OpenButtonData.Text}" />
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</Grid>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace DesktopMagic.Plugins;
|
||||
|
||||
/// <summary>
|
||||
/// Interaction logic for ModEntry.xaml
|
||||
/// </summary>
|
||||
@@ -10,4 +11,4 @@ public partial class ModEntry : UserControl
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
xmlns:dataContexts="clr-namespace:DesktopMagic.DataContexts"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=dataContexts:PluginManagerDataContext}"
|
||||
Title="Plugin Manager"
|
||||
Title="{DynamicResource pluginManager}"
|
||||
Height="450"
|
||||
Width="800"
|
||||
MinHeight="520"
|
||||
@@ -31,7 +31,7 @@
|
||||
<ColumnDefinition />
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Label Content="All plugins" FontSize="20" />
|
||||
<Label Content="{DynamicResource allPlugins}" FontSize="20" />
|
||||
|
||||
<TextBox Grid.Row="1" Text="{Binding AllPluginsSearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" TextChanged="AllPluginsSearchTextBox_TextChanged" materialDesign:HintAssist.Hint="Search..." materialDesign:TextFieldAssist.HasLeadingIcon="True" materialDesign:TextFieldAssist.LeadingIcon="Search" />
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
</ScrollViewer>
|
||||
</busyIndicator:BusyMask>
|
||||
|
||||
<Label Grid.Column="1" Content="Installed plugins" FontSize="20" />
|
||||
<Label Grid.Column="1" Content="{DynamicResource installedPlugins}" FontSize="20" />
|
||||
|
||||
<TextBox Grid.Row="1" Grid.Column="1" Text="{Binding InstalledPluginsSearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" TextChanged="InstalledPluginsSearchTextBox_TextChanged" materialDesign:HintAssist.Hint="Search..." materialDesign:TextFieldAssist.HasLeadingIcon="True" materialDesign:TextFieldAssist.LeadingIcon="Search" />
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ public partial class PluginManager : Window
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Resources.MergedDictionaries.Add(App.GetLanguageDictionary());
|
||||
|
||||
DataContext = pluginManagerDataContext;
|
||||
searchTimer.Tick += async (sender, e) =>
|
||||
{
|
||||
@@ -97,7 +99,7 @@ public partial class PluginManager : Window
|
||||
|
||||
if (pluginMetadata is not null)
|
||||
{
|
||||
pluginManagerDataContext.InstalledPlugins.Add(new PluginEntryDataContext(pluginMetadata, new CommandHandler(() => Remove(pluginPath, pluginMetadata.Id)), "Uninstall"));
|
||||
pluginManagerDataContext.InstalledPlugins.Add(new PluginEntryDataContext(pluginMetadata, new CommandHandler(() => Remove(pluginPath, pluginMetadata.Id)), PluginEntryDataContext.Mode.Uninstall, pluginPath));
|
||||
_ = pluginIds.Add(pluginMetadata.Id);
|
||||
}
|
||||
}
|
||||
@@ -112,7 +114,7 @@ public partial class PluginManager : Window
|
||||
continue;
|
||||
}
|
||||
|
||||
pluginManagerDataContext.AllPlugins.Add(new PluginEntryDataContext(new(mod), new CommandHandler(async () => await Install(mod)), "Install"));
|
||||
pluginManagerDataContext.AllPlugins.Add(new PluginEntryDataContext(new(mod), new CommandHandler(async () => await Install(mod)), PluginEntryDataContext.Mode.Install));
|
||||
}
|
||||
|
||||
pluginManagerDataContext.IsLoading = false;
|
||||
@@ -168,7 +170,7 @@ public partial class PluginManager : Window
|
||||
_ = pluginManagerDataContext.AllPlugins.Remove(pluginEntryDataContext);
|
||||
}
|
||||
|
||||
pluginManagerDataContext.InstalledPlugins.Add(new PluginEntryDataContext(new PluginMetadata(mod), new CommandHandler(() => Remove(pluginPath, mod.Id)), "Uninstall"));
|
||||
pluginManagerDataContext.InstalledPlugins.Add(new PluginEntryDataContext(new PluginMetadata(mod), new CommandHandler(() => Remove(pluginPath, mod.Id)), PluginEntryDataContext.Mode.Uninstall));
|
||||
|
||||
pluginManagerDataContext.IsLoading = false;
|
||||
}
|
||||
@@ -228,7 +230,7 @@ public partial class PluginManager : Window
|
||||
continue;
|
||||
}
|
||||
|
||||
pluginManagerDataContext.AllPlugins.Add(new PluginEntryDataContext(new(mod), new CommandHandler(async () => await Install(mod)), "Install"));
|
||||
pluginManagerDataContext.AllPlugins.Add(new PluginEntryDataContext(new(mod), new CommandHandler(async () => await Install(mod)), PluginEntryDataContext.Mode.Install));
|
||||
}
|
||||
|
||||
pluginManagerDataContext.IsSearching = false;
|
||||
|
||||
@@ -5,9 +5,16 @@
|
||||
|
||||
<system:String x:Key="lineMode">Linie</system:String>
|
||||
<system:String x:Key="mirrorMode">Spiegeln</system:String>
|
||||
<system:String x:Key="folder">Ordner</system:String>
|
||||
<system:String x:Key="unknown">Unbekannt</system:String>
|
||||
<system:String x:Key="open">Öffnen</system:String>
|
||||
<system:String x:Key="quit">Schließen</system:String>
|
||||
<system:String x:Key="toggleEditMode">Bearbeitungsmodus umschalten</system:String>
|
||||
<system:String x:Key="allPlugins">Alle Plugins</system:String>
|
||||
<system:String x:Key="installedPlugins">Installierte Plugins</system:String>
|
||||
<system:String x:Key="updatePlugins">Neu Laden</system:String>
|
||||
<system:String x:Key="openPluginsFolder">Plugins Ordner Öffnen</system:String>
|
||||
<system:String x:Key="pluginManager">Plugin Manager</system:String>
|
||||
<system:String x:Key="pluginsFolder">Plugins Ordner</system:String>
|
||||
<system:String x:Key="pluginManager">Plugins Manager</system:String>
|
||||
<system:String x:Key="color">Farbe:</system:String>
|
||||
<system:String x:Key="default">Standard</system:String>
|
||||
<system:String x:Key="wantToCloseProgram">Wollen sie das Programm wirklich schließen?</system:String>
|
||||
@@ -16,9 +23,7 @@
|
||||
<system:String x:Key="time">Uhrzeit</system:String>
|
||||
<system:String x:Key="date">Datum</system:String>
|
||||
<system:String x:Key="cpuUsage">CPU Auslastung</system:String>
|
||||
<system:String x:Key="googleCalendar">Google Kalender</system:String>
|
||||
<system:String x:Key="musicVisualizer">Musik Visualizer</system:String>
|
||||
<system:String x:Key="musicVisualizerOptions">Musik Visualizer Einstellungen:</system:String>
|
||||
<system:String x:Key="musicVisualizer">Musik Visualisierer</system:String>
|
||||
<system:String x:Key="amplifier">Signalverstärkung:</system:String>
|
||||
<system:String x:Key="newLayout">Neues Layout</system:String>
|
||||
<system:String x:Key="deleteLayout">Layout Löschen</system:String>
|
||||
@@ -27,7 +32,12 @@
|
||||
<system:String x:Key="enterLayoutName">Layoutnamen eingeben:</system:String>
|
||||
<system:String x:Key="layoutAlreadyExists">Layout existiert bereits!</system:String>
|
||||
<system:String x:Key="install">Installieren</system:String>
|
||||
<system:String x:Key="uninstall">Deinstallieren</system:String>
|
||||
<system:String x:Key="remove">Entfernen</system:String>
|
||||
<system:String x:Key="authorFormat">Author: {0}</system:String>
|
||||
<system:String x:Key="addedFormat">Erstellt: {0}</system:String>
|
||||
<system:String x:Key="updatedFormat">Aktualisiert: {0}</system:String>
|
||||
<system:String x:Key="versionFormat">Version: {0}</system:String>
|
||||
<col:ArrayList x:Key="musicVisualizerOptionsComboboxItems">
|
||||
<system:String>Unten</system:String>
|
||||
<system:String>Mitte</system:String>
|
||||
|
||||
@@ -5,9 +5,16 @@
|
||||
|
||||
<system:String x:Key="lineMode">Line</system:String>
|
||||
<system:String x:Key="mirrorMode">Mirror</system:String>
|
||||
<system:String x:Key="folder">Folder</system:String>
|
||||
<system:String x:Key="unknown">Unknown</system:String>
|
||||
<system:String x:Key="open">Open</system:String>
|
||||
<system:String x:Key="quit">Quit</system:String>
|
||||
<system:String x:Key="toggleEditMode">Toggle Edit Mode</system:String>
|
||||
<system:String x:Key="allPlugins">All Plugins</system:String>
|
||||
<system:String x:Key="installedPlugins">Installed Plugins</system:String>
|
||||
<system:String x:Key="updatePlugins">Reload</system:String>
|
||||
<system:String x:Key="openPluginsFolder">Open Plugins Folder</system:String>
|
||||
<system:String x:Key="pluginManager">Plugin Manager</system:String>
|
||||
<system:String x:Key="pluginsFolder">Plugins Folder</system:String>
|
||||
<system:String x:Key="pluginManager">Plugins Manager</system:String>
|
||||
<system:String x:Key="color">Color:</system:String>
|
||||
<system:String x:Key="default">Default</system:String>
|
||||
<system:String x:Key="wantToCloseProgram">Do you really want to close the program?</system:String>
|
||||
@@ -16,9 +23,7 @@
|
||||
<system:String x:Key="time">Time</system:String>
|
||||
<system:String x:Key="date">Date</system:String>
|
||||
<system:String x:Key="cpuUsage">CPU Usage</system:String>
|
||||
<system:String x:Key="googleCalendar">Google Calendar</system:String>
|
||||
<system:String x:Key="musicVisualizer">Music Visualizer</system:String>
|
||||
<system:String x:Key="musicVisualizerOptions">Music Visualizer Options:</system:String>
|
||||
<system:String x:Key="amplifier">Signal Amplification:</system:String>
|
||||
<system:String x:Key="newLayout">New Layout</system:String>
|
||||
<system:String x:Key="deleteLayout">Delete Layout</system:String>
|
||||
@@ -27,7 +32,12 @@
|
||||
<system:String x:Key="enterLayoutName">Enter layout name</system:String>
|
||||
<system:String x:Key="layoutAlreadyExists">Layout already exists!</system:String>
|
||||
<system:String x:Key="install">Install</system:String>
|
||||
<system:String x:Key="uninstall">Uninstall</system:String>
|
||||
<system:String x:Key="remove">Remove</system:String>
|
||||
<system:String x:Key="authorFormat">Author: {0}</system:String>
|
||||
<system:String x:Key="addedFormat">Added: {0}</system:String>
|
||||
<system:String x:Key="updatedFormat">Updated: {0}</system:String>
|
||||
<system:String x:Key="versionFormat">Version: {0}</system:String>
|
||||
<col:ArrayList x:Key="musicVisualizerOptionsComboboxItems">
|
||||
<system:String>Bottom</system:String>
|
||||
<system:String>Middle</system:String>
|
||||
|
||||
Reference in New Issue
Block a user