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