summaryrefslogtreecommitdiff
path: root/core/pim/osearch/todosearch.cpp
blob: 9a22ee1f698074459e806d6cb698a014745f6288 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
//
// C++ Implementation: $MODULE$
//
// Description:
//
//
// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "todosearch.h"

#include <opie/otodoaccess.h>
#include <opie/otodo.h>
#include <qdir.h>

#include "todoitem.h"

TodoSearch::TodoSearch(QListView* parent, QString name)
: SearchGroup(parent, name)
{
	//_fileName = QDir::homeDirPath()+"/Applications/todolist/todolist.xml";
	_todos = 0;
}


TodoSearch::~TodoSearch()
{
	delete _todos;
}


void TodoSearch::expand()
{
	SearchGroup::expand();
	if (_search.isEmpty()) return;

	if (!_todos){
	 _todos = new OTodoAccess();
	 _todos->load();
	 }

#ifdef LIPBOPIE_SEARCH
	ORecordList<OTodo> results = _todos->matchRegexp(_search);
	for (uint i = 0; i < results.count(); i++) {
		new TodoItem( this, new OTodo( results[i] ));
	}
#else
	ORecordList<OTodo> list = _todos->allRecords();
       QArray<int> m_currentQuery( list.count() );
       for( uint i=0; i<list.count(); i++ ){
     //  	qDebug("todo: %s",list[i].summary().latin1() );
                 if ( list[i].match( _search ) ){
	//	 	qDebug("FOUND");
			new TodoItem( this, new OTodo( list[i] ) );
                 }

        }
#endif

}