From 3fb9f6fdad018a4a150ef2739730e73e6ed8bf22 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 30 Dec 2010 16:47:46 +0100 Subject: Enhance filters in SeriesTreeWidget a little more Allow operators in filter. Operators are only valid if it's a NumericQuery. Operators are <>=. Also allow postfixes for numbers: k, m, g for kilobytes, megabytes and gigabytes. Also fix a little usability bug when filtering. If the result set was empty, the root item was collapsed. On the next search with a result, the root item was still collapsed. Since it wasn't shown there was no way to expand it. --- seriestreewidget.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'seriestreewidget.cpp') diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp index fa6ded5..24e9eb4 100644 --- a/seriestreewidget.cpp +++ b/seriestreewidget.cpp @@ -204,6 +204,7 @@ void SeriesTreeWidget::deleteFromSeries(){ void SeriesTreeWidget::readSettings(){ QSettings s; QStringList expanded = s.value("archive/expanded").toStringList(); + expanded.removeDuplicates(); expandItems(expanded); int sortOrder = s.value("archive/sortorder", Qt::DescendingOrder).toInt(); mView->sortByColumn(0, static_cast(sortOrder)); @@ -267,6 +268,8 @@ void SeriesTreeWidget::filter(){ default: mProxy->setFilterRegExp(mFilterEdit->text()); } + seriesTree()->expand(QModelIndex()); + expandItems(mExpandedItems); } void SeriesTreeWidget::clearFilter(){ @@ -282,7 +285,9 @@ void SeriesTreeWidget::resort(){ } void SeriesTreeWidget::itemExpanded(const QModelIndex &what){ - mExpandedItems << what.data(SeriesTreeModel::NameRole).toString(); + if(!mExpandedItems.contains(what.data(SeriesTreeModel::NameRole).toString())){ + mExpandedItems << what.data(SeriesTreeModel::NameRole).toString(); + } } void SeriesTreeWidget::itemCollaped(const QModelIndex &what){ -- cgit v1.2.3-70-g09d2