summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/osearch/applnkitem.cpp54
-rw-r--r--core/pim/osearch/applnkitem.h37
-rw-r--r--core/pim/osearch/applnksearch.cpp46
-rw-r--r--core/pim/osearch/applnksearch.h35
-rw-r--r--core/pim/osearch/mainwindow.cpp4
-rw-r--r--core/pim/osearch/mainwindow.h2
-rw-r--r--core/pim/osearch/osearch.pro8
7 files changed, 183 insertions, 3 deletions
diff --git a/core/pim/osearch/applnkitem.cpp b/core/pim/osearch/applnkitem.cpp
new file mode 100644
index 0000000..f45ed68
--- a/dev/null
+++ b/core/pim/osearch/applnkitem.cpp
@@ -0,0 +1,54 @@
+//
+//
+// C++ Implementation: $MODULE$
+//
+// Description:
+//
+//
+// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#include "applnkitem.h"
+
+#include <qpe/applnk.h>
+
+AppLnkItem::AppLnkItem(OListViewItem* parent, AppLnk *app)
+ : ResultItem(parent)
+{
+ _app = app;
+ setText(0, _app->name() );
+}
+
+
+AppLnkItem::~AppLnkItem()
+{
+}
+
+
+QString AppLnkItem::toRichText()
+{
+ QString text;
+ text += "<b><h3>";
+ text += _app->name();
+ text += "</b></h3><br>";
+ text += _app->comment();
+ text += "<br><br>`";
+ text += _app->exec();
+ text += "`";
+ return text;
+}
+
+void AppLnkItem::editItem()
+{
+ _app->execute();
+}
+
+void AppLnkItem::showItem()
+{
+/* QCopEnvelope e("QPE/Application/addressbook", "edit(int)");
+ e << _contact->uid();*/
+ ResultItem::showItem();
+}
+
diff --git a/core/pim/osearch/applnkitem.h b/core/pim/osearch/applnkitem.h
new file mode 100644
index 0000000..b28631a
--- a/dev/null
+++ b/core/pim/osearch/applnkitem.h
@@ -0,0 +1,37 @@
+//
+//
+// C++ Interface: $MODULE$
+//
+// Description:
+//
+//
+// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#ifndef APPLNKITEM_H
+#define APPLNKITEM_H
+
+#include "resultitem.h"
+
+class AppLnk;
+
+/**
+@author Patrick S. Vogt
+*/
+class AppLnkItem : public ResultItem
+{
+public:
+ AppLnkItem(OListViewItem* parent, AppLnk *app);
+ ~AppLnkItem();
+
+ virtual QString toRichText();
+ virtual void editItem();
+ virtual void showItem();
+
+private:
+ AppLnk *_app;
+};
+
+#endif
diff --git a/core/pim/osearch/applnksearch.cpp b/core/pim/osearch/applnksearch.cpp
new file mode 100644
index 0000000..7872ae3
--- a/dev/null
+++ b/core/pim/osearch/applnksearch.cpp
@@ -0,0 +1,46 @@
+//
+//
+// C++ Implementation: $MODULE$
+//
+// Description:
+//
+//
+// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#include "applnksearch.h"
+
+#include <qpe/applnk.h>
+#include <qpe/qpeapplication.h>
+
+#include "applnkitem.h"
+
+AppLnkSearch::AppLnkSearch(QListView* parent, QString name): SearchGroup(parent, name)
+{
+ _apps = 0;
+}
+
+
+AppLnkSearch::~AppLnkSearch()
+{
+ delete _apps;
+}
+
+
+void AppLnkSearch::expand()
+{
+ SearchGroup::expand();
+ if (_search.isEmpty()) return;
+ if (!_apps) _apps = new AppLnkSet(QPEApplication::qpeDir());
+ QList<AppLnk> appList = _apps->children();
+ for ( AppLnk *app = appList.first(); app != 0; app = appList.next() ){
+// if (app->name().contains(_search) || app->comment().contains(_search))
+ if ( (_search.match( app->name() ) != -1)
+ || (_search.match(app->comment()) != -1)
+ || (_search.match(app->exec()) != -1) )
+ new AppLnkItem( this, app );
+ }
+}
+
diff --git a/core/pim/osearch/applnksearch.h b/core/pim/osearch/applnksearch.h
new file mode 100644
index 0000000..e283cd3
--- a/dev/null
+++ b/core/pim/osearch/applnksearch.h
@@ -0,0 +1,35 @@
+//
+//
+// C++ Interface: $MODULE$
+//
+// Description:
+//
+//
+// Author: Patrick S. Vogt <tille@handhelds.org>, (C) 2003
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#ifndef APPLNKSEARCH_H
+#define APPLNKSEARCH_H
+
+#include "searchgroup.h"
+
+class AppLnkSet;
+
+/**
+@author Patrick S. Vogt
+*/
+class AppLnkSearch : public SearchGroup
+{
+public:
+ AppLnkSearch(QListView* parent, QString name);
+
+ ~AppLnkSearch();
+
+ virtual void expand();
+private:
+ AppLnkSet *_apps;
+};
+
+#endif
diff --git a/core/pim/osearch/mainwindow.cpp b/core/pim/osearch/mainwindow.cpp
index 3dba3a9..41ce5b6 100644
--- a/core/pim/osearch/mainwindow.cpp
+++ b/core/pim/osearch/mainwindow.cpp
@@ -31,17 +31,17 @@
#include <qtextbrowser.h>
#include "olistview.h"
#include "olistviewitem.h"
#include "resultitem.h"
#include "adresssearch.h"
#include "todosearch.h"
#include "datebooksearch.h"
-
+#include "applnksearch.h"
MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
QMainWindow( parent, name, f ), _currentItem(0)
{
setCaption( tr("OSearch") );
setSizePolicy( QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
@@ -72,16 +72,17 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
buttonLayout->addWidget( buttonEdit, 0 );
mainLayout->addWidget( detailsFrame, 0 );
detailsFrame->hide();
adrSearch = new AdressSearch( resultsList, tr("adressbook") );
todoSearch = new TodoSearch( resultsList, tr("todo") );
datebookSearch = new DatebookSearch( resultsList, tr("datebook") );
+ applnkSearch = new AppLnkSearch( resultsList, tr("applications") );
makeMenu();
setCentralWidget( mainFrame );
popupTimer = new QTimer();
connect(popupTimer, SIGNAL(timeout()), SLOT(showPopup()));
connect(resultsList, SIGNAL(pressed(QListViewItem*)), SLOT(setCurrent(QListViewItem*)));
@@ -150,16 +151,17 @@ void MainWindow::showPopup()
if (!_item) return;
}
void MainWindow::setSearch( const QString &key )
{
adrSearch->setSearch(key);
todoSearch->setSearch(key);
datebookSearch->setSearch(key);
+ applnkSearch->setSearch(key);
}
void MainWindow::showItem()
{
if (_currentItem->rtti() == OListViewItem::Result){
ResultItem *res = (ResultItem*)_currentItem;
// ResultItem *res = dynamic_cast<ResultItem*>(item);
diff --git a/core/pim/osearch/mainwindow.h b/core/pim/osearch/mainwindow.h
index f7e8f8e..f79504c 100644
--- a/core/pim/osearch/mainwindow.h
+++ b/core/pim/osearch/mainwindow.h
@@ -23,16 +23,17 @@ class QVBoxLayout;
class QTextView;
class QFrame;
class QListViewItem;
class OListView;
class OListViewItem;
class AdressSearch;
class TodoSearch;
class DatebookSearch;
+class AppLnkSearch;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
@@ -56,14 +57,15 @@ private:
QVBoxLayout *mainLayout;
QFrame *detailsFrame;
OListViewItem *_item;
QTimer *popupTimer;
AdressSearch *adrSearch;
TodoSearch *todoSearch;
DatebookSearch *datebookSearch;
+ AppLnkSearch *applnkSearch;
void makeMenu();
};
#endif
diff --git a/core/pim/osearch/osearch.pro b/core/pim/osearch/osearch.pro
index 397bc83..75e90f2 100644
--- a/core/pim/osearch/osearch.pro
+++ b/core/pim/osearch/osearch.pro
@@ -13,20 +13,24 @@ SOURCES += main.cpp \
olistviewitem.cpp \
adresssearch.cpp \
todosearch.cpp \
datebooksearch.cpp \
searchgroup.cpp \
resultitem.cpp \
todoitem.cpp \
contactitem.cpp \
- eventitem.cpp
+ eventitem.cpp \
+ applnksearch.cpp \
+ applnkitem.cpp
HEADERS += mainwindow.h \
olistview.h \
olistviewitem.h \
adresssearch.h \
todosearch.h \
datebooksearch.h \
searchgroup.h \
resultitem.h \
todoitem.h \
contactitem.h \
- eventitem.h
+ eventitem.h \
+ applnksearch.h \
+ applnkitem.h