12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Windows.Forms;
- namespace Optimizer
- {
- public sealed partial class StartupPreviewForm : Form
- {
- string _token = string.Empty;
- public StartupPreviewForm(List<BackupStartupItem> items)
- {
- InitializeComponent();
- CheckForIllegalCrossThreadCalls = false;
- OptionsHelper.ApplyTheme(this);
- // translate UI elements
- if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
- foreach (BackupStartupItem x in items)
- {
- if (File.Exists(SanitizePath(x.FileLocation)))
- {
- _token = "[✓] ";
- }
- else
- {
- _token = "[⚠] ";
- }
- listPreview.Items.Add(_token + x.Name + " - " + x.FileLocation);
- }
- }
- private void Translate()
- {
- this.Text = OptionsHelper.TranslationList["StartupPreviewForm"];
- Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
- Control element;
- foreach (var x in translationList)
- {
- if (x.Key == null || x.Key == string.Empty) continue;
- element = this.Controls.Find(x.Key, true).FirstOrDefault();
- if (element == null) continue;
- element.Text = x.Value;
- }
- }
- private void StartupPreviewForm_Load(object sender, EventArgs e)
- {
- this.Focus();
- }
- private string SanitizePath(string s)
- {
- s = s.Replace("\"", string.Empty);
- int i;
- while (s.Contains("/"))
- {
- i = s.LastIndexOf("/");
- s = s.Substring(0, i);
- }
- i = s.IndexOf(".exe");
- s = s.Substring(0, i + 4);
- return s.Trim();
- }
- }
- }
|