diff options
author | Michael Hutchinson <mhutchinson@novell.com> | 2010-05-26 05:36:55 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutchinson@novell.com> | 2010-05-26 05:36:55 +0400 |
commit | c4f2d11500e781da4ea6debd28de69d5d5786343 (patch) | |
tree | e23bf57c7a3075e479c2ad134da2d86ad429eeef /main/src | |
parent | 523686955d6809bcc5518a97559ff1c3f4f81fc4 (diff) |
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ViewCommands.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/AddFileDialog.cs:
* src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs:
More dialog placement cleanup.
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs:
Use platform dialog.
svn path=/trunk/monodevelop/; revision=157922
Diffstat (limited to 'main/src')
21 files changed, 119 insertions, 113 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/ChangeLog b/main/src/addins/MonoDevelop.Debugger/ChangeLog index 4c487a1bd9..c7bc3ff36e 100644 --- a/main/src/addins/MonoDevelop.Debugger/ChangeLog +++ b/main/src/addins/MonoDevelop.Debugger/ChangeLog @@ -1,3 +1,8 @@ +2010-05-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Debugger/DebugCommands.cs: More dialog placement + cleanup. + 2010-05-22 Michael Hutchinson <mhutchinson@novell.com> * MonoDevelop.Debugger/DebuggingService.cs: More dialog diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs index dfe619f572..89a539b379 100644 --- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs +++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger/DebugCommands.cs @@ -247,12 +247,10 @@ namespace MonoDevelop.Debugger { protected override void Run () { - AttachToProcessDialog dlg = new AttachToProcessDialog (); + var dlg = new AttachToProcessDialog (); try { - dlg.TransientFor = IdeApp.Workbench.RootWindow; - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) IdeApp.ProjectOperations.AttachToProcess (dlg.SelectedDebugger, dlg.SelectedProcess); - } } finally { dlg.Destroy (); diff --git a/main/src/core/MonoDevelop.Ide/ChangeLog b/main/src/core/MonoDevelop.Ide/ChangeLog index 6a53a50ead..193d740b90 100644 --- a/main/src/core/MonoDevelop.Ide/ChangeLog +++ b/main/src/core/MonoDevelop.Ide/ChangeLog @@ -1,5 +1,29 @@ 2010-05-25 Michael Hutchinson <mhutchinson@novell.com> + * MonoDevelop.Ide.Gui/Workbench.cs: + * MonoDevelop.Ide/RootWorkspace.cs: + * MonoDevelop.Ide/ProjectOperations.cs: + * MonoDevelop.Ide.Commands/ViewCommands.cs: + * MonoDevelop.Ide.Projects/AddFileDialog.cs: + * MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs: + * MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs: + * MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs: + * MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs: + * MonoDevelop.Components.Extensions/ISelectFileDialog.cs: + * MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs: + * MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs: + * MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs: + * MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs: + * MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs: + * MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs: + More dialog placement cleanup. + + * MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs: + * MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs: + Use platform dialog. + +2010-05-25 Michael Hutchinson <mhutchinson@novell.com> + * MonoDevelop.Ide.Gui/DocumentSwitcher.cs: Mark window as a popup, so the command manger doesn't intercept keystroke. diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs index fb83f0d894..507366f902 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs @@ -28,6 +28,7 @@ using System; using System.Collections.Generic; using System.Linq; using MonoDevelop.Core; +using MonoDevelop.Ide; namespace MonoDevelop.Components.Extensions
{ @@ -160,10 +161,8 @@ namespace MonoDevelop.Components.Extensions foreach (var filter in GetGtkFileFilters ()) fdiag.AddFilter (filter); - MonoDevelop.Ide.MessageService.PlaceDialog (fdiag, data.TransientFor ?? MonoDevelop.Ide.MessageService.RootWindow); - try { - int result = fdiag.Run (); + int result = MessageService.RunCustomDialog (fdiag, data.TransientFor ?? MessageService.RootWindow); data.SelectedFiles = fdiag.Filenames.ToFilePathArray (); return result == (int) Gtk.ResponseType.Ok; } finally { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs index a43d26e6a1..c171fc64a8 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs @@ -67,7 +67,7 @@ namespace MonoDevelop.Components.PropertyGrid.PropertyEditors dialog.DefaultWidth = 500; dialog.DefaultHeight = 400; dialog.ShowAll (); - return dialog.Run (); + return MonoDevelop.Ide.MessageService.RunCustomDialog (dialog, dialog.TransientFor); } public void Dispose () diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs index 4e7b9ff689..64073788c7 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs @@ -125,10 +125,8 @@ namespace MonoDevelop.Ide.CodeTemplates if (template != null) { templatesToSave.Add (template); var editDialog = new EditTemplateDialog (template, false); - editDialog.TransientFor = this.Toplevel as Gtk.Window; - if (ResponseType.Ok == (ResponseType)editDialog.Run ()) + if (MessageService.ShowCustomDialog (editDialog, this.Toplevel as Gtk.Window) == (int)ResponseType.Ok) templatesToSave.Add (template); - editDialog.Destroy (); } } @@ -142,17 +140,13 @@ namespace MonoDevelop.Ide.CodeTemplates void ButtonAddClicked (object sender, EventArgs e) { - CodeTemplate newTemplate = new CodeTemplate (); - EditTemplateDialog editDialog = new EditTemplateDialog (newTemplate, true); - - editDialog.Parent = parent; - editDialog.TransientFor = this.Toplevel as Gtk.Window; - if (ResponseType.Ok == (ResponseType)editDialog.Run ()) { + var newTemplate = new CodeTemplate (); + var editDialog = new EditTemplateDialog (newTemplate, true); + if (MessageService.ShowCustomDialog (editDialog, this.Toplevel as Gtk.Window) == (int)ResponseType.Ok) { InsertTemplate (newTemplate); templates.Add (newTemplate); templatesToSave.Add (newTemplate); } - editDialog.Destroy (); } public void Store () diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ViewCommands.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ViewCommands.cs index 2678cd5a6e..b6f9bb0411 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ViewCommands.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ViewCommands.cs @@ -139,10 +139,9 @@ namespace MonoDevelop.Ide.Commands protected override void Run () { string newLayoutName = null; - NewLayoutDialog dlg = new NewLayoutDialog(); - dlg.TransientFor = IdeApp.Workbench.RootWindow; + var dlg = new NewLayoutDialog(); try { - if (((Gtk.ResponseType)dlg.Run ()) == Gtk.ResponseType.Ok) + if (MessageService.RunCustomDialog (dlg) == (int)Gtk.ResponseType.Ok) newLayoutName = dlg.LayoutName; } finally { dlg.Destroy (); diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs index 63dd814273..5f611e9ff8 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs @@ -85,11 +85,10 @@ namespace MonoDevelop.Ide.Execution protected virtual void OnButtonAddClicked (object sender, System.EventArgs e) { - CustomExecutionModeDialog dlg = new CustomExecutionModeDialog (); - dlg.TransientFor = this; + var dlg = new CustomExecutionModeDialog (); try { dlg.Initialize (ctx, null, null); - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (dlg, this) == (int) Gtk.ResponseType.Ok) { ExecutionModeCommandService.SaveCustomCommand (ctx.Project, dlg.GetConfigurationData ()); Fill (); } @@ -110,11 +109,10 @@ namespace MonoDevelop.Ide.Execution protected virtual void OnButtonEditClicked (object sender, System.EventArgs e) { CustomExecutionMode mode = GetSelectedMode (); - CustomExecutionModeDialog dlg = new CustomExecutionModeDialog (); - dlg.TransientFor = this; + var dlg = new CustomExecutionModeDialog (); try { dlg.Initialize (ctx, null, mode); - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (dlg, this) == (int) Gtk.ResponseType.Ok) { CustomExecutionMode newMode = dlg.GetConfigurationData (); ExecutionModeCommandService.SaveCustomCommand (ctx.Project, newMode); if (newMode.Scope != mode.Scope) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs index 038fb0a9ce..e60aa84d06 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs @@ -91,13 +91,8 @@ namespace MonoDevelop.Ide.Execution { CommandItem item = (CommandItem) data; if (item.Mode == null) { - CustomExecutionModeManagerDialog dlg = new CustomExecutionModeManagerDialog (item.Context); - dlg.TransientFor = IdeApp.Workbench.RootWindow; - try { - dlg.Run (); - } finally { - dlg.Destroy (); - } + var dlg = new CustomExecutionModeManagerDialog (item.Context); + MessageService.ShowCustomDialog (dlg); return null; } @@ -213,8 +208,7 @@ namespace MonoDevelop.Ide.Execution CustomExecutionModeDialog dlg = new CustomExecutionModeDialog (); try { dlg.Initialize (ctx, mode, currentMode); - dlg.TransientFor = IdeApp.Workbench.RootWindow; - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) { cmode = dlg.GetConfigurationData (); cmode.Project = ctx.Project; if (dlg.Save) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs index 4c4f9d86a3..dbb2c446cf 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs @@ -61,10 +61,8 @@ namespace MonoDevelop.Ide.Execution protected virtual void OnButtonPreviewClicked (object sender, System.EventArgs e) { propertyGrid.CommitPendingChanges (); - MonoExecutionParametersPreview dlg = new MonoExecutionParametersPreview (config); - dlg.TransientFor = this.Toplevel as Gtk.Window; - dlg.Run (); - dlg.Destroy (); + var dlg = new MonoExecutionParametersPreview (config); + MessageService.ShowCustomDialog (dlg, this.Toplevel as Gtk.Window); } protected virtual void OnButtonResetClicked (object sender, System.EventArgs e) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs index ad5d6b4d7f..658fc52d33 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs @@ -80,10 +80,7 @@ namespace MonoDevelop.Ide.Gui.Dialogs public new bool Run () { - Show (); - bool res = (((ResponseType)base.Run ()) == ResponseType.Yes); - Destroy (); - return res; + return MessageService.ShowCustomDialog (this) == (int)ResponseType.Yes; } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs index e805edefd8..a279cffcdb 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs @@ -240,10 +240,8 @@ namespace MonoDevelop.Ide.Gui.Dialogs void EncodingChanged (object s, EventArgs args) { if (encodingMenu.History == selectOption) { - SelectEncodingsDialog dlg = new SelectEncodingsDialog (); - dlg.TransientFor = this; - dlg.Run (); - dlg.Destroy (); + var dlg = new SelectEncodingsDialog (); + MessageService.ShowCustomDialog (dlg, this); FillEncodings (); } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs index 434a2ccb19..6df4dd6051 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs @@ -35,9 +35,14 @@ namespace MonoDevelop.Ide.Gui.Dialogs /// Dialog which allows selecting a file to be opened or saved /// </summary>
public class OpenFileDialog: SelectFileDialog<IOpenFileDialogHandler, OpenFileDialogData>
- {
- public OpenFileDialog ()
- {
+ { + public OpenFileDialog () + { + } + + public OpenFileDialog (string title) + { + Title = title; } /// <summary> @@ -89,22 +94,37 @@ namespace MonoDevelop.Ide.Gui.Dialogs if (Handler != null) Handler.Run (data); - FileSelectorDialog win = new FileSelectorDialog (data.Title, data.Action); - win.Encoding = data.Encoding; - win.ShowEncodingSelector = data.ShowEncodingSelector; - win.ShowViewerSelector = data.ShowViewerSelector; - + var win = new FileSelectorDialog (data.Title, data.Action) { + Encoding = data.Encoding, + ShowEncodingSelector = data.ShowEncodingSelector, + ShowViewerSelector = data.ShowViewerSelector, + }; foreach (var filter in GetGtkFileFilters ()) win.AddFilter (filter); - if (win.Run () == (int) Gtk.ResponseType.Ok) { - data.Encoding = win.Encoding; - data.CloseCurrentWorkspace = win.CloseCurrentWorkspace; - data.SelectedFiles = win.Filenames.ToFilePathArray (); - data.SelectedViewer = win.SelectedViewer; - return true; - } else - return false; + try { + var result = MessageService.RunCustomDialog (win, TransientFor ?? MessageService.RootWindow); + if (result == (int) Gtk.ResponseType.Ok) { + data.Encoding = win.Encoding; + data.CloseCurrentWorkspace = win.CloseCurrentWorkspace; + data.SelectedFiles = win.Filenames.ToFilePathArray (); + data.SelectedViewer = win.SelectedViewer; + + //handle certain strange cases in the GTK file dialog + if (string.IsNullOrEmpty (SelectedFile)) { + if (win.Uri != null) + MessageService.ShowError (GettextCatalog.GetString ("Only local files can be opened.")); + else + MessageService.ShowError (GettextCatalog.GetString ("The provided file could not be loaded.")); + return false; + } + + return true; + } else + return false; + } finally { + win.Destroy (); + } } }
}
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs index dd35d3a4f4..115ed248ef 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs @@ -110,19 +110,14 @@ namespace MonoDevelop.Ide.Gui.OptionPanels protected virtual void OnButtonAddClicked (object sender, System.EventArgs e) { - FolderDialog fd = new FolderDialog (GettextCatalog.GetString ("Select the mono installation prefix")); - fd.SetFilename ("/usr"); - fd.TransientFor = this.Toplevel as Gtk.Window; - - int response = fd.Run (); - - if (response != (int) ResponseType.Ok) { - fd.Hide (); + var dlg = new SelectFolderDialog (GettextCatalog.GetString ("Select the mono installation prefix")) { + TransientFor = this.Toplevel as Gtk.Window, + CurrentFolder = "/usr", + }; + if (!dlg.Run ()) return; - } - fd.Hide (); - MonoRuntimeInfo rinfo = new MonoRuntimeInfo (fd.Filename); + var rinfo = new MonoRuntimeInfo (dlg.SelectedFile); if (!rinfo.IsValidRuntime) { MessageService.ShowError (GettextCatalog.GetString ("Mono runtime not found"), GettextCatalog.GetString ("Please provide a valid directory prefix where mono is installed (for example, /usr)")); return; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs index 429751dd0f..1de18daa54 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs @@ -520,11 +520,8 @@ namespace MonoDevelop.Ide.Gui try { if (panelId != null) ops.SelectPanel (panelId); - ops.TransientFor = parentWindow; - MessageService.PlaceDialog (ops, parentWindow); - - if (ops.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (ops, parentWindow) == (int) Gtk.ResponseType.Ok) { MonoDevelop.Projects.Policies.PolicyService.SaveDefaultPolicies (); } } finally { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs index 9cde9c4aea..adf013eef4 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs @@ -324,8 +324,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels { AddMimeTypeDialog dlg = new AddMimeTypeDialog (panel.GetItemMimeTypes ()); try { - dlg.TransientFor = this.Toplevel as Gtk.Window; - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (dlg, this.Toplevel as Gtk.Window) == (int) Gtk.ResponseType.Ok) { MimeTypePanelData mt = panel.AddGlobalMimeType (dlg.MimeType); store.AppendValues (mt, DesktopService.GetPixbufForType (mt.MimeType, Gtk.IconSize.Menu), mt.TypeDescription); } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs index 3cdb8b3099..84114bf4c6 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs @@ -100,21 +100,17 @@ namespace MonoDevelop.Ide.Projects.OptionPanels protected virtual void OnButtonBrowseClicked(object sender, System.EventArgs e) { - FileSelector fdiag = new FileSelector (GettextCatalog.GetString ("Select File")); - try { - fdiag.SetCurrentFolder (entry.BaseDirectory); - fdiag.SelectMultiple = false; - fdiag.TransientFor = this.Toplevel as Gtk.Window; - if (fdiag.Run () == (int) Gtk.ResponseType.Ok) { - if (System.IO.Path.IsPathRooted (fdiag.Filename)) - entryCommand.Text = FileService.AbsoluteToRelativePath (entry.BaseDirectory, fdiag.Filename); - else - entryCommand.Text = fdiag.Filename; - } - fdiag.Hide (); - } finally { - fdiag.Destroy (); - } + var dlg = new SelectFileDialog (GettextCatalog.GetString ("Select File")) { + CurrentFolder = entry.BaseDirectory, + SelectMultiple = false, + TransientFor = this.Toplevel as Gtk.Window, + }; + if (!dlg.Run ()) + return; + if (System.IO.Path.IsPathRooted (dlg.SelectedFile)) + entryCommand.Text = FileService.AbsoluteToRelativePath (entry.BaseDirectory, dlg.SelectedFile); + else + entryCommand.Text = dlg.SelectedFile; } protected virtual void OnEntryCommandChanged(object sender, System.EventArgs e) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs index 54ea0daa89..8c05717965 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs @@ -104,13 +104,12 @@ namespace MonoDevelop.Ide.Projects.OptionPanels void AddConfiguration (string copyFrom) { - NewConfigurationDialog dlg = new NewConfigurationDialog (configData.Configurations); + var dlg = new NewConfigurationDialog (configData.Configurations); try { bool done = false; do { - dlg.TransientFor = this.Toplevel as Gtk.Window; - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { - ItemConfiguration cc = configData.AddConfiguration (dlg.ConfigName, copyFrom, dlg.CreateChildren); + if (MessageService.RunCustomDialog (dlg, Toplevel as Gtk.Window) == (int) Gtk.ResponseType.Ok) { + var cc = configData.AddConfiguration (dlg.ConfigName, copyFrom, dlg.CreateChildren); store.AppendValues (cc, cc.Id); done = true; } else @@ -133,12 +132,11 @@ namespace MonoDevelop.Ide.Projects.OptionPanels return; } - ItemConfiguration cc = (ItemConfiguration) store.GetValue (iter, 0); - DeleteConfigDialog dlg = new DeleteConfigDialog (); + var cc = (ItemConfiguration) store.GetValue (iter, 0); + var dlg = new DeleteConfigDialog (); try { - dlg.TransientFor = this.Toplevel as Gtk.Window; - if (dlg.Run () == (int) Gtk.ResponseType.Yes) { + if (MessageService.RunCustomDialog (dlg, Toplevel as Gtk.Window)== (int) Gtk.ResponseType.Yes) { configData.RemoveConfiguration (cc.Id, dlg.DeleteChildren); store.Remove (ref iter); } @@ -161,8 +159,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels try { bool done = false; do { - dlg.TransientFor = this.Toplevel as Gtk.Window; - if (dlg.Run () == (int) Gtk.ResponseType.Ok) { + if (MessageService.RunCustomDialog (dlg, Toplevel as Window) == (int) Gtk.ResponseType.Ok) { configData.RenameConfiguration (cc.Id, dlg.ConfigName, dlg.RenameChildren); store.SetValue (iter, 1, cc.Id); done = true; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/AddFileDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/AddFileDialog.cs index 501557fbe5..4fe47e8428 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/AddFileDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/AddFileDialog.cs @@ -99,7 +99,7 @@ namespace MonoDevelop.Ide.Projects int result; try { - result = fdiag.Run (); + result = MessageService.RunCustomDialog (fdiag, data.TransientFor ?? MessageService.RootWindow); data.SelectedFiles = fdiag.Filenames.ToFilePathArray (); if (check.Active) data.OverrideAction = combo.ActiveText; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs index 48a63c20ec..a472f7d45d 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs @@ -493,9 +493,9 @@ namespace MonoDevelop.Ide bool SelectValidFileFormat (IWorkspaceFileObject item) { - SelectFileFormatDialog dlg = new SelectFileFormatDialog (item); + var dlg = new SelectFileFormatDialog (item); try { - if (dlg.Run () == (int) Gtk.ResponseType.Ok && dlg.Format != null) { + if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok && dlg.Format != null) { item.ConvertToFormat (dlg.Format, true); return true; } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs index df63596a9e..ae19945fff 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs @@ -677,11 +677,9 @@ namespace MonoDevelop.Ide DispatchService.GuiDispatch ( delegate (object state) { NewFilesMessage message = (NewFilesMessage) state; - IncludeNewFilesDialog includeNewFilesDialog = new IncludeNewFilesDialog (message.Project); + var includeNewFilesDialog = new IncludeNewFilesDialog (message.Project); includeNewFilesDialog.AddFiles (message.NewFiles); - includeNewFilesDialog.TransientFor = IdeApp.Workbench.RootWindow; - includeNewFilesDialog.Run (); - includeNewFilesDialog.Destroy (); + MessageService.ShowCustomDialog (includeNewFilesDialog, IdeApp.Workbench.RootWindow); }, new NewFilesMessage (project, newFiles) ); |