]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
refs #609: simplify removing rows from tables.
authormkr <mkr@opencascade.com>
Thu, 19 Nov 2015 14:44:48 +0000 (17:44 +0300)
committermkr <mkr@opencascade.com>
Thu, 19 Nov 2015 14:44:48 +0000 (17:44 +0300)
src/HYDROGUI/HYDROGUI_PriorityWidget.cxx
src/HYDROGUI/HYDROGUI_StricklerTableDlg.cxx

index 6c85d3e0ab54c76392207576a17c5f2a088dca11..e6e15e01ab30be5cacd3357085e3af3866c8493f 100644 (file)
@@ -221,9 +221,11 @@ void HYDROGUI_PriorityWidget::onRemoveRule()
   if (aModel) {
     QList<int> aRows;
 
-    QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedRows();
+    QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedIndexes();
     foreach ( const QModelIndex& anIndex, aSelectedIndexes ) {
-      aRows << anIndex.row();
+      int aRowIndex = anIndex.row();
+      if ( !aRows.contains( aRowIndex ) )
+        aRows << aRowIndex;
     }
     
     if ( aModel->removeRows( aRows ) ) {
@@ -305,7 +307,7 @@ QTableView* HYDROGUI_PriorityWidget::getTable() const
 */
 void HYDROGUI_PriorityWidget::onSelectionChanged()
 {
-  QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedRows();
+  QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedIndexes();
   myRemove->setEnabled( aSelectedIndexes.count() > 0 );
 }
 
index 6b86105605be510685fe0625472ff70ac62f99b7..4de59f35df93721f32e43156d1f5c515b8bd305a 100644 (file)
@@ -386,9 +386,11 @@ Remove the selected Strickler coefficient.
 void HYDROGUI_StricklerTableDlg::onRemoveCoefficient()
 {
     QList<int> aRows;
-    QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedRows();
+    QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedIndexes();
     foreach ( const QModelIndex& anIndex, aSelectedIndexes ) {
-        aRows << anIndex.row();
+      int aRowIndex = anIndex.row();
+      if ( !aRows.contains( aRowIndex ) )
+        aRows << aRowIndex;
     }
 
     removeRows( aRows );
@@ -412,6 +414,6 @@ Slot called on table selection change.
 */
 void HYDROGUI_StricklerTableDlg::onSelectionChanged()
 {
-    QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedRows();
+    QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedIndexes();
     myRemoveBtn->setEnabled( aSelectedIndexes.count() > 0 );
 }