summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show 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
@@ -37,5 +37,5 @@
#include "todosearch.h"
#include "datebooksearch.h"
-
+#include "applnksearch.h"
MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
@@ -78,4 +78,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
todoSearch = new TodoSearch( resultsList, tr("todo") );
datebookSearch = new DatebookSearch( resultsList, tr("datebook") );
+ applnkSearch = new AppLnkSearch( resultsList, tr("applications") );
makeMenu();
@@ -156,4 +157,5 @@ void MainWindow::setSearch( const QString &key )
todoSearch->setSearch(key);
datebookSearch->setSearch(key);
+ applnkSearch->setSearch(key);
}
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
@@ -29,4 +29,5 @@ class AdressSearch;
class TodoSearch;
class DatebookSearch;
+class AppLnkSearch;
class MainWindow : public QMainWindow
@@ -62,4 +63,5 @@ private:
TodoSearch *todoSearch;
DatebookSearch *datebookSearch;
+ AppLnkSearch *applnkSearch;
void makeMenu();
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
@@ -19,5 +19,7 @@ SOURCES += main.cpp \
todoitem.cpp \
contactitem.cpp \
- eventitem.cpp
+ eventitem.cpp \
+ applnksearch.cpp \
+ applnkitem.cpp
HEADERS += mainwindow.h \
olistview.h \
@@ -30,3 +32,5 @@ HEADERS += mainwindow.h \
todoitem.h \
contactitem.h \
- eventitem.h
+ eventitem.h \
+ applnksearch.h \
+ applnkitem.h