diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-03 20:49:48 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-03 20:49:48 +0000 |
commit | fd7a608ffe99df747f0496300276b95f766c18b9 (patch) | |
tree | c54dfe97fb682af9705d2cb09c424c60db861228 /kicker/kicker/interfaces | |
parent | 27856879bf962f178d88e79144e37a47e731b122 (diff) | |
download | tdebase-fd7a608ffe99df747f0496300276b95f766c18b9.tar.gz tdebase-fd7a608ffe99df747f0496300276b95f766c18b9.zip |
* Added Kickoff menu
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1171422 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kicker/kicker/interfaces')
-rw-r--r-- | kicker/kicker/interfaces/Makefile.am | 12 | ||||
-rw-r--r-- | kicker/kicker/interfaces/kickoff-search-plugin.cpp | 37 | ||||
-rw-r--r-- | kicker/kicker/interfaces/kickoff-search-plugin.h | 106 | ||||
-rw-r--r-- | kicker/kicker/interfaces/kickoffsearchinterface.cpp | 27 | ||||
-rw-r--r-- | kicker/kicker/interfaces/kickoffsearchinterface.h | 46 | ||||
-rw-r--r-- | kicker/kicker/interfaces/kickoffsearchplugin.desktop | 4 |
6 files changed, 232 insertions, 0 deletions
diff --git a/kicker/kicker/interfaces/Makefile.am b/kicker/kicker/interfaces/Makefile.am new file mode 100644 index 000000000..11f3f94b9 --- /dev/null +++ b/kicker/kicker/interfaces/Makefile.am @@ -0,0 +1,12 @@ +METASOURCES = AUTO +INCLUDES= -I$(top_srcdir)/src $(all_includes) + +# The library containing the plugin base class +lib_LTLIBRARIES = libkickoffsearch_interfaces.la +libkickoffsearch_interfaces_la_SOURCES = kickoff-search-plugin.cpp kickoffsearchinterface.cpp +libkickoffsearch_interfaces_la_LDFLAGS = $(all_libraries) -version-info 0:0:0 + +kickoffsearchincludedir = $(includedir) +kickoffsearchinclude_HEADERS = kickoff-search-plugin.h kickoffsearchinterface.h + +kde_servicetypes_DATA = kickoffsearchplugin.desktop diff --git a/kicker/kicker/interfaces/kickoff-search-plugin.cpp b/kicker/kicker/interfaces/kickoff-search-plugin.cpp new file mode 100644 index 000000000..c229c85b0 --- /dev/null +++ b/kicker/kicker/interfaces/kickoff-search-plugin.cpp @@ -0,0 +1,37 @@ +/*************************************************************************** + * Copyright (C) 2006 by Stephan Binner <binner@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include "kickoff-search-plugin.h" +#include <tqobjectlist.h> + +KickoffSearch::Plugin::Plugin(TQObject *parent, const char* name ) + :TQObject( parent, name ) +{ +} + +KickoffSearch::Plugin::~Plugin() +{ +} + +KickoffSearch::KickoffSearchInterface* KickoffSearch::Plugin::kickoffSearchInterface() +{ + return static_cast<KickoffSearchInterface*>( parent()->child( 0, "KickoffSearch::KickoffSearchInterface" ) ); +} + +#include "kickoff-search-plugin.moc" diff --git a/kicker/kicker/interfaces/kickoff-search-plugin.h b/kicker/kicker/interfaces/kickoff-search-plugin.h new file mode 100644 index 000000000..e91d079e7 --- /dev/null +++ b/kicker/kicker/interfaces/kickoff-search-plugin.h @@ -0,0 +1,106 @@ +/*************************************************************************** + * Copyright (C) 2006 by Stephan Binner <binner@kde.org> * + * Copyright (c) 2006 Debajyoti Bera <dbera.web@gmail.com> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef KICKOFF_SEARCH_PLUGIN_H +#define KICKOFF_SEARCH_PLUGIN_H + +#include "kickoffsearchinterface.h" + +#include <tqobject.h> +#include <kurl.h> +#include <kservice.h> + +typedef enum { + ACTIONS = 0, + APPS, + BOOKMARKS, + NOTES, + MAILS, + FILES, + MUSIC, + WEBHIST, + CHATS, + FEEDS, + PICS, + VIDEOS, + DOCS, + OTHER, + num_categories +} CATEGORY; + +class HitMenuItem +{ +public: + HitMenuItem (int id, int category) + : id (id), category (category),score(0) { } /* dummy */ + HitMenuItem (TQString name, TQString info, KURL uri, TQString mimetype, int id, int category, TQString icon=TQString::null, int score = 0) + : display_name (name) + , display_info (info) + , uri (uri) + , mimetype (mimetype) + , id (id) + , category (category) + , icon (icon) + , score (score) + , service (NULL) { } + + ~HitMenuItem () { } + + bool operator< (HitMenuItem item) + { + return ((category == item.category && score > item.score) || (category == item.category && id < item.id) || + (category < item.category)); + } + + // FIXME: We dont really need to store display_name and display_info + TQString display_name; // name to display + TQString display_info; // other information to display + KURL uri; // uri to open when clicked + TQString mimetype; + int id; // id of the item in the menu + int category; + TQString icon; + int score; + KService::Ptr service; + + TQString quotedPath () const + { + return uri.path ().replace ('"', "\\\""); + } +}; + +namespace KickoffSearch { + + class Plugin : public TQObject + { + Q_OBJECT + + public: + Plugin(TQObject *parent, const char* name=0); + virtual ~Plugin(); + + virtual bool daemonRunning()=0; + virtual void query(TQString,bool)=0; + + KickoffSearchInterface * kickoffSearchInterface(); + }; +}; + +#endif /* KICKOFF_SEARCH_PLUGIN_H */ diff --git a/kicker/kicker/interfaces/kickoffsearchinterface.cpp b/kicker/kicker/interfaces/kickoffsearchinterface.cpp new file mode 100644 index 000000000..6df9d0630 --- /dev/null +++ b/kicker/kicker/interfaces/kickoffsearchinterface.cpp @@ -0,0 +1,27 @@ +/*************************************************************************** + * Copyright (C) 2006 by Stephan Binner <binner@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include "kickoffsearchinterface.h" + +KickoffSearch::KickoffSearchInterface::KickoffSearchInterface( TQObject* parent, const char* name ) + :TQObject( parent, name ) +{ +} + +#include "kickoffsearchinterface.moc" diff --git a/kicker/kicker/interfaces/kickoffsearchinterface.h b/kicker/kicker/interfaces/kickoffsearchinterface.h new file mode 100644 index 000000000..91d28e7e6 --- /dev/null +++ b/kicker/kicker/interfaces/kickoffsearchinterface.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * Copyright (C) 2006 by Stephan Binner <binner@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef KICKOFFSEARCHINTERFACE_H +#define KICKOFFSEARCHINTERFACE_H + +#include <tqobject.h> + +class HitMenuItem; + +namespace KickoffSearch +{ + class KickoffSearchInterface :public TQObject + { + Q_OBJECT + + public: + KickoffSearchInterface( TQObject* parent, const char* name = 0); + + public: + virtual bool anotherHitMenuItemAllowed(int cat) = 0; + virtual void addHitMenuItem(HitMenuItem* item) = 0; + virtual void searchOver() = 0; + virtual void initCategoryTitlesUpdate() = 0; + virtual void updateCategoryTitles() = 0; + }; +} + +#endif /* SELECTIONINTERFACE_H */ + diff --git a/kicker/kicker/interfaces/kickoffsearchplugin.desktop b/kicker/kicker/interfaces/kickoffsearchplugin.desktop new file mode 100644 index 000000000..137d10a1d --- /dev/null +++ b/kicker/kicker/interfaces/kickoffsearchplugin.desktop @@ -0,0 +1,4 @@ +[Desktop Entry] +Type=ServiceType +X-KDE-ServiceType=KickoffSearch/Plugin +Comment=A search plugin for Kickoff |