public static void ShowError(IWin32Window owner, string title, string message, string details = null) { var d = new MessageForm { Title = title, Message = message, Details = details, Icon = Resources.Exclamation32, Buttons = new[] { "OK" } }; d.ShowDialog(owner); }
private void DoDelete() { if (_list.SelectedItems.Count != 1) { return; } var lvi = _list.SelectedItems[0]; var name = lvi.Text; var type = (NotebookItemType)Enum.Parse(typeof(NotebookItemType), lvi.Group.Name); // can't delete tables or views if an operation is in progress bool isTableOrView = type == NotebookItemType.Table || type == NotebookItemType.View; if (isTableOrView && _operationInProgress) { MessageForm.ShowError(_mainForm, "Delete Item", "Cannot delete tables or views while an operation is in progress.", "Please wait until the current operation finishes, and then try again."); return; } var deleteBtn = "&Delete"; var d = new MessageForm { Title = "Delete Item", Message = $"Are you sure you want to delete \"{name}\"?", Buttons = new[] { deleteBtn, "Cancel" }, Icon = Resources.Warning32 }; if (d.ShowDialog(this) != deleteBtn) { return; } var item = new NotebookItem(type, name); _manager.CloseItem(item); new WaitForm("Delete", "Deleting the selected item...", () => { _manager.DeleteItem(item); }).ShowDialogAndDispose(this); _manager.Rescan(notebookItemsOnly: !isTableOrView); }
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { if (_operationInProgress) { ErrorBox("SQL Notebook", "An operation is in progress.", "Please cancel the operation or wait for it to complete before exiting from SQL Notebook."); e.Cancel = true; return; } if (_isDirty) { var shortFilename = _isNew ? "Untitled" : Path.GetFileNameWithoutExtension(_filePath); var saveBtn = "&Save"; var dontSaveBtn = "Do&n't Save"; var cancelBtn = "Cancel"; var d = new MessageForm { Title = "SQL Notebook", Message = $"Do you want to save changes to {shortFilename}?", Buttons = new[] { saveBtn, dontSaveBtn, cancelBtn } }; var btn = d.ShowDialog(this); if (btn == saveBtn) { if (!SaveOrSaveAs()) { e.Cancel = true; } } else if (btn == null || btn == cancelBtn) { e.Cancel = true; } } }