From 55734b3079209ef310c77ae7b0504e8d41cf7923 Mon Sep 17 00:00:00 2001 From: Roman Belkov Date: Wed, 21 Jan 2015 15:41:26 +0300 Subject: [PATCH] Updated release to 1.2.2 New GUI Fixed bugs with localization New feature "Unmount drives after write operation" Properly added registry support --- DiskImager/Disk.cs | 8 +- DiskImager/IDiskAccess.cs | 2 + DiskImager/MainForm.Designer.cs | 27 +- DiskImager/MainForm.cs | 88 +- DiskImager/MainForm.resx | 1122 ++++++++++--------- DiskImager/MainForm.ru.resx | 88 +- DiskImager/NativeMethods.cs | 1 + DiskImager/Properties/AssemblyInfo.cs | 10 +- DiskImager/Properties/Resources.Designer.cs | 11 +- DiskImager/Properties/Resources.resx | 3 + DiskImager/Properties/Resources.ru.resx | 3 + DiskImager/Win32/LinuxDiskAccess.cs | 5 + DiskImager/Win32/Win32DiskAccess.cs | 15 + 13 files changed, 734 insertions(+), 649 deletions(-) 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 @@ +