Author: bmotmans
Date: 2008-01-29 08:23:32 -0500 (Tue, 29 Jan 2008)
New Revision: 94245
Modified:
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/ChangeLog
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/Widgets/ConnectionSettingsWidget.cs
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/MonoDevelop.Database.Components.ConnectionSettingsWidget.cs
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/gui.stetic
Log:
* Widgets/ConnectionSettingsWidget.cs,
gtk-gui/MonoDevelop.Database.Components.ConnectionSettingsWidget.cs:
several improvements to the "test connection" method
Modified:
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/ChangeLog
===================================================================
---
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/ChangeLog
2008-01-29 13:20:03 UTC (rev 94244)
+++
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/ChangeLog
2008-01-29 13:23:32 UTC (rev 94245)
@@ -1,3 +1,9 @@
+2008-01-29 Ben Motmans <[EMAIL PROTECTED]>
+
+ * Widgets/ConnectionSettingsWidget.cs,
+ gtk-gui/MonoDevelop.Database.Components.ConnectionSettingsWidget.cs:
+ several improvements to the "test connection" method
+
2008-01-28 Ben Motmans <[EMAIL PROTECTED]>
* Widgets/ConnectionSettingsWidget.cs: implemented the test button
Modified:
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/Widgets/ConnectionSettingsWidget.cs
===================================================================
---
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/Widgets/ConnectionSettingsWidget.cs
2008-01-29 13:20:03 UTC (rev 94244)
+++
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/Widgets/ConnectionSettingsWidget.cs
2008-01-29 13:23:32 UTC (rev 94245)
@@ -57,6 +57,7 @@
{
if (factory == null)
throw new ArgumentNullException ("factory");
+ this.factory = factory;
this.Build();
@@ -287,11 +288,11 @@
ISchemaProvider prov = fac.CreateSchemaProvider
(pool);
DatabaseSchemaCollection databases =
prov.GetDatabases ();
- foreach (DatabaseSchema db in databases) {
- DispatchService.GuiDispatch (delegate
() {
+ DispatchService.GuiDispatch (delegate () {
+ foreach (DatabaseSchema db in
databases) {
storeDatabases.AppendValues
(db.Name);
- });
- }
+ }
+ });
isDatabaseListEmpty = databases.Count == 0;
} catch {
} finally {
@@ -320,7 +321,10 @@
protected virtual void TestClicked (object sender,
System.EventArgs e)
{
+ //TODO: use a Thread object, so the thread can be
aborted when the entered values change
DatabaseConnectionSettings settingsCopy =
CreateDatabaseConnectionSettings ();
+ labelTest.Text = AddinCatalog.GetString ("Trying to
connect to database ...");
+ buttonTest.Sensitive = false;
ThreadPool.QueueUserWorkItem (new WaitCallback
(TestClickedThreaded), settingsCopy);
}
@@ -330,21 +334,33 @@
DatabaseConnectionContext context = new
DatabaseConnectionContext (settings);
IDbFactory fac = DbFactoryService.GetDbFactory
(settings.ProviderIdentifier);
- string message = null;
+ bool success = false;
+ string error = null;
+
FakeConnectionPool pool = null;
+ IPooledDbConnection conn = null;
try {
pool = new FakeConnectionPool (fac,
fac.ConnectionProvider, context);
- pool.Initialize ();
- message = AddinCatalog.GetString ("Test
succeeded");
+ success = pool.Initialize ();
+ error = pool.Error;
} catch (System.Data.DataException ex) {
- message = AddinCatalog.GetString ("Test failed:
{0}", ex.Message);
+ error = ex.Message;
+ success = false;
} finally {
+ if (conn != null) {
+ conn.Release ();
+ conn.Dispose ();
+ }
if (pool != null)
pool.Close ();
}
DispatchService.GuiDispatch (delegate () {
- labelTest.Text = message;
+ buttonTest.Sensitive = true;
+ if (success)
+ labelTest.Text = AddinCatalog.GetString
("Test Succeeded.");
+ else
+ labelTest.Text = AddinCatalog.GetString
("Test Failed: {0}.", error);
});
}
}
Modified:
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/MonoDevelop.Database.Components.ConnectionSettingsWidget.cs
===================================================================
---
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/MonoDevelop.Database.Components.ConnectionSettingsWidget.cs
2008-01-29 13:20:03 UTC (rev 94244)
+++
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/MonoDevelop.Database.Components.ConnectionSettingsWidget.cs
2008-01-29 13:23:32 UTC (rev 94245)
@@ -390,6 +390,7 @@
this.labelTest.Name = "labelTest";
this.labelTest.Xalign = 0F;
this.labelTest.LabelProp = "";
+ this.labelTest.Wrap = true;
this.table.Add(this.labelTest);
Gtk.Table.TableChild w34 =
((Gtk.Table.TableChild)(this.table[this.labelTest]));
w34.TopAttach = ((uint)(7));
Modified:
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/gui.stetic
===================================================================
---
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/gui.stetic
2008-01-29 13:20:03 UTC (rev 94244)
+++
trunk/monodevelop/extras/MonoDevelop.Database/MonoDevelop.Database.Components/gtk-gui/gui.stetic
2008-01-29 13:23:32 UTC (rev 94245)
@@ -1101,6 +1101,7 @@
<property name="MemberName" />
<property name="Xalign">0</property>
<property name="LabelProp" translatable="yes" />
+ <property name="Wrap">True</property>
</widget>
<packing>
<property name="TopAttach">7</property>
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches