mirror of
https://github.com/RomanBelkov/DiskImager.git
synced 2026-05-15 14:15:51 -06:00
Changed file dialog behavior & 'Cancel' now works when reading
This commit is contained in:
parent
59fce6d44e
commit
ceb320f40a
4 changed files with 729 additions and 733 deletions
|
|
@ -291,24 +291,21 @@ namespace DynamicDevices.DiskWriter
|
|||
{
|
||||
((ZipOutputStream)fs).CloseEntry();
|
||||
((ZipOutputStream)fs).Close();
|
||||
}
|
||||
if (fs is TarOutputStream)
|
||||
} else if (fs is TarOutputStream)
|
||||
{
|
||||
((TarOutputStream)fs).CloseEntry();
|
||||
fs.Close();
|
||||
}
|
||||
if (fs is GZipOutputStream)
|
||||
} else if (fs is GZipOutputStream)
|
||||
{
|
||||
fs.Close();
|
||||
}
|
||||
if (fs is XZOutputStream)
|
||||
} else if (fs is XZOutputStream)
|
||||
{
|
||||
fs.Close();
|
||||
}
|
||||
}
|
||||
errored = false;
|
||||
|
||||
if (removeAfter)
|
||||
if (removeAfter && !IsCancelling)
|
||||
_diskAccess.UnmountDrive();
|
||||
|
||||
readfail1:
|
||||
|
|
@ -542,17 +539,14 @@ namespace DynamicDevices.DiskWriter
|
|||
{
|
||||
((ZipOutputStream)fs).CloseEntry();
|
||||
((ZipOutputStream)fs).Close();
|
||||
}
|
||||
if (fs is TarOutputStream)
|
||||
} else if (fs is TarOutputStream)
|
||||
{
|
||||
((TarOutputStream) fs).CloseEntry();
|
||||
fs.Close();
|
||||
}
|
||||
if (fs is GZipOutputStream)
|
||||
} else if (fs is GZipOutputStream)
|
||||
{
|
||||
fs.Close();
|
||||
}
|
||||
if (fs is XZOutputStream)
|
||||
} else if (fs is XZOutputStream)
|
||||
{
|
||||
fs.Close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,7 +120,8 @@ namespace DynamicDevices.DiskWriter
|
|||
var drive = (string)checkedListBoxDrives.CheckedItems[0];
|
||||
|
||||
ClearLayoutPanels();
|
||||
GetPathIfEmpty();
|
||||
if (GetPathIfEmpty() == false)
|
||||
return;
|
||||
|
||||
DisableButtons(true);
|
||||
|
||||
|
|
@ -135,6 +136,9 @@ namespace DynamicDevices.DiskWriter
|
|||
Thread.CurrentThread.CurrentUICulture = CurrentLocale;
|
||||
SendProgressToUI(disk);
|
||||
|
||||
DiskAccesses.Add(diskAccess);
|
||||
_disks.Add(disk);
|
||||
|
||||
var res = false;
|
||||
try
|
||||
{
|
||||
|
|
@ -177,7 +181,8 @@ namespace DynamicDevices.DiskWriter
|
|||
}
|
||||
|
||||
ClearLayoutPanels();
|
||||
GetPathIfEmpty();
|
||||
if (GetPathIfEmpty() == false)
|
||||
return;
|
||||
|
||||
DisableButtons(true);
|
||||
|
||||
|
|
@ -317,15 +322,24 @@ namespace DynamicDevices.DiskWriter
|
|||
/// <summary>
|
||||
/// Select the file for read / write and setup defaults for whether we're using compression based on extension
|
||||
/// </summary>
|
||||
private void ChooseFile()
|
||||
private bool ChooseFile()
|
||||
{
|
||||
var dr = saveFileDialog1.ShowDialog();
|
||||
|
||||
if (dr != DialogResult.OK)
|
||||
return;
|
||||
return false;
|
||||
|
||||
textBoxFileName.Text = saveFileDialog1.FileName;
|
||||
TextBoxFileNameTextChanged(this, null);
|
||||
TextBoxFileNameTextChanged(this, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Before writing / reading we should check that FileName is not empty
|
||||
/// </summary>
|
||||
private bool GetPathIfEmpty()
|
||||
{
|
||||
return !string.IsNullOrEmpty(textBoxFileName.Text) || ChooseFile();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -346,15 +360,6 @@ namespace DynamicDevices.DiskWriter
|
|||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Before writing / reading we should check that FileName is not empty
|
||||
/// </summary>
|
||||
private void GetPathIfEmpty()
|
||||
{
|
||||
if (string.IsNullOrEmpty(textBoxFileName.Text))
|
||||
ChooseFile();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Flushes all existing controls from layout panels
|
||||
/// </summary>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -130,6 +130,9 @@
|
|||
<data name="buttonWrite.Text" xml:space="preserve">
|
||||
<value>Запись</value>
|
||||
</data>
|
||||
<data name="buttonChooseFile.ToolTip" xml:space="preserve">
|
||||
<value>Открыть диалог выбора файла</value>
|
||||
</data>
|
||||
<data name="saveFileDialog1.Filter" xml:space="preserve">
|
||||
<value>Образы файлов (*.img,*.bin,*.sdcard)|*.img;*.bin;*.sdcard|Сжатые файлы (*.zip,*.gz,*tgz)|*.zip;*.gz;*.tgz|Все файлы (*.*)|*.*</value>
|
||||
</data>
|
||||
|
|
@ -157,11 +160,13 @@
|
|||
<data name="groupBoxCompression.Text" xml:space="preserve">
|
||||
<value>Сжатие</value>
|
||||
</data>
|
||||
<data name="optionsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 20</value>
|
||||
</data>
|
||||
<data name="optionsToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Опции</value>
|
||||
<data name="groupBoxCompression.ToolTip" xml:space="preserve">
|
||||
<value>Выбрать метод сжатия образа.
|
||||
Для записи на диск не надо указывать формат, утилита сама распознает формат
|
||||
архива/образа.
|
||||
Для чтения с диска можно указать любой желаемый формат.
|
||||
|
||||
СОВЕТ: Если вы читаете с диска и не знаете, что выбрать, используйте XZ</value>
|
||||
</data>
|
||||
<data name="displayAllDrivesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>265, 22</value>
|
||||
|
|
@ -169,12 +174,6 @@
|
|||
<data name="displayAllDrivesToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Показать все диски ***ОПАСНО***</value>
|
||||
</data>
|
||||
<data name="languageToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>265, 22</value>
|
||||
</data>
|
||||
<data name="languageToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Язык</value>
|
||||
</data>
|
||||
<data name="englishToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>141, 22</value>
|
||||
</data>
|
||||
|
|
@ -187,11 +186,17 @@
|
|||
<data name="russianToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Русский</value>
|
||||
</data>
|
||||
<data name="groupBoxTruncation.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>267, 78</value>
|
||||
<data name="languageToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>265, 22</value>
|
||||
</data>
|
||||
<data name="groupBoxTruncation.Text" xml:space="preserve">
|
||||
<value>Образ логических разделов</value>
|
||||
<data name="languageToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Язык</value>
|
||||
</data>
|
||||
<data name="optionsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>56, 20</value>
|
||||
</data>
|
||||
<data name="optionsToolStripMenuItem.Text" xml:space="preserve">
|
||||
<value>Опции</value>
|
||||
</data>
|
||||
<data name="checkBoxUnmount.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>216, 17</value>
|
||||
|
|
@ -219,6 +224,12 @@
|
|||
|
||||
СОВЕТ: Если не знаете, зачем это, оставьте отмеченным.</value>
|
||||
</data>
|
||||
<data name="groupBoxTruncation.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>267, 78</value>
|
||||
</data>
|
||||
<data name="groupBoxTruncation.Text" xml:space="preserve">
|
||||
<value>Образ логических разделов</value>
|
||||
</data>
|
||||
<data name="checkedListBoxDrives.ToolTip" xml:space="preserve">
|
||||
<value>Список дисков, подмонтированных системой.
|
||||
По умолчанию показывает внешние диски, но можно
|
||||
|
|
@ -230,15 +241,4 @@
|
|||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Прогресс</value>
|
||||
</data>
|
||||
<data name="buttonChooseFile.ToolTip" xml:space="preserve">
|
||||
<value>Открыть диалог выбора файла</value>
|
||||
</data>
|
||||
<data name="groupBoxCompression.ToolTip" xml:space="preserve">
|
||||
<value>Выбрать метод сжатия образа.
|
||||
Для записи на диск не надо указывать формат, утилита сама распознает формат
|
||||
архива/образа.
|
||||
Для чтения с диска можно указать любой желаемый формат.
|
||||
|
||||
СОВЕТ: Если вы читаете с диска и не знаете, что выбрать, используйте XZ</value>
|
||||
</data>
|
||||
</root>
|
||||
Loading…
Add table
Add a link
Reference in a new issue