public void ShowError(Exception ex, string message, Window parent)
        {
            ErrorDialog dlg = new ErrorDialog (parent);

            if (message != null) {
                dlg.Message = message;
            }

            if (ex != null) {
                if (dlg.Message.Length == 0)
                    dlg.Message = ex.Message;
                dlg.AddDetails ("Exception occurred: " + ex.Message + "\n\n", true);
                dlg.AddDetails (ex.ToString (), false);
            } else {
                dlg.AddDetails ("No more details available.", true);
            }

            dlg.Show ();
        }