Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hutchinson <mhutchinson@novell.com>2010-05-26 05:36:55 +0400
committerMichael Hutchinson <mhutchinson@novell.com>2010-05-26 05:36:55 +0400
commitc4f2d11500e781da4ea6debd28de69d5d5786343 (patch)
treee23bf57c7a3075e479c2ad134da2d86ad429eeef /main/src/core
parent523686955d6809bcc5518a97559ff1c3f4f81fc4 (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/core')
-rw-r--r--main/src/core/MonoDevelop.Ide/ChangeLog24
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Extensions/ISelectFileDialog.cs5
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/TextEditorDialog.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs14
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Commands/ViewCommands.cs5
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/CustomExecutionModeManagerDialog.cs10
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/ExecutionModeCommandService.cs12
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Execution/MonoExecutionParametersWidget.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/AddinLoadErrorDialog.cs5
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/FileSelectorDialog.cs6
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OpenFileDialog.cs52
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Workbench.cs5
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CodeFormattingPanel.cs3
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/CustomCommandWidget.cs26
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/SolutionItemConfigurationsPanel.cs17
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/AddFileDialog.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/ProjectOperations.cs4
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs6
19 files changed, 112 insertions, 109 deletions
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)
);