diff --git a/DiskImager/Disk.cs b/DiskImager/Disk.cs
index d017a9c..de7a219 100644
--- a/DiskImager/Disk.cs
+++ b/DiskImager/Disk.cs
@@ -81,8 +81,9 @@ namespace DynamicDevices.DiskWriter
///
///
///
+ ///
///
- public bool WriteDrive(string driveLetter, string fileName, EnumCompressionType eCompType)
+ public bool WriteDrive(string driveLetter, string fileName, EnumCompressionType eCompType, bool removeAfter)
{
IsCancelling = false;
@@ -285,6 +286,9 @@ namespace DynamicDevices.DiskWriter
}
errored = false;
+ if (removeAfter)
+ _diskAccess.UnmountDrive();
+
readfail1:
_diskAccess.Close();
readfail2:
@@ -537,7 +541,7 @@ namespace DynamicDevices.DiskWriter
if (IsCancelling)
LogMsg(Resources.Disk_WriteDrive_Cancelled);
else
- LogMsg("All Done - Read " + offset + Resources.Disk_WriteDrive__bytes__Elapsed_time_ + tstotalTime.ToString(@"dd\.hh\:mm\:ss"));
+ LogMsg(Resources.Disk_ReadDrive_All_Done___Read_ + offset + Resources.Disk_WriteDrive__bytes__Elapsed_time_ + tstotalTime.ToString(@"dd\.hh\:mm\:ss"));
Progress(0);
return true;
}
diff --git a/DiskImager/IDiskAccess.cs b/DiskImager/IDiskAccess.cs
index 78ae37c..d69b93c 100644
--- a/DiskImager/IDiskAccess.cs
+++ b/DiskImager/IDiskAccess.cs
@@ -23,6 +23,8 @@ namespace DynamicDevices.DiskWriter
void UnlockDrive();
+ bool UnmountDrive();
+
int Read(byte[] buffer, int readMaxLength, out int readBytes);
int Write(byte[] buffer, int bytesToWrite, out int wroteBytes);
diff --git a/DiskImager/MainForm.Designer.cs b/DiskImager/MainForm.Designer.cs
index 43474cd..1b3c5cd 100644
--- a/DiskImager/MainForm.Designer.cs
+++ b/DiskImager/MainForm.Designer.cs
@@ -32,7 +32,6 @@
this.textBoxFileName = new System.Windows.Forms.TextBox();
this.buttonRead = new System.Windows.Forms.Button();
this.buttonWrite = new System.Windows.Forms.Button();
- this.buttonExit = new System.Windows.Forms.Button();
this.buttonChooseFile = new System.Windows.Forms.Button();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
@@ -52,10 +51,12 @@
this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.russianToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.groupBoxTruncation = new System.Windows.Forms.GroupBox();
+ this.checkBoxUnmount = new System.Windows.Forms.CheckBox();
this.checkBoxUseMBR = new System.Windows.Forms.CheckBox();
this.checkedListBoxDrives = new System.Windows.Forms.CheckedListBox();
this.flowLayoutPanelProgressBars = new System.Windows.Forms.FlowLayoutPanel();
this.flowLayoutPanelProgressLabels = new System.Windows.Forms.FlowLayoutPanel();
+ this.label1 = new System.Windows.Forms.Label();
this.statusStrip1.SuspendLayout();
this.groupBoxCompression.SuspendLayout();
this.menuStripMain.SuspendLayout();
@@ -82,13 +83,6 @@
this.buttonWrite.UseVisualStyleBackColor = true;
this.buttonWrite.Click += new System.EventHandler(this.ButtonWriteClick);
//
- // buttonExit
- //
- resources.ApplyResources(this.buttonExit, "buttonExit");
- this.buttonExit.Name = "buttonExit";
- this.buttonExit.UseVisualStyleBackColor = true;
- this.buttonExit.Click += new System.EventHandler(this.ButtonExitClick);
- //
// buttonChooseFile
//
resources.ApplyResources(this.buttonChooseFile, "buttonChooseFile");
@@ -216,10 +210,17 @@
// groupBoxTruncation
//
resources.ApplyResources(this.groupBoxTruncation, "groupBoxTruncation");
+ this.groupBoxTruncation.Controls.Add(this.checkBoxUnmount);
this.groupBoxTruncation.Controls.Add(this.checkBoxUseMBR);
this.groupBoxTruncation.Name = "groupBoxTruncation";
this.groupBoxTruncation.TabStop = false;
//
+ // checkBoxUnmount
+ //
+ resources.ApplyResources(this.checkBoxUnmount, "checkBoxUnmount");
+ this.checkBoxUnmount.Name = "checkBoxUnmount";
+ this.checkBoxUnmount.UseVisualStyleBackColor = true;
+ //
// checkBoxUseMBR
//
resources.ApplyResources(this.checkBoxUseMBR, "checkBoxUseMBR");
@@ -245,10 +246,16 @@
this.flowLayoutPanelProgressLabels.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.flowLayoutPanelProgressLabels.Name = "flowLayoutPanelProgressLabels";
//
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
// MainForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.label1);
this.Controls.Add(this.flowLayoutPanelProgressLabels);
this.Controls.Add(this.flowLayoutPanelProgressBars);
this.Controls.Add(this.checkedListBoxDrives);
@@ -260,7 +267,6 @@
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.menuStripMain);
this.Controls.Add(this.buttonChooseFile);
- this.Controls.Add(this.buttonExit);
this.Controls.Add(this.buttonWrite);
this.Controls.Add(this.buttonRead);
this.Controls.Add(this.textBoxFileName);
@@ -288,7 +294,6 @@
private System.Windows.Forms.TextBox textBoxFileName;
private System.Windows.Forms.Button buttonRead;
private System.Windows.Forms.Button buttonWrite;
- private System.Windows.Forms.Button buttonExit;
private System.Windows.Forms.Button buttonChooseFile;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
@@ -312,6 +317,8 @@
private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem russianToolStripMenuItem;
+ private System.Windows.Forms.CheckBox checkBoxUnmount;
+ private System.Windows.Forms.Label label1;
}
}
diff --git a/DiskImager/MainForm.cs b/DiskImager/MainForm.cs
index cb9d3f4..00bb065 100644
--- a/DiskImager/MainForm.cs
+++ b/DiskImager/MainForm.cs
@@ -48,7 +48,10 @@ namespace DynamicDevices.DiskWriter
{
InitializeComponent();
- checkBoxUseMBR.Checked = true;
+ ChangeLanguage("en-US");
+
+ checkBoxUseMBR.Checked = true;
+ checkBoxUnmount.Checked = true;
MessageBoxEx.Owner = Handle;
@@ -71,21 +74,8 @@ namespace DynamicDevices.DiskWriter
else
DisableButtons(false);
- // Read registry values
- var key = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Dynamic Devices Ltd\\DiskImager");
- if (key != null)
- {
- var file = (string)key.GetValue("FileName", "");
- if (File.Exists(file))
- textBoxFileName.Text = file;
+ ReadRegistry();
- Globals.CompressionLevel = (int)key.GetValue("CompressionLevel", Globals.CompressionLevel);
- Globals.MaxBufferSize = (int)key.GetValue("MaxBufferSize", Globals.MaxBufferSize);
-
- key.Close();
- }
-
- // Detect insertions / removals
_watcher.DeviceArrived += OnDriveArrived;
_watcher.DeviceRemoved += OnDriveRemoved;
StartListenForChanges();
@@ -101,18 +91,6 @@ namespace DynamicDevices.DiskWriter
#region Disk access event handlers
-
- ///
- /// Close the application
- ///
- ///
- ///
- ///
- private void ButtonExitClick(object sender, EventArgs e)
- {
- Close();
- }
-
///
/// Select a file for read/write from/to removable media
///
@@ -153,6 +131,7 @@ namespace DynamicDevices.DiskWriter
var diskAccess = NewDiskAccess();
var disk = new Disk(diskAccess);
+ Thread.CurrentThread.CurrentUICulture = CurrentLocale;
SendProgressToUI(disk);
var res = false;
@@ -170,7 +149,7 @@ namespace DynamicDevices.DiskWriter
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- EnableButtons();
+ Invoke((MethodInvoker) EnableButtons);
});
}
@@ -208,9 +187,10 @@ namespace DynamicDevices.DiskWriter
var tasks = drives.Select(drive => Task.Factory.StartNew(() =>
{
- var diskAccess = new Win32DiskAccess();
+ var diskAccess = NewDiskAccess();
var disk = new Disk(diskAccess);
+ Thread.CurrentThread.CurrentUICulture = CurrentLocale;
SendProgressToUI(disk);
DiskAccesses.Add(diskAccess);
@@ -219,7 +199,7 @@ namespace DynamicDevices.DiskWriter
var res = false;
try
{
- res = disk.WriteDrive(drive, textBoxFileName.Text, _eCompType);
+ res = disk.WriteDrive(drive, textBoxFileName.Text, _eCompType, checkBoxUnmount.Checked);
}
catch (Exception ex)
{
@@ -247,12 +227,10 @@ namespace DynamicDevices.DiskWriter
///
private void MainFormFormClosing(object sender, FormClosingEventArgs e)
{
- var key = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Dynamic Devices Ltd\\DiskImager");
- if (key != null)
- {
- key.SetValue("FileName", textBoxFileName.Text);
- key.Close();
- }
+ const string registryPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Dynamic Devices Ltd\\DiskImager";
+
+ Registry.SetValue(registryPath, "FileName", textBoxFileName.Text);
+ Registry.SetValue(registryPath, "Language", CurrentLocale.Name);
_watcher.DeviceArrived -= OnDriveArrived;
_watcher.DeviceRemoved -= OnDriveRemoved;
@@ -298,9 +276,7 @@ namespace DynamicDevices.DiskWriter
private void UpdateFileNameText()
{
-
var text = textBoxFileName.Text;
-
text = text.Replace(".tar.gz", "");
text = text.Replace(".tgz", "");
@@ -347,16 +323,16 @@ namespace DynamicDevices.DiskWriter
///
private void SendProgressToUI(Disk disk)
{
- var pb = new ProgressBar { Size = new Size(flowLayoutPanelProgressBars.Width - 10, 10) };
- var lab = new Label { Size = new Size(flowLayoutPanelProgressLabels.Width - 10, 17) };
-
Invoke((MethodInvoker)delegate
{
- flowLayoutPanelProgressBars.Controls.Add(pb);
- flowLayoutPanelProgressLabels.Controls.Add(lab);
- disk.OnLogMsg += (o, message) => Invoke((MethodInvoker) delegate { lab.Text = message; });
+ var progressBar = new ProgressBar { Size = new Size(flowLayoutPanelProgressBars.Width - 10, 10) };
+ var label = new Label { Size = new Size(flowLayoutPanelProgressLabels.Width - 10, 17) };
+ flowLayoutPanelProgressBars.Controls.Add(progressBar);
+ flowLayoutPanelProgressLabels.Controls.Add(label);
+
+ disk.OnLogMsg += (o, message) => Invoke((MethodInvoker) delegate { label.Text = message; });
disk.OnProgress +=
- (o, progressPercentage) => Invoke((MethodInvoker) delegate { pb.Value = progressPercentage; });
+ (o, progressPercentage) => Invoke((MethodInvoker) delegate { progressBar.Value = progressPercentage; });
});
}
@@ -483,13 +459,13 @@ namespace DynamicDevices.DiskWriter
{
buttonRead.Enabled = false;
buttonWrite.Enabled = false;
- buttonExit.Enabled = !running;
buttonCancel.Enabled = running;
checkedListBoxDrives.Enabled = false;
textBoxFileName.Enabled = false;
buttonChooseFile.Enabled = false;
groupBoxCompression.Enabled = false;
groupBoxTruncation.Enabled = false;
+ menuStripMain.Enabled = !running;
}
///
@@ -499,13 +475,13 @@ namespace DynamicDevices.DiskWriter
{
buttonRead.Enabled = true;
buttonWrite.Enabled = true;
- buttonExit.Enabled = true;
buttonCancel.Enabled = false;
checkedListBoxDrives.Enabled = true;
textBoxFileName.Enabled = true;
buttonChooseFile.Enabled = true;
groupBoxCompression.Enabled = true;
groupBoxTruncation.Enabled = true;
+ menuStripMain.Enabled = true;
}
#endregion
@@ -542,13 +518,11 @@ namespace DynamicDevices.DiskWriter
private void englishToolStripMenuItem_Click(object sender, EventArgs e)
{
- Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
ChangeLanguage("en-US");
}
private void russianToolStripMenuItem_Click(object sender, EventArgs e)
{
- Thread.CurrentThread.CurrentUICulture = new CultureInfo("ru-RU");
ChangeLanguage("ru-RU");
}
@@ -556,6 +530,8 @@ namespace DynamicDevices.DiskWriter
private void ChangeLanguage(string lang)
{
CurrentLocale = new CultureInfo(lang);
+ Thread.CurrentThread.CurrentUICulture = CurrentLocale;
+
var resources = new ComponentResourceManager(typeof (MainForm));
foreach (Control c in Controls)
{
@@ -590,5 +566,19 @@ namespace DynamicDevices.DiskWriter
ctrl.ResumeLayout(false);
}
+ private void ReadRegistry()
+ {
+ const string registryPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Dynamic Devices Ltd\\DiskImager";
+
+ var file = (string)Registry.GetValue(registryPath, "FileName", "");
+ if (File.Exists(file))
+ textBoxFileName.Text = file;
+
+ var lang = (string)Registry.GetValue(registryPath, "Language", "en-US");
+ if (lang != "en-US")
+ {
+ ChangeLanguage(lang);
+ }
+ }
}
}
diff --git a/DiskImager/MainForm.resx b/DiskImager/MainForm.resx
index f2d3f97..7f83e54 100644
--- a/DiskImager/MainForm.resx
+++ b/DiskImager/MainForm.resx
@@ -117,361 +117,371 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ buttonRead
+
+
+ Language
+
+
+ languageToolStripMenuItem
+
-
- 10, 61
-
-
- 420, 20
-
-
-
- 1
-
-
- textBoxFileName
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 14
-
-
- 10, 98
-
-
- 75, 23
-
-
- 2
+
+ 54, 13
Read
-
- buttonRead
+
+ 94, 13
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Unmount drives after write
-
- $this
-
-
- 13
-
-
- 98, 98
-
-
- 75, 23
-
-
+
3
-
- Write
+
+ checkBoxUnmount
-
- buttonWrite
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 12
-
-
- 275, 98
-
-
- 75, 23
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
- 4
+ 18
-
- Exit
-
-
- buttonExit
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 11
-
-
- 436, 60
-
-
- 25, 20
-
-
- 5
-
-
- ...
-
-
- buttonChooseFile
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 10
-
-
- 17, 17
-
-
- 118, 17
-
-
- toolStripStatusLabel1
-
-
- 0, 335
-
-
- 620, 22
-
-
- 6
-
-
- statusStrip1
-
-
- statusStrip1
-
-
- System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 8
-
-
- 273, 17
-
-
- Image Files (*.img)|*.img|Binary files (*.bin)|*.bin|All files (*.*)|*.*
-
-
- True
-
-
- 12, 34
-
-
- 54, 13
-
-
- 7
-
-
- File Name
-
-
- labelFileName
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ flowLayoutPanelProgressBars
$this
-
- 7
+
+ 149, 17
-
+
True
-
- 466, 34
+
+ groupBoxTruncation
-
- 94, 13
-
-
- 8
-
-
- Removable Drives
-
-
- labelDriveTitle
-
-
+
System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- $this
+
+ 8
-
- 6
+
+ 168, 17
-
- False
+
+ russianToolStripMenuItem
-
- 187, 98
-
-
- 75, 23
-
-
- 10
-
-
- Cancel
-
-
- buttonCancel
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 5
-
-
- True
-
-
- 170, 19
-
-
- 56, 17
-
-
- 3
-
-
- NONE
+
+ 12, 219
radioButtonCompNone
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 6, 45
-
- groupBoxCompression
+
+ menuStrip1
-
- 0
+
+
+ TopDown
-
- True
+
+ 3
-
- 117, 19
-
-
- 47, 17
-
-
- 2
-
-
- TGZ
-
-
- radioButtonCompTgz
-
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBoxCompression
-
-
- 1
-
-
- True
-
-
- 71, 19
-
-
- 40, 17
-
-
- 1
-
-
- GZ
-
-
- radioButtonCompGz
-
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBoxCompression
-
-
- 2
-
-
- True
-
-
- 23, 19
-
-
- 42, 17
+
+ $this
0
-
- ZIP
+
+ buttonChooseFile
-
- radioButtonCompZip
+
+ Cancel
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ radioButtonCompTgz
+
+
+ statusStrip1
+
+
+ Disk Imager
groupBoxCompression
+
+ 12
+
+
+ 71, 19
+
+
+ 1
+
+
+ System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ File Name
+
+
+ True
+
+
+ 10
+
+
+ 12
+
+
+ Options
+
+
+ True
+
+
+ TGZ
+
+
+ ...
+
+
+ 0
+
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ saveFileDialog1
+
+
+ 118, 17
+
+
+ 114, 22
+
+
+ label1
+
+
+ 25, 20
+
+
+ 429, 34
+
+
+ 429, 124
+
+
+ Misc.
+
+
+ labelDriveTitle
+
+
+ 2
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 6
+
+
+ Use MBR partition sizes (read)
+
+
+ toolStripStatusLabel1
+
+
+ 5
+
3
-
- 33, 132
+
+ 6
+
+
+ TopDown
+
+
+ 8
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 75, 23
+
+
+ $this
+
+
+ displayAllDrivesToolStripMenuItem
+
+
+ buttonCancel
+
+
+ System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 7
+
+
+ $this
+
+
+ groupBoxCompression
+
+
+ statusStrip1
+
+
+ 9, 34
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 40, 17
+
+
+ 117, 19
+
+
+ 152, 73
+
+
+ Image Files (*.img)|*.img|Binary files (*.bin)|*.bin|All files (*.*)|*.*
+
+
+ textBoxFileName
+
+
+ True
+
+
+ MainForm
+
+
+ Display All Drives *** DANGEROUS ***
+
+
+ 429, 180
+
+
+ $this
+
+
+ English
+
+
+ NONE
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 1
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 12, 50
+
+
+ 0, 0
+
+
+ Write
+
+
+ 275, 22
+
+
+ 0, 356
+
+
+ 48, 13
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 621, 180
+
+
+ optionsToolStripMenuItem
+
+
+ 0
+
+
+ checkedListBoxDrives
+
+
+ True
+
+
+ 16
+
+
+ buttonWrite
- 252, 50
+ 267, 50
-
- 11
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 1
+
+
+ 6, 20
+
+
+ $this
+
+
+ $this
+
+
+ buttonExit
+
+
+ 137, 124
+
+
+ $this
Compression
@@ -479,251 +489,295 @@
groupBoxCompression
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
$this
-
+
+ 528, 180
+
+
+ 19
+
+
+ 15
+
+
4
-
- 409, 17
-
-
- 275, 22
-
-
- Display All Drives *** DANGEROUS ***
-
-
- 114, 22
-
-
- English
-
-
- 114, 22
-
-
- Russian
-
-
- 275, 22
-
-
- Language
-
-
- 61, 20
-
-
- Options
+
+ True
0, 0
-
- 620, 24
-
-
- 12
-
-
- menuStrip1
-
-
- menuStripMain
-
-
- System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 9
-
-
- True
-
-
- 23, 19
-
-
- 138, 17
-
-
- 0
-
-
- Use MBR partition sizes
-
-
- checkBoxUseMBR
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBoxTruncation
-
-
- 0
-
-
- 291, 132
-
-
- 172, 50
-
-
- 13
-
-
- Image Truncation
-
-
- groupBoxTruncation
-
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 3
-
-
- 469, 58
-
-
- 139, 124
-
-
- 15
-
-
- checkedListBoxDrives
-
-
- System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 2
-
-
-
- TopDown
-
-
- 10, 194
-
-
- 211, 137
-
-
- 16
-
-
- flowLayoutPanelProgressBars
-
-
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- TopDown
-
-
- 229, 194
-
-
- 379, 137
-
-
- 17
-
-
- flowLayoutPanelProgressLabels
-
-
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 0
-
-
- True
-
-
- 6, 13
-
-
- 620, 357
-
-
- Disk Imager
-
-
- toolStripStatusLabel1
-
-
- System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- saveFileDialog1
-
-
- System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- optionsToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- displayAllDrivesToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- languageToolStripMenuItem
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- englishToolStripMenuItem
+
+ 75, 23
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- russianToolStripMenuItem
+
+ $this
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- MainForm
+
+ 12, 89
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 75, 23
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Russian
+
+
+ labelFileName
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 2
+
+
+ 275, 22
+
+
+ $this
+
+
+ groupBoxTruncation
System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 13
+
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 61, 20
+
+
+ True
+
+
+ False
+
+
+ 1
+
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Removable Drives
+
+
+ 10
+
+
+ 366, 20
+
+
+ 708, 24
+
+
+ $this
+
+
+ 56, 17
+
+
+ 1
+
+
+ 170, 19
+
+
+ 0
+
+
+ 13
+
+
+ 17
+
+
+ 9
+
+
+ menuStripMain
+
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 708, 22
+
+
+ 3
+
+
+ $this
+
+
+ englishToolStripMenuItem
+
+
+ 47, 17
+
+
+ 15
+
+
+ 75, 23
+
+
+ 155, 89
+
+
+ 11
+
+
+ 207, 84
+
+
+ $this
+
+
+ 114, 22
+
+
+ flowLayoutPanelProgressLabels
+
+
+ 11
+
+
+ 0
+
+
+ groupBoxCompression
+
+
+ 2
+
+
+ True
+
+
+ 708, 378
+
+
+ groupBoxCompression
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ checkBoxUseMBR
+
+
+ radioButtonCompZip
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 7
+
+
+ 5
+
+
+ 684, 127
+
+
+ GZ
+
+
+ Progress
+
+
+ ZIP
+
+
+ 6, 13
+
+
+ 14
+
+
+ radioButtonCompGz
+
+
+ $this
+
+
+ 42, 17
+
+
+ 2
+
+
+ 23, 19
+
+
+ groupBoxTruncation
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ toolStripStatusLabel1
+
+
+ System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 9, 73
+
+
+ True
+
+
+ 254, 124
+
+
+ 384, 49
+
+
+ True
+
+
+ 273, 17
+
+
+ 64
+
+
+ 17, 17
+
+
+ 409, 17
+
\ No newline at end of file
diff --git a/DiskImager/MainForm.ru.resx b/DiskImager/MainForm.ru.resx
index ddd4848..79b8e06 100644
--- a/DiskImager/MainForm.ru.resx
+++ b/DiskImager/MainForm.ru.resx
@@ -1,3 +1,4 @@
+