diff --git a/common/lc_modellistdialog.cpp b/common/lc_modellistdialog.cpp index 6173b2d1..7f717abe 100644 --- a/common/lc_modellistdialog.cpp +++ b/common/lc_modellistdialog.cpp @@ -23,11 +23,12 @@ lcModelListDialog::lcModelListDialog(QWidget* Parent, const std::vectorRenameModel, &QPushButton::clicked, this, &lcModelListDialog::RenameModelClicked); connect(ui->ExportModel, &QPushButton::clicked, this, &lcModelListDialog::ExportModelClicked); connect(ui->DuplicateModel, &QPushButton::clicked, this, &lcModelListDialog::DuplicateModelClicked); - connect(ui->MoveUp, &QPushButton::clicked, this, &lcModelListDialog::MoveUpClicked); - connect(ui->MoveDown, &QPushButton::clicked, this, &lcModelListDialog::MoveDownClicked); connect(ui->ModelList, &QListWidget::itemDoubleClicked, this, &lcModelListDialog::ModelListItemDoubleClicked); connect(ui->ModelList, &QListWidget::itemSelectionChanged, this, &lcModelListDialog::ModelListItemSelectionChanged); + ui->ModelList->setDefaultDropAction(Qt::DropAction::MoveAction); + ui->ModelList->setDragDropMode(QAbstractItemView::DragDropMode::InternalMove); + lcModel* ActiveModel = lcGetActiveProject()->GetActiveModel(); int ActiveModelIndex = -1; @@ -87,26 +88,6 @@ void lcModelListDialog::UpdateButtons() ui->DeleteModel->setEnabled(ModelCount > 1); ui->SetActiveModel->setEnabled(ui->ModelList->currentItem() != nullptr); - - bool MoveUp = false; - bool MoveDown = false; - - for (int Row = 0; Row < ui->ModelList->count(); Row++) - { - QListWidgetItem* Item = ui->ModelList->item(Row); - - if (!Item->isSelected()) - continue; - - if (Row > 0 && !ui->ModelList->item(Row - 1)->isSelected()) - MoveUp = true; - - if (Row < ModelCount - 1 && !ui->ModelList->item(Row + 1)->isSelected()) - MoveDown = true; - } - - ui->MoveUp->setEnabled(MoveUp); - ui->MoveDown->setEnabled(MoveDown); } void lcModelListDialog::accept() @@ -296,52 +277,6 @@ void lcModelListDialog::DuplicateModelClicked() UpdateButtons(); } -void lcModelListDialog::MoveUpClicked() -{ - bool Blocked = ui->ModelList->blockSignals(true); - - for (int Row = 1; Row < ui->ModelList->count(); Row++) - { - QListWidgetItem* Item = ui->ModelList->item(Row); - - if (!Item->isSelected()) - continue; - - if (ui->ModelList->item(Row - 1)->isSelected()) - continue; - - ui->ModelList->takeItem(Row); - ui->ModelList->insertItem(Row - 1, Item); - Item->setSelected(true); - } - - ui->ModelList->blockSignals(Blocked); - UpdateButtons(); -} - -void lcModelListDialog::MoveDownClicked() -{ - bool Blocked = ui->ModelList->blockSignals(true); - - for (int Row = ui->ModelList->count() - 2; Row >= 0; Row--) - { - QListWidgetItem* Item = ui->ModelList->item(Row); - - if (!Item->isSelected()) - continue; - - if (ui->ModelList->item(Row + 1)->isSelected()) - continue; - - ui->ModelList->takeItem(Row); - ui->ModelList->insertItem(Row + 1, Item); - Item->setSelected(true); - } - - ui->ModelList->blockSignals(Blocked); - UpdateButtons(); -} - void lcModelListDialog::ModelListItemDoubleClicked(QListWidgetItem* Item) { mActiveModelItem = Item; diff --git a/common/lc_modellistdialog.h b/common/lc_modellistdialog.h index 53835874..00039da4 100644 --- a/common/lc_modellistdialog.h +++ b/common/lc_modellistdialog.h @@ -32,8 +32,6 @@ private slots: void RenameModelClicked(); void ExportModelClicked(); void DuplicateModelClicked(); - void MoveUpClicked(); - void MoveDownClicked(); void ModelListItemDoubleClicked(QListWidgetItem* Item); void ModelListItemSelectionChanged(); diff --git a/common/lc_modellistdialog.ui b/common/lc_modellistdialog.ui index 785483d6..54a9aed2 100644 --- a/common/lc_modellistdialog.ui +++ b/common/lc_modellistdialog.ui @@ -60,20 +60,6 @@ - - - - Move &Up - - - - - - - Move &Down - - - @@ -117,8 +103,6 @@ RenameModel ExportModel DuplicateModel - MoveUp - MoveDown SetActiveModel