fixed integer sorting

This commit is contained in:
doitux
2007-09-21 01:00:57 +00:00
parent b7bbd17951
commit 2f5cf87291
3 changed files with 30 additions and 9 deletions
+2 -6
View File
@@ -6,7 +6,7 @@
<x>0</x>
<y>0</y>
<width>248</width>
<height>407</height>
<height>437</height>
</rect>
</property>
<property name="windowTitle" >
@@ -19,11 +19,7 @@
<number>4</number>
</property>
<item rowspan="2" row="0" column="0" >
<widget class="QListWidget" name="listWidget_blinds" >
<property name="sortingEnabled" >
<bool>true</bool>
</property>
</widget>
<widget class="QListWidget" name="listWidget_blinds" />
</item>
<item row="0" column="1" >
<widget class="QPushButton" name="pushButton_delete" >
@@ -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<int> tempIntList;
QStringList tempStringList;
bool ok = TRUE;
for(i=0; i<listWidget_blinds->count(); 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; i<tempIntList.count(); i++) {
//
// std::cout << tempIntList[i] << "\n";
tempStringList << QString::number(tempIntList[i],10);
}
//
listWidget_blinds->clear();
listWidget_blinds->addItems(tempStringList);
}
@@ -40,6 +40,7 @@ public slots:
void addBlindValueToList();
void removeBlindFromList();
void sortBlindsList();
private: