From 2f5cf8729148162aa8938e2c4d5357b2c3323fe8 Mon Sep 17 00:00:00 2001 From: doitux Date: Fri, 21 Sep 2007 01:00:57 +0000 Subject: [PATCH] fixed integer sorting --- src/gui/qt/manualblindsorderdialog.ui | 8 ++--- .../manualblindsorderdialogimpl.cpp | 30 +++++++++++++++++-- .../manualblindsorderdialogimpl.h | 1 + 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/gui/qt/manualblindsorderdialog.ui b/src/gui/qt/manualblindsorderdialog.ui index 01fe4ada..c120afc3 100644 --- a/src/gui/qt/manualblindsorderdialog.ui +++ b/src/gui/qt/manualblindsorderdialog.ui @@ -6,7 +6,7 @@ 0 0 248 - 407 + 437 @@ -19,11 +19,7 @@ 4 - - - true - - + diff --git a/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.cpp b/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.cpp index 5ef7a7c0..040be51e 100644 --- a/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.cpp +++ b/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.cpp @@ -43,11 +43,35 @@ void manualBlindsOrderDialogImpl::exec() { void manualBlindsOrderDialogImpl::addBlindValueToList() { listWidget_blinds->addItem(QString::number(spinBox_input->value(),10)); - listWidget_blinds->sortItems(); + sortBlindsList(); } void manualBlindsOrderDialogImpl::removeBlindFromList() { - listWidget_blinds->removeItemWidget(listWidget_blinds->currentItem()); - listWidget_blinds->sortItems(); + listWidget_blinds->takeItem(listWidget_blinds->currentRow()); + sortBlindsList(); +} + +void manualBlindsOrderDialogImpl::sortBlindsList() { + + int i; + QList tempIntList; + QStringList tempStringList; + bool ok = TRUE; + + for(i=0; icount(); i++) { +// std::cout << listWidget_blinds->item(i)->text().toInt(&ok,10) << "\n"; + tempIntList << listWidget_blinds->item(i)->text().toInt(&ok,10); + } + + qStableSort(tempIntList.begin(), tempIntList.end()); +// + for(i=0; iclear(); + listWidget_blinds->addItems(tempStringList); } diff --git a/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.h b/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.h index 61efb232..b5e397a8 100644 --- a/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.h +++ b/src/gui/qt/settingsdialog/manualblindsorderdialog/manualblindsorderdialogimpl.h @@ -40,6 +40,7 @@ public slots: void addBlindValueToList(); void removeBlindFromList(); + void sortBlindsList(); private: