libplasma
runnercontext.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef RUNNERCONTEXT_H
00021 #define RUNNERCONTEXT_H
00022
00023 #include <QtCore/QList>
00024 #include <QtCore/QObject>
00025 #include <QtCore/QSharedDataPointer>
00026
00027 #include <plasma/plasma_export.h>
00028
00029 class KCompletion;
00030
00031 namespace Plasma
00032 {
00033
00034 class QueryMatch;
00035 class AbstractRunner;
00036 class RunnerContextPrivate;
00037
00043 class PLASMA_EXPORT RunnerContext : public QObject
00044 {
00045 Q_OBJECT
00046
00047 public:
00048 enum Type { None = 0,
00049 UnknownType = 1,
00050 Directory = 2,
00051 File = 4,
00052 NetworkLocation = 8,
00053 Executable = 16,
00054 ShellCommand = 32,
00055 Help = 64,
00056 FileSystem = Directory | File | Executable | ShellCommand
00057 };
00058
00059 Q_DECLARE_FLAGS(Types, Type)
00060
00061 explicit RunnerContext(QObject *parent = 0);
00062
00066 explicit RunnerContext(RunnerContext& other, QObject *parent = 0);
00067
00068 ~RunnerContext();
00069
00070
00075 void reset();
00076
00081 void setQuery(const QString& term);
00082
00086 QString query() const;
00087
00092 Type type() const;
00093
00101 QString mimeType() const;
00102
00111 bool addMatches(const QString& term, const QList<QueryMatch> &matches);
00112
00124 bool addMatch(const QString &term, const QueryMatch &match);
00125
00131 QList<QueryMatch> matches() const;
00132
00140 QueryMatch match(const QString &id) const;
00141
00142 Q_SIGNALS:
00143 void matchesChanged();
00144
00145 private:
00146 QExplicitlySharedDataPointer<RunnerContextPrivate> d;
00147 };
00148
00149 }
00150
00151 Q_DECLARE_OPERATORS_FOR_FLAGS(Plasma::RunnerContext::Types)
00152
00153 #endif