rendered paste bodyIndex: Extras/MonoQuery/ChangeLog
===================================================================
--- Extras/MonoQuery/ChangeLog (revision 73136)
+++ Extras/MonoQuery/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2007-02-20 Ankit Jain <jankit@novell.com>
+
+ * MonoQuery/Commands/Commands.cs (Run): Handle empty connection string.
+ Destroy the dialog even if an exception is thrown.
+
2007-02-16 Lluis Sanchez Gual <lluis@novell.com>
* MonoQuery/MonoQuery.addin.xml: Change add-in versions to 0.13.
Index: Extras/MonoQuery/MonoQuery/Commands/Commands.cs
===================================================================
--- Extras/MonoQuery/MonoQuery/Commands/Commands.cs (revision 73136)
+++ Extras/MonoQuery/MonoQuery/Commands/Commands.cs (working copy)
@@ -30,6 +30,7 @@
using System.Reflection;
using MonoDevelop.Core.Gui;
+using MonoDevelop.Ide.Gui;
using MonoDevelop.Ide.Gui.Pads;
using MonoDevelop.Components.Commands;
using MonoDevelop.Core;
@@ -58,20 +59,29 @@
protected override void Run ()
{
ConnectionDialog dialog = new ConnectionDialog ();
- int retval = dialog.Run ();
- if (retval == (int) Gtk.ResponseType.Ok) {
- Assembly asm = Assembly.GetAssembly (typeof (Mono.Data.Sql.DbProviderBase));
- DbProviderBase provider = (DbProviderBase) asm.CreateInstance (dialog.ConnectionType.FullName);
- if (provider == null)
- return;
- provider.Name = dialog.ConnectionName;
- provider.ConnectionString = dialog.ConnectionString;
-
- MonoQueryService service = (MonoQueryService)
- ServiceManager.GetService (typeof (MonoQueryService));
- service.Providers.Add ( (DbProviderBase) provider);
+ try {
+ int retval = dialog.Run ();
+ if (retval == (int) Gtk.ResponseType.Ok) {
+ if (String.IsNullOrEmpty (dialog.ConnectionString)) {
+ IdeApp.Services.MessageService.ShowError (GettextCatalog.GetString (
+ "Connection string cannot be blank."));
+ return;
+ }
+
+ Assembly asm = Assembly.GetAssembly (typeof (Mono.Data.Sql.DbProviderBase));
+ DbProviderBase provider = (DbProviderBase) asm.CreateInstance (dialog.ConnectionType.FullName);
+ if (provider == null)
+ return;
+ provider.Name = dialog.ConnectionName;
+ provider.ConnectionString = dialog.ConnectionString;
+
+ MonoQueryService service = (MonoQueryService)
+ ServiceManager.GetService (typeof (MonoQueryService));
+ service.Providers.Add ( (DbProviderBase) provider);
+ }
+ } finally {
+ dialog.Destroy ();
}
- dialog.Destroy ();
}
}
}