summaryrefslogtreecommitdiffstats
path: root/seriestreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-12-30 16:47:46 +0100
committerArno <am@disconnect.de>2010-12-30 16:47:46 +0100
commit3fb9f6fdad018a4a150ef2739730e73e6ed8bf22 (patch)
tree2034348e29a5f31ec5d1a4af1db3c1184b59757d /seriestreewidget.cpp
parent3c508cad0032f46be56279f3a3ab5a7df9128bef (diff)
downloadSheMov-3fb9f6fdad018a4a150ef2739730e73e6ed8bf22.tar.gz
SheMov-3fb9f6fdad018a4a150ef2739730e73e6ed8bf22.tar.bz2
SheMov-3fb9f6fdad018a4a150ef2739730e73e6ed8bf22.zip
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.
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r--seriestreewidget.cpp7
1 files changed, 6 insertions, 1 deletions
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<Qt::SortOrder>(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){