Beispiel #1
0
        private async void modifyCmd_Click(object sender, EventArgs e)
        {
            if (CurSel?.Location == null)
            {
                MessageBox.Show(this, "Error getting disk information", null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var options = new List <MediumType> {
                MediumType.MediumType_Normal, MediumType.MediumType_Immutable, MediumType.MediumType_Shareable, MediumType.MediumType_MultiAttach
            };

            if (!CurSel.HasChildren)
            {
                options.Add(MediumType.MediumType_Writethrough);
            }

            var dlg = new ModifyDlg(CurSel.Location, options.ToArray(), CurSel.MediumType);

            if (dlg.ShowDialog(this) == DialogResult.Cancel)
            {
                return;
            }

            await RunAsyncAction("Changing", async (t, p) => await Task.Run(() => { Medium.ChangeMediumType(CurSel.Location, dlg.MediumType); }, t), CurSel.UUID);
        }