summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/osearch/adresssearch.cpp10
-rw-r--r--core/pim/osearch/applnkitem.cpp1
-rw-r--r--core/pim/osearch/applnksearch.cpp7
-rw-r--r--core/pim/osearch/datebooksearch.cpp5
-rw-r--r--core/pim/osearch/doclnkitem.cpp1
-rw-r--r--core/pim/osearch/doclnksearch.cpp6
-rw-r--r--core/pim/osearch/mainwindow.cpp22
-rw-r--r--core/pim/osearch/mainwindow.h10
-rw-r--r--core/pim/osearch/searchgroup.cpp31
-rw-r--r--core/pim/osearch/searchgroup.h9
-rw-r--r--core/pim/osearch/todosearch.cpp7
11 files changed, 86 insertions, 23 deletions
diff --git a/core/pim/osearch/adresssearch.cpp b/core/pim/osearch/adresssearch.cpp
index 69ad9ef..252fb40 100644
--- a/core/pim/osearch/adresssearch.cpp
+++ b/core/pim/osearch/adresssearch.cpp
@@ -11,20 +11,28 @@
//
//
#include "adresssearch.h"
#include <opie/ocontactaccess.h>
#include <qstring.h>
+#include <qiconset.h>
+#include <qpe/resource.h>
#include "contactitem.h"
-//#include <qdir.h>
AdressSearch::AdressSearch(QListView* parent, QString name):
SearchGroup(parent, name)
{
_contacts = 0;
+ QIconSet is = Resource::loadIconSet( "addressbook/AddressBook" );
+ setPixmap( 0, is.pixmap( QIconSet::Small, true ) );
+/* QPixmap pix = Resource::loadPixmap( "addressbook/AddressBook" );
+ QImage img = pix.convertToImage();
+ img.smoothScale( 14, 14 );
+ pix.convertFromImage( img );
+ setPixmap( 0, pix );*/
}
AdressSearch::~AdressSearch()
{
delete _contacts;
diff --git a/core/pim/osearch/applnkitem.cpp b/core/pim/osearch/applnkitem.cpp
index 0d04be6..2c4a4cb 100644
--- a/core/pim/osearch/applnkitem.cpp
+++ b/core/pim/osearch/applnkitem.cpp
@@ -18,12 +18,13 @@
AppLnkItem::AppLnkItem(OListViewItem* parent, AppLnk *app)
: ResultItem(parent)
{
_app = app;
setText(0, _app->name() );
+ setPixmap(0, _app->pixmap() );
}
AppLnkItem::~AppLnkItem()
{
}
diff --git a/core/pim/osearch/applnksearch.cpp b/core/pim/osearch/applnksearch.cpp
index acf650a..d5b181b 100644
--- a/core/pim/osearch/applnksearch.cpp
+++ b/core/pim/osearch/applnksearch.cpp
@@ -11,18 +11,23 @@
//
//
#include "applnksearch.h"
#include <qpe/applnk.h>
#include <qpe/qpeapplication.h>
+#include <qiconset.h>
+#include <qpe/resource.h>
#include "applnkitem.h"
AppLnkSearch::AppLnkSearch(QListView* parent, QString name): SearchGroup(parent, name)
{
_apps = 0;
+ QIconSet is = Resource::loadIconSet( "osearch/applications" );
+ //QIconSet is = Resource::loadIconSet( "AppsIcon" );
+ setPixmap( 0, is.pixmap( QIconSet::Small, true ) );
}
AppLnkSearch::~AppLnkSearch()
{
delete _apps;
@@ -42,22 +47,22 @@ int AppLnkSearch::search()
if ( (_search.match( app->name() ) != -1)
|| (_search.match(app->comment()) != -1)
|| (_search.match(app->exec()) != -1) ) {
count++;
insertItem( app );
}
+ qApp->processEvents( 100 );
}
return count;
}
void AppLnkSearch::insertItem( void *rec )
{
new AppLnkItem( this, (AppLnk*)rec );
}
void AppLnkSearch::setSearch(QRegExp re)
{
- expanded = false;
setOpen( false );
SearchGroup::setSearch( re );
}
diff --git a/core/pim/osearch/datebooksearch.cpp b/core/pim/osearch/datebooksearch.cpp
index 68699fa..7aabcea 100644
--- a/core/pim/osearch/datebooksearch.cpp
+++ b/core/pim/osearch/datebooksearch.cpp
@@ -13,17 +13,22 @@
#include "datebooksearch.h"
#include "eventitem.h"
#include <opie/oevent.h>
#include <opie/odatebookaccess.h>
+#include <qiconset.h>
+#include <qpe/resource.h>
DatebookSearch::DatebookSearch(QListView* parent, QString name)
: SearchGroup(parent, name)
{
_dates = 0;
+ QIconSet is = Resource::loadIconSet( "datebook/DateBook" );
+ setPixmap( 0, is.pixmap( QIconSet::Small, true ) );
+
}
DatebookSearch::~DatebookSearch()
{
delete _dates;
diff --git a/core/pim/osearch/doclnkitem.cpp b/core/pim/osearch/doclnkitem.cpp
index 95402b9..a1d0384 100644
--- a/core/pim/osearch/doclnkitem.cpp
+++ b/core/pim/osearch/doclnkitem.cpp
@@ -20,12 +20,13 @@
DocLnkItem::DocLnkItem(OListViewItem* parent, DocLnk *app)
: ResultItem(parent)
{
_doc = app;
setText(0, _doc->name() );
+ setPixmap(0, _doc->pixmap() );
}
DocLnkItem::~DocLnkItem()
{
}
diff --git a/core/pim/osearch/doclnksearch.cpp b/core/pim/osearch/doclnksearch.cpp
index f2a60e9..123eaa0 100644
--- a/core/pim/osearch/doclnksearch.cpp
+++ b/core/pim/osearch/doclnksearch.cpp
@@ -1,28 +1,32 @@
//
//
// C++ Implementation: $MODULE$
//
-// Description:
+// Description:
//
//
// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "doclnksearch.h"
#include <qpe/applnk.h>
#include <qpe/qpeapplication.h>
+#include <qiconset.h>
+#include <qpe/resource.h>
#include "doclnkitem.h"
DocLnkSearch::DocLnkSearch(QListView* parent, QString name)
: AppLnkSearch(parent, name)
{
+ QIconSet is = Resource::loadIconSet( "osearch/documents" );
+ setPixmap( 0, is.pixmap( QIconSet::Small, true ) );
}
DocLnkSearch::~DocLnkSearch()
{
}
diff --git a/core/pim/osearch/mainwindow.cpp b/core/pim/osearch/mainwindow.cpp
index e15cc7e..33a24bc 100644
--- a/core/pim/osearch/mainwindow.cpp
+++ b/core/pim/osearch/mainwindow.cpp
@@ -84,14 +84,16 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
searches.append( new DocLnkSearch( resultsList, tr("documents") ) );
makeMenu();
setCentralWidget( mainFrame );
popupTimer = new QTimer();
+ searchTimer = new QTimer();
connect(popupTimer, SIGNAL(timeout()), SLOT(showPopup()));
+ connect(searchTimer, SIGNAL(timeout()), SLOT(searchStringChanged()));
connect(resultsList, SIGNAL(pressed(QListViewItem*)), SLOT(setCurrent(QListViewItem*)));
connect(resultsList, SIGNAL(clicked(QListViewItem*)), SLOT(stopTimer(QListViewItem*)));
connect(buttonGroupActions, SIGNAL(clicked(int)), SLOT( slotAction(int) ) );
}
@@ -108,24 +110,26 @@ void MainWindow::makeMenu()
toolBar->setHorizontalStretchable( true );
menuBar->insertItem( tr( "Search" ), searchMenu );
// menuBar->insertItem( tr( "View" ), viewMenu );
// menuBar->insertItem( tr( "Settings" ), cfgMenu );
//SEARCH
- QAction *action = new QAction( tr("Search all"),QString::null, 0, this, 0 );
- connect( action, SIGNAL(activated()), this, SLOT(searchAll()) );
- action->addTo( searchMenu );
+ SearchAllAction = new QAction( tr("Search all"),QString::null, 0, this, 0 );
+ SearchAllAction->setIconSet( Resource::loadIconSet( "find" ) );
+ connect( SearchAllAction, SIGNAL(activated()), this, SLOT(searchAll()) );
+ SearchAllAction->addTo( searchMenu );
actionCaseSensitiv = new QAction( tr("Case sensitiv"),QString::null, 0, this, 0, true );
actionCaseSensitiv->addTo( searchMenu );
actionWildcards = new QAction( tr("Use wildcards"),QString::null, 0, this, 0, true );
actionWildcards->addTo( searchMenu );
addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
QLineEdit *searchEdit = new QLineEdit( searchBar, "seachEdit" );
searchBar->setHorizontalStretchable( TRUE );
searchBar->setStretchableWidget( searchEdit );
+ SearchAllAction->addTo( searchBar );
connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
this, SLOT( setSearch( const QString & ) ) );
}
MainWindow::~MainWindow()
@@ -181,22 +185,30 @@ void MainWindow::showPopup()
qDebug("showPopup");
if (!_currentItem) return;
}
void MainWindow::setSearch( const QString &key )
{
- QRegExp re( key, actionCaseSensitiv->isOn(), actionWildcards->isOn() );
+ searchTimer->stop();
+ _searchString = key;
+ searchTimer->start( 300 );
+}
+
+void MainWindow::searchStringChanged()
+{
+ searchTimer->stop();
+ QRegExp re( _searchString, actionCaseSensitiv->isOn(), actionWildcards->isOn() );
for (SearchGroup *s = searches.first(); s != 0; s = searches.next() )
s->setSearch( re );
}
void MainWindow::searchAll()
{
- bool openState;
for (SearchGroup *s = searches.first(); s != 0; s = searches.next() ){
s->doSearch();
+ //resultsList->repaint();
}
}
void MainWindow::slotAction( int act)
{
if (_currentItem->rtti() == OListViewItem::Result){
diff --git a/core/pim/osearch/mainwindow.h b/core/pim/osearch/mainwindow.h
index 2773205..939762e 100644
--- a/core/pim/osearch/mainwindow.h
+++ b/core/pim/osearch/mainwindow.h
@@ -40,31 +40,35 @@ public:
MainWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
~MainWindow();
public slots:
void setCurrent(QListViewItem*);
- void showPopup();
- void stopTimer( QListViewItem* );
void setSearch( const QString& );
void searchAll();
protected slots:
void slotAction(int);
-
+ void showPopup();
+ void stopTimer( QListViewItem* );
+ void searchStringChanged();
+
private:
OListView *resultsList;
QTextView *richEdit;
OListViewItem *_currentItem;
QVBoxLayout *mainLayout;
QHBoxLayout *buttonLayout;
QFrame *detailsFrame;
QTimer *popupTimer;
+ QTimer *searchTimer;
+ QString _searchString;
QList<SearchGroup> searches;
QHButtonGroup *buttonGroupActions;
+ QAction *SearchAllAction;
QAction *actionCaseSensitiv;
QAction *actionWildcards;
uint _buttonCount;
void makeMenu();
};
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
@@ -10,65 +10,78 @@
// Copyright: See COPYING file that comes with this distribution
//
//
#include "searchgroup.h"
#include <qregexp.h>
+// #include <qapplication.h>
+// #include <opie/owait.h>
#include "olistviewitem.h"
SearchGroup::SearchGroup(QListView* parent, QString name)
: OListViewItem(parent, name)
{
_name = name;
loaded = false;
- expanded = false;
}
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;
+}
+
diff --git a/core/pim/osearch/searchgroup.h b/core/pim/osearch/searchgroup.h
index bf5dc67..32f32e0 100644
--- a/core/pim/osearch/searchgroup.h
+++ b/core/pim/osearch/searchgroup.h
@@ -17,30 +17,35 @@
class QRegExp;
/**
@author Patrick S. Vogt
*/
-class SearchGroup : public OListViewItem
+class SearchGroup : public OListViewItem //, QObject
{
+//Q_OBJECT
public:
SearchGroup(QListView* parent, QString name);
~SearchGroup();
virtual void expand();
virtual void doSearch();
virtual void setSearch(QRegExp);
virtual int rtti() { return Searchgroup;}
+// signals:
+// isSearching(QString);
+
protected:
QRegExp _search;
virtual void load() = 0;
virtual int search() = 0;
virtual void insertItem( void* ) = 0;
void clearList();
QString _name;
- bool expanded;
bool loaded;
+private:
+ int realSearch();
};
#endif
diff --git a/core/pim/osearch/todosearch.cpp b/core/pim/osearch/todosearch.cpp
index 6a73530..c9fa61a 100644
--- a/core/pim/osearch/todosearch.cpp
+++ b/core/pim/osearch/todosearch.cpp
@@ -11,19 +11,24 @@
//
//
#include "todosearch.h"
#include <opie/otodoaccess.h>
#include <opie/otodo.h>
-
+#include <qiconset.h>
+#include <qpe/resource.h>
#include "todoitem.h"
TodoSearch::TodoSearch(QListView* parent, QString name)
: SearchGroup(parent, name)
{
_todos = 0;
+// AppLnkSet als(QPEApplication::qpeDir());
+// setPixmap( 0, als.findExec("todolist")->pixmap() );
+ QIconSet is = Resource::loadIconSet( "todo/TodoList" );
+ setPixmap( 0, is.pixmap( QIconSet::Small, true ) );
}
TodoSearch::~TodoSearch()
{
delete _todos;