summaryrefslogtreecommitdiff
path: root/core/pim/osearch/searchgroup.cpp
Side-by-side diff
Diffstat (limited to 'core/pim/osearch/searchgroup.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/pim/osearch/searchgroup.cpp31
1 files changed, 22 insertions, 9 deletions
diff --git a/core/pim/osearch/searchgroup.cpp b/core/pim/osearch/searchgroup.cpp
index 3159984..490deea 100644
--- a/core/pim/osearch/searchgroup.cpp
+++ b/core/pim/osearch/searchgroup.cpp
@@ -13,6 +13,8 @@
#include "searchgroup.h"
#include <qregexp.h>
+// #include <qapplication.h>
+// #include <opie/owait.h>
#include "olistviewitem.h"
@@ -21,7 +23,6 @@ SearchGroup::SearchGroup(QListView* parent, QString name)
{
_name = name;
loaded = false;
- expanded = false;
}
@@ -32,43 +33,55 @@ SearchGroup::~SearchGroup()
void SearchGroup::expand()
{
+ //expanded = true;
clearList();
if (_search.isEmpty()) return;
OListViewItem *dummy = new OListViewItem( this, "searching...");
- setOpen( expanded );
- if (!loaded) load();
- int res_count = search();
+ setOpen( true );
+ repaint();
+ int res_count = realSearch();
setText(0, _name + " - " + _search.pattern() + " (" + QString::number( res_count ) + ")");
delete dummy;
+ repaint();
}
void SearchGroup::doSearch()
{
clearList();
if (_search.isEmpty()) return;
- if (!loaded) load();
- int res_count = search();
+ int res_count = realSearch();
setText(0, _name + " - " + _search.pattern() + " (" + QString::number( res_count ) + ")");
+// repaint();
}
void SearchGroup::clearList()
{
QListViewItem *item = firstChild();
QListViewItem *toDel;
-
while ( item != 0 ) {
toDel = item;
item = item->nextSibling();
delete toDel;
}
- expanded = true;
}
void SearchGroup::setSearch(QRegExp re)
{
setText(0, _name+" - "+re.pattern() );
_search = re;
- if (expanded) expand();
+ if (isOpen()) expand();
else new OListViewItem( this, "searching...");
}
+int SearchGroup::realSearch()
+{
+ //emit isSearching( tr(" Searching for %s in %s" ).arg( _search.pattern().latin1()).arg( _name ) );
+/* OWait *wait = new OWait( qApp->mainWidget(), "test" );
+ wait->show();*/
+ if (!loaded) load();
+ int count = search();
+/* wait->hide();
+ delete wait;*/
+ return count;
+}
+