433,15 → 433,31 |
QModelIndex model_index; |
QItemSelectionModel *selectionModel = ui->tableView_2->selectionModel(); |
QModelIndexList indexes = selectionModel->selectedIndexes(); |
QModelIndexList indexes_fo_first_col; // èíäåêñû äëÿ ïåðâîãî ñòîëáöà (èìåíà êëàññîâ) |
//model_index = mymodel->selec; |
//modelList = ui->tableView->SelectItems; |
i = indexes.size(); |
QList<int> selectedRows; |
indexes_fo_first_col.clear(); |
foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê |
if (!indexes_fo_first_col.contains(model_index) && (model_index.column()==1)) indexes_fo_first_col.append(model_index); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå |
|
} |
|
selectedRows.clear(); |
foreach (model_index, indexes){ // ñïèñîê âñåõ âûäåëåííûõ ñòðîê |
if (!selectedRows.contains(model_index.row())) selectedRows.append(model_index.row()); |
if (!selectedRows.contains(model_index.row()) && (model_index.column()==1)) selectedRows.append(model_index.row()); // îñòàâëÿåì â ñïèñêå òîëüêî âûáðàííûå â ïåðâîé êîëîíêå |
|
} |
|
qSort(selectedRows.begin(),selectedRows.end(), qGreater<int>()); // ñîðòèðóåì â îáðàòíîì ïîðÿäêå |
|
|
for (int m =0; m < selectedRows.size(); ++m){ |
|
modelForDescription->removeRow(selectedRows.at(m)); |
} |
|
i = selectedRows.size(); |
|
if (i > 0) model_index = indexes.at(0); |