daboide Commit
Revision 738
Date: 2007-01-04 19:36:21 -0800 (Thu, 04 Jan 2007)
Author: Ed

Changed:
U   trunk/CxnEditor.py

Log:
Added a button to delete a connection from the currently-edited file. Tracker 
#0268.


Diff:
Modified: trunk/CxnEditor.py
===================================================================
--- trunk/CxnEditor.py  2007-01-05 01:18:29 UTC (rev 737)
+++ trunk/CxnEditor.py  2007-01-05 03:36:21 UTC (rev 738)
@@ -71,6 +71,12 @@
                hsz.append(ctl)
                hsz.appendSpacer(10)
                hsz.append(btn)
+
+               btn = dui.dButton(self.bg, Caption="Delete This Connection", 
RegID="cxnDelete",
+                               DynamicEnabled=self.hasMultipleConnections)
+               hsz.appendSpacer(10)
+               hsz.append(btn)
+
                gbsz.append(cap, halign="right", valign="middle")
                gbsz.append(hsz, valign="middle")
                
@@ -154,6 +160,26 @@
                self.Layout()
 
 
+       def hasMultipleConnections(self):
+               return len(self.connDict.keys()) > 1
+       
+       
+       def onHit_cxnDelete(self, evt):
+               if not dabo.ui.areYouSure(_("Delete this connection?"), 
+                               title=_("Confirm Deletion"), 
cancelButton=False):
+                       return
+               cs = self.connectionSelector
+               delkey = cs.StringValue
+               pos = cs.PositionValue
+               del self.connDict[delkey]
+               cs.Choices = self.connDict.keys()
+               cs.PositionValue = min(pos, len(self.connDict.keys())-1)
+               self.currentConn = cs.StringValue       
+               self.updtToForm()
+               self.enableControls()
+               self.update()
+                       
+               
        def onHit_cxnEdit(self, evt):
                chc = self.connectionSelector.Choices
                idx = self.connectionSelector.PositionValue
@@ -224,6 +250,11 @@
        def onHit_DbType(self, evt):
                # Update the values
                self.updtFromForm()
+               self.enableControls()
+               self.update()
+
+
+       def enableControls(self):
                dbt = self.dbtype
                isSQLite = (dbt == "SQLite")
                self.hostText.Visible = not isSQLite
@@ -237,9 +268,8 @@
                        self.port = ""
                else:
                        self.port = self.defDbPorts[dbt]
-               self.update()
+
        
-       
        def onHit_btnDbSelect(self, evt):
                dbFile = dui.getFile()
                if dbFile:
@@ -248,7 +278,10 @@
        
 
        def onHit_connectionSelector(self, evt):
-               self.updtFromForm()
+               self.currentConn = self.connectionSelector.StringValue          
+               self.updtToForm()
+               self.enableControls()
+               self.update()
                
        
        def updtFromForm(self):
@@ -325,7 +358,7 @@
 
        
        def onConnectionChange(self, evt):
-               newConn = self.connectionSelector.GetStringSelection()
+               newConn = self.connectionSelector.StringValue
                if newConn != self.currentConn:
                        # Update the values
                        self.updtFromForm()




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev

Reply via email to