Обновление
* Реализовано сохранение и восстановление бекапа * Обновлен RegexHandler Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
12
MainForm.Designer.cs
generated
12
MainForm.Designer.cs
generated
@@ -487,7 +487,7 @@
|
||||
this.btn_unlock_garages.Font = new System.Drawing.Font("Calibri", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.btn_unlock_garages.Location = new System.Drawing.Point(12, 458);
|
||||
this.btn_unlock_garages.Name = "btn_unlock_garages";
|
||||
this.btn_unlock_garages.Size = new System.Drawing.Size(115, 34);
|
||||
this.btn_unlock_garages.Size = new System.Drawing.Size(105, 34);
|
||||
this.btn_unlock_garages.TabIndex = 20;
|
||||
this.btn_unlock_garages.Text = "Unlock garages";
|
||||
this.btn_unlock_garages.UseVisualStyleBackColor = true;
|
||||
@@ -496,23 +496,25 @@
|
||||
//
|
||||
this.btn_recover_backup.Enabled = false;
|
||||
this.btn_recover_backup.Font = new System.Drawing.Font("Calibri", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.btn_recover_backup.Location = new System.Drawing.Point(133, 458);
|
||||
this.btn_recover_backup.Location = new System.Drawing.Point(131, 458);
|
||||
this.btn_recover_backup.Name = "btn_recover_backup";
|
||||
this.btn_recover_backup.Size = new System.Drawing.Size(116, 34);
|
||||
this.btn_recover_backup.Size = new System.Drawing.Size(105, 34);
|
||||
this.btn_recover_backup.TabIndex = 21;
|
||||
this.btn_recover_backup.Text = "Recover backup";
|
||||
this.btn_recover_backup.UseVisualStyleBackColor = true;
|
||||
this.btn_recover_backup.Click += new System.EventHandler(this.btn_recover_backup_Click);
|
||||
//
|
||||
// btn_apply_changes
|
||||
//
|
||||
this.btn_apply_changes.Enabled = false;
|
||||
this.btn_apply_changes.Font = new System.Drawing.Font("Calibri", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
|
||||
this.btn_apply_changes.Location = new System.Drawing.Point(254, 458);
|
||||
this.btn_apply_changes.Location = new System.Drawing.Point(250, 458);
|
||||
this.btn_apply_changes.Name = "btn_apply_changes";
|
||||
this.btn_apply_changes.Size = new System.Drawing.Size(101, 34);
|
||||
this.btn_apply_changes.Size = new System.Drawing.Size(105, 34);
|
||||
this.btn_apply_changes.TabIndex = 22;
|
||||
this.btn_apply_changes.Text = "Apply changes";
|
||||
this.btn_apply_changes.UseVisualStyleBackColor = true;
|
||||
this.btn_apply_changes.Click += new System.EventHandler(this.btn_apply_changes_Click);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
|
||||
36
MainForm.cs
36
MainForm.cs
@@ -4,7 +4,6 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace SaveWizard_rewritten
|
||||
@@ -40,8 +39,8 @@ namespace SaveWizard_rewritten
|
||||
|
||||
private class WindowText
|
||||
{
|
||||
private CheckBox Check { get; set; }
|
||||
private string Str { get; set; }
|
||||
private readonly CheckBox Check;
|
||||
private readonly string Str;
|
||||
|
||||
public WindowText(CheckBox _check, string _str)
|
||||
{
|
||||
@@ -80,11 +79,13 @@ namespace SaveWizard_rewritten
|
||||
|
||||
private void GetFileData(string filename)
|
||||
{
|
||||
string file_data = File.ReadAllText(filename);
|
||||
RegexHandler.FillLines(Regex.Split(file_data, "\n").ToList());
|
||||
RegexHandler.FillLines(File.ReadAllLines(filename).ToList());
|
||||
|
||||
foreach (KeyValuePair<TextBox, WindowText> item in items)
|
||||
{
|
||||
item.Key.Text = RegexHandler.GetValue(RegexHandler.SearchLine(item.Value.GetString()));
|
||||
item.Value.GetCheck().Checked = true;
|
||||
}
|
||||
|
||||
if (RegexHandler.SearchLine("company.volatile.stokes.calais") != 0)
|
||||
selected_game = "ets2";
|
||||
@@ -216,5 +217,30 @@ namespace SaveWizard_rewritten
|
||||
opened_file_path = ofd.FileName;
|
||||
}
|
||||
}
|
||||
|
||||
private void btn_recover_backup_Click(object sender, EventArgs e)
|
||||
{
|
||||
string backup_path = opened_file_path + ".swbak";
|
||||
if (!File.Exists(backup_path))
|
||||
{
|
||||
MessageBox.Show("Backup not found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return;
|
||||
}
|
||||
File.WriteAllLines(opened_file_path, File.ReadAllLines(backup_path));
|
||||
File.Delete(backup_path);
|
||||
MessageBox.Show("Backup successfully recovered.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
GetFileData(opened_file_path);
|
||||
}
|
||||
|
||||
private void btn_apply_changes_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (KeyValuePair<TextBox, WindowText> item in items)
|
||||
if (!item.Value.GetCheck().Checked)
|
||||
RegexHandler.SetValue(RegexHandler.SearchLine(item.Value.GetString()), item.Key.Text);
|
||||
File.WriteAllLines(opened_file_path + ".swbak", RegexHandler.GetBackup());
|
||||
File.WriteAllLines(opened_file_path, RegexHandler.GetAllLines());
|
||||
MessageBox.Show("Changes successfully applied.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
GetFileData(opened_file_path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,10 +7,16 @@ namespace SaveWizard_rewritten
|
||||
static class RegexHandler
|
||||
{
|
||||
private static List<string> lines;
|
||||
private static List<string> backup;
|
||||
|
||||
public static void FillLines(List<string> _lines)
|
||||
{
|
||||
lines = _lines;
|
||||
if (_lines == null)
|
||||
return;
|
||||
lines = new List<string>();
|
||||
lines.AddRange(_lines);
|
||||
backup = new List<string>();
|
||||
backup.AddRange(_lines);
|
||||
}
|
||||
|
||||
public static string GetLine(int index)
|
||||
@@ -23,6 +29,11 @@ namespace SaveWizard_rewritten
|
||||
return lines;
|
||||
}
|
||||
|
||||
public static List<string> GetBackup()
|
||||
{
|
||||
return backup;
|
||||
}
|
||||
|
||||
public static int SearchLine(string term, int start = 0, string cancel = "this_string_must_not_exist")
|
||||
{
|
||||
if (lines[start].Contains(term))
|
||||
@@ -64,7 +75,6 @@ namespace SaveWizard_rewritten
|
||||
|
||||
public static void SetValue(int line, string value)
|
||||
{
|
||||
//string name = Regex.Match(lines[line], "(.+):").Value;
|
||||
string name = Regex.Match(lines[line], "(.+):").Groups[1].ToString();
|
||||
lines[line] = $"{name}: {value}";
|
||||
}
|
||||
@@ -76,7 +86,6 @@ namespace SaveWizard_rewritten
|
||||
|
||||
public static int GetArrayLength(int line)
|
||||
{
|
||||
//return Convert.ToInt32(Regex.Match(lines[line], ": ([0-9]+)$").Value);
|
||||
return Convert.ToInt32(GetValue(line));
|
||||
}
|
||||
|
||||
@@ -101,7 +110,6 @@ namespace SaveWizard_rewritten
|
||||
{
|
||||
List<string> items = new List<string>();
|
||||
for (int i = 0; i < GetArrayLength(line); i++)
|
||||
//items.Add(Regex.Match(lines[line + i + 1], ": (.+)$").Value);
|
||||
items.Add(Regex.Match(lines[line + i + 1], ": (.+)$").Groups[1].ToString());
|
||||
if (items.Count == 0)
|
||||
return null;
|
||||
@@ -110,7 +118,6 @@ namespace SaveWizard_rewritten
|
||||
|
||||
public static void AddArrayValue(int line, string value)
|
||||
{
|
||||
//string name = Regex.Match(lines[line], "(.+):").Value;
|
||||
string name = Regex.Match(lines[line], "(.+):").Groups[1].ToString();
|
||||
int length = GetArrayLength(line);
|
||||
lines[line] = $"{name}: {length + 1}";
|
||||
|
||||
Reference in New Issue
Block a user