Log Message:
-----------
Drop rows correctly when selected in reverse in the edit grid. Also, confirm drop 
first.

Modified Files:
--------------
    pgadmin3:
        CHANGELOG.txt (r1.139 -> r1.140)
    pgadmin3/src/ui:
        frmEditGrid.cpp (r1.55 -> r1.56)

Index: CHANGELOG.txt
===================================================================
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.139
retrieving revision 1.140
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.139 -r1.140
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -17,6 +17,7 @@
 </ul>
 <br>
 <ul>
+    <li>2004-10-05 DP  1.2B3 Drop rows correctly when selected in reverse in the edit 
grid. Also, confirm drop first.
     <li>2004-09-27 DP  1.2B3 Dynamically link libpq/OpenSSL for sensible installation 
with Win32 PostgreSQL
     <li>2004-09-18 DP  1.2B2 Prevent dropped servers reappearing after View System 
Objects change.
     <li>2004-09-17 AP  1.2B2 GRANT for functions in reengineered SQL window
Index: frmEditGrid.cpp
===================================================================
RCS file: /projects/pgadmin3/src/ui/frmEditGrid.cpp,v
retrieving revision 1.55
retrieving revision 1.56
diff -Lsrc/ui/frmEditGrid.cpp -Lsrc/ui/frmEditGrid.cpp -u -w -r1.55 -r1.56
--- src/ui/frmEditGrid.cpp
+++ src/ui/frmEditGrid.cpp
@@ -490,14 +490,31 @@
 
 void frmEditGrid::OnDelete(wxCommandEvent& event)
 {
+       wxMessageDialog msg(this, _("Are you sure you wish to delete the selected 
row(s)?"), _("Delete rows?"), wxYES_NO | wxICON_QUESTION);
+    if (msg.ShowModal() != wxID_YES)
+        return;
+
     sqlGrid->BeginBatch();
     wxArrayInt delrows=sqlGrid->GetSelectedRows();
     int i=delrows.GetCount();
 
     // don't care a lot about optimizing here; doing it line by line
     // just as sqlTable::DeleteRows does
+       if (delrows.Item(i-1) > delrows.Item(0))
+       {
     while (i--)
         sqlGrid->DeleteRows(delrows.Item(i), 1);
+       }
+       else
+       {
+               int j = 0;
+               while (j < i)
+               {
+                       sqlGrid->DeleteRows(delrows.Item(j), 1);
+                       ++j;
+               }
+       }
+
     sqlGrid->EndBatch();
 
     SetStatusText(wxString::Format(_("%d rows."), 
sqlGrid->GetTable()->GetNumberStoredRows()), 0);
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to