Add sorting of dictionary list
authorMateusz Półrola <mateusz.polrola@comarch.pl>
Wed, 8 Sep 2010 07:34:32 +0000 (09:34 +0200)
committerMateusz Półrola <mateusz.polrola@comarch.pl>
Wed, 8 Sep 2010 07:34:32 +0000 (09:34 +0200)
src/mdictionary/gui/DictManagerWidget.cpp
src/mdictionary/gui/DictManagerWidget.h

index 00ce860..2f516e5 100644 (file)
@@ -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<CommonDictInterface*> checkedDicts;
 
-        for(int i=0; i<dictListWidget->count(); i++) {
-            QListWidgetItem* item = dictListWidget->item(i);
+        for(int i=0; i<dictList->count(); 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<QListWidgetItem*> selected = dictListWidget->selectedItems();
+        QList<QListWidgetItem*> selected = dictList->selectedItems();
         if(selected.count() > 0) {
             emit removeDictionary(dictsHash[selected[0]]);
             refreshDictsList();
@@ -223,7 +225,7 @@ void DictManagerWidget::settingsButtonClicked() {
         _save = false;
     }
     #endif
-   QList<QListWidgetItem*> selected = dictListWidget->selectedItems();
+   QList<QListWidgetItem*> selected = dictList->selectedItems();
    if(selected.count() > 0) {
        dictsHash[selected[0]]->dictDialog()->changeSettings(this->parentWidget());
    }
index f55949f..ee085f2 100644 (file)
@@ -110,7 +110,7 @@ private:
 
     QVBoxLayout* verticalLayout;
     QHBoxLayout* buttonGroup;
-    QListWidget* dictListWidget;
+    QListWidget* dictList;
 
     //holds association between items on list and CommonDictInterface objects
     QHash<QListWidgetItem*, CommonDictInterface*> dictsHash;