diff src/filterwidget.cpp @ 14:315e6988952a

Only add entries that do not start with # to filter
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 14 Apr 2015 17:25:15 +0200
parents e4748da7140b
children 73efe717b944
line wrap: on
line diff
--- a/src/filterwidget.cpp	Tue Apr 14 13:43:43 2015 +0200
+++ b/src/filterwidget.cpp	Tue Apr 14 17:25:15 2015 +0200
@@ -28,8 +28,18 @@
     QAbstractItemModel *newSource = mModel->sourceModel();
     Q_ASSERT(newSource);
     mCombo->clear();
+    mColFilterMap.clear();
+    int addedItems = 0;
     for (int i=0; i < newSource->columnCount(); i++) {
-        mCombo->addItem(newSource->headerData(i, Qt::Horizontal).toString());
+        QString entry = newSource->headerData(i, Qt::Horizontal).toString();
+        if (!entry.startsWith("#")) {
+            mCombo->addItem(entry);
+            mColFilterMap.insert(addedItems++, i);
+        } else {
+            QString shortended = entry.remove(0,1);
+            // TODO this does not work as expected
+            newSource->setHeaderData(i, Qt::Horizontal, shortended);
+        }
     }
 }
 
@@ -38,7 +48,9 @@
     if (filterText.size() < 1) {
         return;
     }
-    mModel->setFilterKeyColumn(mCombo->currentIndex());
+    qDebug() << "Filter on Column: " << mColFilterMap.value(mCombo->currentIndex());
+    qDebug() << "Instead of: " << mCombo->currentIndex();
+    mModel->setFilterKeyColumn(mColFilterMap.value(mCombo->currentIndex()));
     mModel->setFilterWildcard(filterText);
 }
 
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)