diff --git a/SSD-LED/Form1.Designer.cs b/SSD-LED/Form1.Designer.cs
index 5af8dc9..a46ba6e 100644
--- a/SSD-LED/Form1.Designer.cs
+++ b/SSD-LED/Form1.Designer.cs
@@ -55,9 +55,12 @@ private void InitializeComponent()
this.label1 = new System.Windows.Forms.Label();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.lblLanguage = new System.Windows.Forms.Label();
+ this.cbxlanguage = new System.Windows.Forms.ComboBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.button5 = new System.Windows.Forms.Button();
this.label4 = new System.Windows.Forms.Label();
+ this.checkBox3 = new System.Windows.Forms.CheckBox();
this.btnSaveCfg2 = new System.Windows.Forms.Button();
this.btnApplyColor = new System.Windows.Forms.Button();
this.tbColorWrite = new System.Windows.Forms.TextBox();
@@ -67,7 +70,6 @@ private void InitializeComponent()
this.tbColorDefault = new System.Windows.Forms.TextBox();
this.btnColorDefault = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
- this.checkBox3 = new System.Windows.Forms.CheckBox();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
@@ -350,6 +352,8 @@ private void InitializeComponent()
//
// splitContainer2.Panel1
//
+ this.splitContainer2.Panel1.Controls.Add(this.lblLanguage);
+ this.splitContainer2.Panel1.Controls.Add(this.cbxlanguage);
this.splitContainer2.Panel1.Controls.Add(this.checkBox2);
this.splitContainer2.Panel1.Controls.Add(this.button5);
this.splitContainer2.Panel1.Controls.Add(this.label4);
@@ -370,6 +374,27 @@ private void InitializeComponent()
this.splitContainer2.SplitterDistance = 237;
this.splitContainer2.TabIndex = 0;
//
+ // lblLanguage
+ //
+ this.lblLanguage.AutoSize = true;
+ this.lblLanguage.Location = new System.Drawing.Point(8, 75);
+ this.lblLanguage.Name = "lblLanguage";
+ this.lblLanguage.Size = new System.Drawing.Size(91, 13);
+ this.lblLanguage.TabIndex = 5;
+ this.lblLanguage.Text = "Select Language:";
+ //
+ // cbxlanguage
+ //
+ this.cbxlanguage.AllowDrop = true;
+ this.cbxlanguage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.cbxlanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.cbxlanguage.FormattingEnabled = true;
+ this.cbxlanguage.Location = new System.Drawing.Point(11, 91);
+ this.cbxlanguage.Name = "cbxlanguage";
+ this.cbxlanguage.Size = new System.Drawing.Size(155, 21);
+ this.cbxlanguage.TabIndex = 0;
+ this.cbxlanguage.SelectedIndexChanged += new System.EventHandler(this.cbxlanguage_SelectedIndexChanged);
+ //
// checkBox2
//
this.checkBox2.AutoSize = true;
@@ -399,6 +424,18 @@ private void InitializeComponent()
this.label4.TabIndex = 0;
this.label4.Text = "Autostart setting";
//
+ // checkBox3
+ //
+ this.checkBox3.AutoSize = true;
+ this.checkBox3.Checked = true;
+ this.checkBox3.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.checkBox3.Location = new System.Drawing.Point(6, 108);
+ this.checkBox3.Name = "checkBox3";
+ this.checkBox3.Size = new System.Drawing.Size(172, 17);
+ this.checkBox3.TabIndex = 9;
+ this.checkBox3.Text = "enable color scaling (mixcolors)";
+ this.checkBox3.UseVisualStyleBackColor = true;
+ //
// btnSaveCfg2
//
this.btnSaveCfg2.Location = new System.Drawing.Point(87, 131);
@@ -482,18 +519,6 @@ private void InitializeComponent()
this.label5.TabIndex = 0;
this.label5.Text = "Color settings";
//
- // checkBox3
- //
- this.checkBox3.AutoSize = true;
- this.checkBox3.Checked = true;
- this.checkBox3.CheckState = System.Windows.Forms.CheckState.Checked;
- this.checkBox3.Location = new System.Drawing.Point(6, 108);
- this.checkBox3.Name = "checkBox3";
- this.checkBox3.Size = new System.Drawing.Size(172, 17);
- this.checkBox3.TabIndex = 9;
- this.checkBox3.Text = "enable color scaling (mixcolors)";
- this.checkBox3.UseVisualStyleBackColor = true;
- //
// SSDLED
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -564,6 +589,8 @@ private void InitializeComponent()
private System.Windows.Forms.Button btnApplyColor;
private System.Windows.Forms.Button btnSaveCfg2;
private System.Windows.Forms.CheckBox checkBox3;
+ private System.Windows.Forms.Label lblLanguage;
+ private System.Windows.Forms.ComboBox cbxlanguage;
}
}
diff --git a/SSD-LED/Form1.cs b/SSD-LED/Form1.cs
index 7203bed..4d0592d 100644
--- a/SSD-LED/Form1.cs
+++ b/SSD-LED/Form1.cs
@@ -39,6 +39,9 @@ public partial class SSDLED : Form
private int tickErrorCount = 0;
private int tickErrorCountMax = 3;
+ // Flag um Sprach-ComboBox-Rekursion zu vermeiden
+ private bool _isUpdatingLanguageComboBox = false;
+
#region Debug hiding form...
/*
protected override void SetVisibleCore(bool value)
@@ -69,6 +72,13 @@ public SSDLED()
{
InitializeComponent();
+ // Übersetzungssystem initialisieren
+ TranslationManager.Instance.LoadAvailableLanguages();
+ TranslationManager.Instance.LoadSystemLanguage();
+
+ // UI-Texte übersetzen
+ ApplyTranslations();
+
//var test = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
//var logFilePath = Path.Combine(Environment.GetEnvironmentVariable("LocalAppData"), "log.txt");
@@ -84,70 +94,70 @@ public SSDLED()
.WriteTo.File(logFilePath, rollingInterval: RollingInterval.Day, fileSizeLimitBytes: 1024*100)
.CreateLogger();
- Log.Information("Starting "+ NameAndVersion());
+ Log.Information(TranslationManager.Instance.T("Starting ") + NameAndVersion());
//this.Hide(); is useless here...
oldIconColor = defaultColor;
iconDefault = CreateIcon(defaultColor);
initTrayIcon();
- notifyIcon.Text = "Initializing...";
+ notifyIcon.Text = TranslationManager.Instance.T("Initializing...");
if(!RefreshDriveList())
{
- DialogResult dialogResult = MessageBox.Show("Error during initialization of PhysicalDisk list - try again?", "Initialization failed...", MessageBoxButtons.YesNo);
+ DialogResult dialogResult = MessageBox.Show(TranslationManager.Instance.T("Error during initialization of PhysicalDisk list - try again?"), TranslationManager.Instance.T("Initialization failed..."), MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
- if (!RefreshDriveList())
- {
- Log.Error("Error during initialization of PhysicalDisk list");
- Log.CloseAndFlush();
- Application.Exit();
+ if (!RefreshDriveList())
+ {
+ Log.Error("Error during initialization of PhysicalDisk list");
+ Log.CloseAndFlush();
+ Application.Exit();
+ }
+ }
+ else if (dialogResult == DialogResult.No)
+ {
+ Log.Error("Error during initialization of PhysicalDisk list");
+ Log.CloseAndFlush();
+ Application.Exit();
+ }
}
- }
- else if (dialogResult == DialogResult.No)
- {
- Log.Error("Error during initialization of PhysicalDisk list");
- Log.CloseAndFlush();
- Application.Exit();
- }
- }
- label1.Text = NameAndVersion() + " by SIRprise";
+ label1.Text = NameAndVersion() + " " + TranslationManager.Instance.T("by SIRprise");
- if(loadSettings() == false)
- Log.Error("Error while parsing settings");
+ if(loadSettings() == false)
+ Log.Error(TranslationManager.Instance.T("Error while parsing settings"));
- maxSpeedKBS = trackBar1.Value;
- textBox1.Text = maxSpeedKBS + " KB/s";
- textBox2.Text = trackBar2.Value + " ms";
+ maxSpeedKBS = trackBar1.Value;
+ textBox1.Text = maxSpeedKBS + " KB/s";
+ textBox2.Text = trackBar2.Value + " ms";
- readTimer = new System.Timers.Timer();
- readTimer.Elapsed += new ElapsedEventHandler(OnReadTimeOut);
- readTimer.Interval = 20000;
- readTimer.Enabled = false;
+ readTimer = new System.Timers.Timer();
+ readTimer.Elapsed += new ElapsedEventHandler(OnReadTimeOut);
+ readTimer.Interval = 20000;
+ readTimer.Enabled = false;
- try
- {
- if(SSDActivityPerfCount())
- {
- tickErrorCount = 0;
- }
- else
- {
- tickErrorCount++;
- }
- }
- catch
- {
- MessageBox.Show("Error during initialization");
- Log.Error("Error during initialization");
- Log.CloseAndFlush();
- Application.Exit();
- }
- timer1.Enabled = true;
- notifyIcon.Text = "";
- //MinimizeFootprint();
+ try
+ {
+ if(SSDActivityPerfCount())
+ {
+ tickErrorCount = 0;
+ }
+ else
+ {
+ tickErrorCount++;
+ }
+ }
+ catch
+ {
+ MessageBox.Show(TranslationManager.Instance.T("Error during initialization"));
+ Log.Error(TranslationManager.Instance.T("Error during initialization"));
+ Log.CloseAndFlush();
+ Application.Exit();
+ }
+ timer1.Enabled = true;
+ notifyIcon.Text = "";
+ //MinimizeFootprint();
}
#region icon stuff
@@ -161,8 +171,8 @@ private void initTrayIcon()
notifyIcon.Visible = true;
//create menu items
- MenuItem info = new MenuItem("Preferences");
- MenuItem quit = new MenuItem("Exit");
+ MenuItem info = new MenuItem(TranslationManager.Instance.T("Preferences"));
+ MenuItem quit = new MenuItem(TranslationManager.Instance.T("Exit"));
ContextMenu contextMenu = new ContextMenu();
//add items to menu
@@ -236,6 +246,113 @@ private Icon CreateIcon(Color color)
}
#endregion
+ #region Translations
+ private void ApplyTranslations()
+ {
+ var t = TranslationManager.Instance;
+
+ // Tab-Seiten
+ tabPage1.Text = t.T("Drive Setup");
+ tabPage2.Text = t.T("Other Settings");
+
+ // Labels
+ label2.Text = t.T("Activity Indicator Threshold/Scaling (Drive max. speed):");
+ label3.Text = t.T("Refresh Interval:");
+ label4.Text = t.T("Autostart setting");
+ label5.Text = t.T("Color settings");
+ lblLanguage.Text = t.T("Select Language:");
+
+ // Buttons
+ button2.Text = t.T("Close");
+ button3.Text = t.T("Indicator");
+ button4.Text = t.T("Read for 20s on C:\\");
+ button5.Text = t.T("apply");
+ btnSaveCfg.Text = t.T("Save Config");
+ btnSaveCfg2.Text = t.T("Save Config");
+ btnApplyColor.Text = t.T("apply");
+ btnColorDefault.Text = t.T("Default");
+ btnColorRead.Text = t.T("Read");
+ btnColorWrite.Text = t.T("Write");
+
+ // Checkboxes
+ checkBox1.Text = t.T("Choose single drive to monitor:");
+ checkBox2.Text = t.T("start with windows");
+ checkBox3.Text = t.T("enable color scaling (mixcolors)");
+
+ // Chart-Serien
+ chart1.Series["Read"].LegendText = t.T("Read MB/s");
+ chart1.Series["Write"].LegendText = t.T("Write MB/s");
+ chart1.Titles[0].Text = t.T("Actual Read/Write Performance:");
+
+ // Sprach-ComboBox füllen (nur wenn leer)
+ if (cbxlanguage.Items.Count == 0)
+ {
+ PopulateLanguageComboBox();
+ }
+ }
+
+ private void PopulateLanguageComboBox()
+ {
+ // Verhindere Rekursion durch Event-Handler
+ _isUpdatingLanguageComboBox = true;
+
+ try
+ {
+ Debug.WriteLine("PopulateLanguageComboBox: Started");
+ Debug.WriteLine($"cbxlanguage is null: {cbxlanguage == null}");
+
+ if (cbxlanguage == null)
+ {
+ Debug.WriteLine("ERROR: cbxlanguage is NULL!");
+ return;
+ }
+
+ Debug.WriteLine($"cbxlanguage.Visible: {cbxlanguage.Visible}");
+ Debug.WriteLine($"cbxlanguage.Enabled: {cbxlanguage.Enabled}");
+
+ cbxlanguage.Items.Clear();
+
+ var languages = TranslationManager.Instance.AvailableLanguagesInfo;
+ Debug.WriteLine($"Available languages count: {languages.Count}");
+
+ foreach (var lang in languages)
+ {
+ Debug.WriteLine($"Adding language: {lang.Code} - {lang.DisplayName}");
+ cbxlanguage.Items.Add(lang);
+ }
+
+ Debug.WriteLine($"cbxlanguage.Items.Count after adding: {cbxlanguage.Items.Count}");
+
+ // Aktuelle Sprache auswählen
+ var currentLang = TranslationManager.Instance.CurrentLanguage;
+ Debug.WriteLine($"Current language: {currentLang}");
+
+ foreach (LanguageInfo lang in cbxlanguage.Items)
+ {
+ if (lang.Code == currentLang)
+ {
+ cbxlanguage.SelectedItem = lang;
+ Debug.WriteLine($"Selected language: {lang.DisplayName}");
+ break;
+ }
+ }
+
+ // Falls keine Auswahl getroffen wurde, "Auto" auswählen
+ if (cbxlanguage.SelectedIndex == -1 && cbxlanguage.Items.Count > 0)
+ {
+ cbxlanguage.SelectedIndex = 0; // Auto ist immer an erster Stelle
+ Debug.WriteLine("Selected Auto (index 0)");
+ }
+
+ Debug.WriteLine("PopulateLanguageComboBox: Completed");
+ }
+ finally
+ {
+ _isUpdatingLanguageComboBox = false;
+ }
+ }
+ #endregion
+
#region controller / core logic
/*
public void SSDActivityWMI()
@@ -537,11 +654,11 @@ private bool RefreshDriveList()
return false;
}
comboBox1.Items.AddRange(instanceNames);
- Log.Information("Found the following Physical Disks: {DriveInstances}", instanceNames);
+ Log.Information(TranslationManager.Instance.T("Found the following Physical Disks: ") + "{DriveInstances}", instanceNames);
if(instanceNames.Length<1)
{
- MessageBox.Show("Error during initialization: No physical disks found!");
- Log.Error("Error during initialization: No physical disks found!");
+ MessageBox.Show(TranslationManager.Instance.T("Error during initialization: No physical disks found!"));
+ Log.Error(TranslationManager.Instance.T("Error during initialization: No physical disks found!"));
return false;
}
return true;
@@ -576,8 +693,8 @@ private void timer1_Tick(object sender, EventArgs e)
{
timer1.Enabled = false;
- MessageBox.Show("Something went wrong... exiting...");
- Log.Information("Too many errors in sequence -> Exiting...");
+ MessageBox.Show(TranslationManager.Instance.T("Something went wrong... exiting..."));
+ Log.Information(TranslationManager.Instance.T("Too many errors in sequence -> Exiting..."));
Log.CloseAndFlush();
Application.Exit();
}
@@ -649,7 +766,7 @@ void exit_Click(object sender, EventArgs e)
//Close();
removeTrayIcon();
- Log.Information("Exiting...");
+ Log.Information(TranslationManager.Instance.T("Exiting..."));
Log.CloseAndFlush();
Application.Exit();
}
@@ -724,7 +841,7 @@ private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
comboBox1.Enabled = false;
diskSelectionPFCStr = null;
- Log.Information("Changed single drive monitoring - checked status: " + checkBox1.Checked);
+ Log.Information(TranslationManager.Instance.T("Changed single drive monitoring - checked status: ") + checkBox1.Checked);
}
}
@@ -735,16 +852,16 @@ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
diskSelectionPFCStr = GetInstanceNameByDriveIndex(comboBox1.SelectedIndex);
Debug.WriteLine("Selected: " + diskSelectionPFCStr);
- Log.Information("Selected single drive: " + comboBox1.Text + " which is index " + comboBox1.SelectedIndex + " of the drive list");
+ Log.Information(TranslationManager.Instance.T("Selected single drive: ") + comboBox1.Text + TranslationManager.Instance.T(" which is index ") + comboBox1.SelectedIndex + TranslationManager.Instance.T(" of the drive list"));
}
catch
{
- Log.Error("Changed drive selection didn't work!");
+ Log.Error(TranslationManager.Instance.T("Changed drive selection didn't work!"));
//unselect
comboBox1.SelectedIndex = -1;
diskSelectionPFCStr = backupSelectionStr;
checkBox1.Checked = false;
- MessageBox.Show("Error while selection - aborting...");
+ MessageBox.Show(TranslationManager.Instance.T("Error while selection - aborting..."));
}
}
@@ -753,7 +870,7 @@ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
#region settings load and save
private bool loadSettings()
{
- Log.Information("Loading settings:");
+ Log.Information(TranslationManager.Instance.T("Loading settings:"));
Log.Information("-----------------");
int tempInt;
@@ -762,13 +879,13 @@ private bool loadSettings()
{
int.TryParse(Properties.Settings.Default["MaxSpeed"].ToString(), out maxSpeedKBS);
trackBar1.Value = maxSpeedKBS;
- Log.Information("max KBS: " + maxSpeedKBS);
+ Log.Information(TranslationManager.Instance.T("max KBS: ") + maxSpeedKBS);
int.TryParse(Properties.Settings.Default["RefreshIntervall"].ToString(), out tempInt);
timer1.Interval = tempInt;
trackBar2.Value = tempInt;
- Log.Information("RefreshInterval: " + tempInt);
+ Log.Information(TranslationManager.Instance.T("RefreshInterval: ") + tempInt);
bool.TryParse(Properties.Settings.Default["DriveSelectedChecked"].ToString(), out tempBool);
- Log.Information("SingleDrive monitoring: " + tempBool);
+ Log.Information(TranslationManager.Instance.T("SingleDrive monitoring: ") + tempBool);
if (tempBool)
{
diskSelectionPFCStr = Properties.Settings.Default["DriveSelected"].ToString();
@@ -787,25 +904,25 @@ private bool loadSettings()
if (drv.Equals(diskSelectionPFCStr))
{
markerFound = true;
- Log.Information("Successfully parsed single drive monitoring instance " + diskSelectionPFCStr);
+ Log.Information(TranslationManager.Instance.T("Successfully parsed single drive monitoring instance ") + diskSelectionPFCStr);
}
}
if (markerFound == false)
{
- Log.Error("Error finding monitored drive!");
+ Log.Error(TranslationManager.Instance.T("Error finding monitored drive!"));
throw new Exception();
}
}
catch
{
- Log.Error("Error while getting physical disk list for plausi check!");
+ Log.Error(TranslationManager.Instance.T("Error while getting physical disk list for plausi check!"));
diskSelectionPFCStr = null;
tempBool = false;
}
}
catch
{
- Log.Error("Error while getting physical disk category");
+ Log.Error(TranslationManager.Instance.T("Error while getting physical disk category"));
diskSelectionPFCStr = null;
tempBool = false;
}
@@ -820,17 +937,42 @@ private bool loadSettings()
iconDefault = CreateIcon(defaultColor);
tbColorDefault.BackColor = defaultColor;
tbColorDefault.Text = defaultColor.ToString();
- Log.Information("ColorDefault: " + defaultColor.ToString());
+ Log.Information(TranslationManager.Instance.T("ColorDefault: ") + defaultColor.ToString());
readColor = ColorTranslator.FromHtml(Properties.Settings.Default["ColorRead"].ToString());
tbColorRead.BackColor = readColor;
tbColorRead.Text = readColor.ToString();
- Log.Information("ColorRead: " + readColor.ToString());
+ Log.Information(TranslationManager.Instance.T("ColorRead: ") + readColor.ToString());
writeColor = ColorTranslator.FromHtml(Properties.Settings.Default["ColorWrite"].ToString());
tbColorWrite.BackColor = writeColor;
tbColorWrite.Text = writeColor.ToString();
- Log.Information("ColorWrite: " + writeColor.ToString());
+ Log.Information(TranslationManager.Instance.T("ColorWrite: ") + writeColor.ToString());
+
+ // Sprache laden
+ try
+ {
+ string savedLanguage = Properties.Settings.Default["Language"].ToString();
+ if (!string.IsNullOrEmpty(savedLanguage))
+ {
+ if (savedLanguage == "auto")
+ {
+ TranslationManager.Instance.LoadSystemLanguage();
+ }
+ else
+ {
+ TranslationManager.Instance.LoadLanguage(savedLanguage);
+ }
+ Log.Information("Loaded saved language preference: " + savedLanguage);
+
+ // UI aktualisieren
+ ApplyTranslations();
+ }
+ }
+ catch
+ {
+ Log.Warning("No saved language preference found, using default");
+ }
Log.Information("-----------------");
return true;
@@ -861,6 +1003,15 @@ private void saveSettings()
Properties.Settings.Default["ColorDefault"] = ToHexValue(defaultColor); //ColorTranslator.ToHtml(defaultColor);
Properties.Settings.Default["ColorRead"] = ToHexValue(readColor);
Properties.Settings.Default["ColorWrite"] = ToHexValue(writeColor);
+
+ // Sprache speichern
+ var selectedLang = cbxlanguage.SelectedItem as LanguageInfo;
+ if (selectedLang != null)
+ {
+ Properties.Settings.Default["Language"] = selectedLang.Code;
+ Log.Information("Saved language preference: " + selectedLang.Code);
+ }
+
Properties.Settings.Default.Save();
}
@@ -912,6 +1063,52 @@ private void btnApplyColor_Click(object sender, EventArgs e)
iconDefault = CreateIcon(defaultColor);
enableMixColors = checkBox3.Checked;
}
+
+ private void cbxlanguage_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ // Verhindere Rekursion während der ComboBox-Aktualisierung
+ if (_isUpdatingLanguageComboBox)
+ return;
+
+ if (cbxlanguage.SelectedItem == null)
+ return;
+
+ var selectedLang = cbxlanguage.SelectedItem as LanguageInfo;
+ if (selectedLang == null)
+ return;
+
+ string langToLoad = selectedLang.Code;
+
+ // Wenn "Auto" ausgewählt wurde
+ if (selectedLang.IsAuto)
+ {
+ TranslationManager.Instance.LoadSystemLanguage();
+ Log.Information("Language set to Auto (System Language)");
+ }
+ else
+ {
+ // Lade die ausgewählte Sprache
+ if (TranslationManager.Instance.LoadLanguage(langToLoad))
+ {
+ Log.Information(TranslationManager.Instance.T("Language changed to") + " " + selectedLang.DisplayName);
+ }
+ else
+ {
+ Log.Error("Failed to load language: " + langToLoad);
+ return;
+ }
+ }
+
+ // UI aktualisieren
+ ApplyTranslations();
+
+ // Tray-Icon-Menü neu initialisieren (für Übersetzung)
+ if (notifyIcon != null)
+ {
+ removeTrayIcon();
+ initTrayIcon();
+ }
+ }
}
diff --git a/SSD-LED/Properties/Resources.Designer.cs b/SSD-LED/Properties/Resources.Designer.cs
index 424e83a..cf082d1 100644
--- a/SSD-LED/Properties/Resources.Designer.cs
+++ b/SSD-LED/Properties/Resources.Designer.cs
@@ -19,7 +19,7 @@ namespace SSD_LED.Properties {
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
diff --git a/SSD-LED/Properties/Settings.Designer.cs b/SSD-LED/Properties/Settings.Designer.cs
index 02ec59c..62d07a7 100644
--- a/SSD-LED/Properties/Settings.Designer.cs
+++ b/SSD-LED/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@ namespace SSD_LED.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "18.5.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/SSD-LED/Properties/Settings.settings b/SSD-LED/Properties/Settings.settings
index d4107c7..a34404d 100644
--- a/SSD-LED/Properties/Settings.settings
+++ b/SSD-LED/Properties/Settings.settings
@@ -26,5 +26,8 @@
#ff0000
+
+ auto
+
\ No newline at end of file
diff --git a/SSD-LED/SSD-LED.csproj b/SSD-LED/SSD-LED.csproj
index 80834a9..9b07972 100644
--- a/SSD-LED/SSD-LED.csproj
+++ b/SSD-LED/SSD-LED.csproj
@@ -1,5 +1,6 @@
+
Debug
@@ -9,11 +10,11 @@
Properties
SSD_LED
SSD-LED
- v4.5
+ v4.8
512
false
- publish\
+ C:\Users\User\source\public\SSD-LED\
true
Disk
false
@@ -23,12 +24,13 @@
false
false
true
- true
5
1.0.7.5
false
true
true
+
+
AnyCPU
@@ -75,6 +77,9 @@
OnBuildSuccess
+
+ ..\packages\Costura.Fody.6.0.0\lib\netstandard2.0\Costura.dll
+
..\packages\Serilog.2.12.0\lib\net45\Serilog.dll
@@ -104,8 +109,10 @@
Form1.cs
+
+
Form1.cs
@@ -120,7 +127,21 @@
True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SettingsSingleFileGenerator
@@ -131,7 +152,11 @@
Settings.settings
True
+
+
+
+
@@ -156,6 +181,7 @@
+
@@ -186,4 +212,14 @@ rem echo The version is %25VERSION%25
rem if not exist "$(SolutionDir)\releases\@(VersionNumber)" mkdir "$(SolutionDir)\releases\@(VersionNumber)"
rem copy /Y "$(TargetDir)$(ProjectName).exe" "$(SolutionDir)\releases\@(VersionNumber)\$(ProjectName).exe"
+
+
+
+ Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlende(n) Datei(en) herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SSD-LED/app.config b/SSD-LED/app.config
index 022092e..54cbadb 100644
--- a/SSD-LED/app.config
+++ b/SSD-LED/app.config
@@ -5,7 +5,7 @@
-
+
800
@@ -31,6 +31,9 @@
#ff0000
+
+ auto
+
diff --git a/SSD-LED/bin/Release/SSD-LED.exe b/SSD-LED/bin/Release/SSD-LED.exe
index e2bd6de..7fb0c28 100644
Binary files a/SSD-LED/bin/Release/SSD-LED.exe and b/SSD-LED/bin/Release/SSD-LED.exe differ
diff --git a/SSD-LED/packages.config b/SSD-LED/packages.config
index e3b25f7..2216940 100644
--- a/SSD-LED/packages.config
+++ b/SSD-LED/packages.config
@@ -1,5 +1,7 @@
+
+
\ No newline at end of file