From 95bf06f3533421f14355e6fd311fdea0bd0e363b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mateusz=20P=C3=B3=C5=82rola?= Date: Wed, 8 Sep 2010 09:34:32 +0200 Subject: [PATCH] Add sorting of dictionary list --- src/mdictionary/gui/DictManagerWidget.cpp | 26 ++++++++++++++------------ src/mdictionary/gui/DictManagerWidget.h | 2 +- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/mdictionary/gui/DictManagerWidget.cpp b/src/mdictionary/gui/DictManagerWidget.cpp index 00ce860..2f516e5 100644 --- a/src/mdictionary/gui/DictManagerWidget.cpp +++ b/src/mdictionary/gui/DictManagerWidget.cpp @@ -41,11 +41,11 @@ void DictManagerWidget::initalizeUI() { verticalLayout = new QVBoxLayout; setLayout(verticalLayout); - dictListWidget = new QListWidget; - verticalLayout->addWidget(dictListWidget); + dictList = new QListWidget; + verticalLayout->addWidget(dictList); - dictListWidget->setSelectionMode(QAbstractItemView::SingleSelection); - dictListWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + dictList->setSelectionMode(QAbstractItemView::SingleSelection); + dictList->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); addNewDictButton = new QPushButton(tr("Add")); removeDictButton = new QPushButton(tr("Remove")); @@ -78,10 +78,10 @@ void DictManagerWidget::initalizeUI() { connect(settingsButton, SIGNAL(clicked()), this, SLOT(settingsButtonClicked())); - connect(dictListWidget, SIGNAL(itemClicked(QListWidgetItem*)), + connect(dictList, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(itemSelected(QListWidgetItem*))); - connect(dictListWidget, SIGNAL(itemChanged(QListWidgetItem*)), + connect(dictList, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(changed())); refreshDictsList(); @@ -97,7 +97,7 @@ void DictManagerWidget::initalizeUI() { void DictManagerWidget::refreshDictsList() { - dictListWidget->clear(); + dictList->clear(); dictsHash.clear(); removeDictButton->setEnabled(false); settingsButton->setEnabled(false); @@ -121,9 +121,11 @@ void DictManagerWidget::refreshDictsList() { } item->setIcon(*i.key()->icon()); - dictListWidget->addItem(item); + dictList->addItem(item); dictsHash.insert(item, i.key()); } + + dictList->sortItems(); } void DictManagerWidget::showEvent(QShowEvent *e) { @@ -147,8 +149,8 @@ void DictManagerWidget::saveChanges() { #endif QList checkedDicts; - for(int i=0; icount(); i++) { - QListWidgetItem* item = dictListWidget->item(i); + for(int i=0; icount(); i++) { + QListWidgetItem* item = dictList->item(i); if(item->checkState() == Qt::Checked) { checkedDicts.push_back(dictsHash[item]); } @@ -205,7 +207,7 @@ void DictManagerWidget::removeButtonClicked() { tr("Do you want to remove selected dictionary?"), QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes) { - QList selected = dictListWidget->selectedItems(); + QList selected = dictList->selectedItems(); if(selected.count() > 0) { emit removeDictionary(dictsHash[selected[0]]); refreshDictsList(); @@ -223,7 +225,7 @@ void DictManagerWidget::settingsButtonClicked() { _save = false; } #endif - QList selected = dictListWidget->selectedItems(); + QList selected = dictList->selectedItems(); if(selected.count() > 0) { dictsHash[selected[0]]->dictDialog()->changeSettings(this->parentWidget()); } diff --git a/src/mdictionary/gui/DictManagerWidget.h b/src/mdictionary/gui/DictManagerWidget.h index f55949f..ee085f2 100644 --- a/src/mdictionary/gui/DictManagerWidget.h +++ b/src/mdictionary/gui/DictManagerWidget.h @@ -110,7 +110,7 @@ private: QVBoxLayout* verticalLayout; QHBoxLayout* buttonGroup; - QListWidget* dictListWidget; + QListWidget* dictList; //holds association between items on list and CommonDictInterface objects QHash dictsHash; -- 1.7.9.5