summaryrefslogtreecommitdiff
path: root/core/pim/osearch/searchgroup.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/osearch/searchgroup.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/osearch/searchgroup.cpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/core/pim/osearch/searchgroup.cpp b/core/pim/osearch/searchgroup.cpp
index dce3b14..d062207 100644
--- a/core/pim/osearch/searchgroup.cpp
+++ b/core/pim/osearch/searchgroup.cpp
@@ -2,49 +2,65 @@
//
// C++ Implementation: $MODULE$
//
// Description:
//
//
// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "searchgroup.h"
+
+#include <qregexp.h>
+
#include "olistviewitem.h"
SearchGroup::SearchGroup(QListView* parent, QString name)
: OListViewItem(parent, name)
{
_name = name;
+ loaded = false;
expanded = false;
}
SearchGroup::~SearchGroup()
{
}
void SearchGroup::expand()
{
+ clearList();
+ if (_search.isEmpty()) return;
+ OListViewItem *dummy = new OListViewItem( this, "searching...");
+ setOpen( expanded );
+ if (!loaded) load();
+ int res_count = search();
+ setText(0, _name + " - " + _search.pattern() + " (" + QString::number( res_count ) + ")");
+ delete dummy;
+}
+
+
+void SearchGroup::clearList()
+{
QListViewItem *item = firstChild();
QListViewItem *toDel;
while ( item != 0 ) {
- toDel = item;
- item = item->nextSibling();
- //takeItem(toDel);
- delete toDel;
+ toDel = item;
+ item = item->nextSibling();
+ delete toDel;
}
expanded = true;
}
void SearchGroup::setSearch(QString s)
{
setSearch( QRegExp( s ) );
_search.setCaseSensitive(false);
}
void SearchGroup::setSearch(QRegExp re)