~ubuntu-branches/ubuntu/oneiric/arora/oneiric

« back to all changes in this revision

Viewing changes to src/opensearch/opensearchengine.h

  • Committer: Bazaar Package Importer
  • Author(s): Roderick B. Greening
  • Date: 2009-09-10 15:24:04 UTC
  • mfrom: (1.1.10 upstream)
  • Revision ID: james.westby@ubuntu.com-20090910152404-668k22ux3mfap6g0
Tags: 0.9.0-0ubuntu1
* New upstream release
* Update patches:
  - kubuntu_02_default_bookmarks.diff
* Remove patches:
  - kubuntu_04_startpage_spacing.diff (fixed upstream)
  - kubuntu_05_manpages.diff (fixed upstream)
  - kubuntu_07_adblock.diff (unstable/unsuitable)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * Copyright 2009 Jakub Wieczorek <faw217@gmail.com>
3
 
 * Copyright 2009 Christian Franke <cfchris6@ts2server.com>
4
3
 *
5
4
 * This program is free software; you can redistribute it and/or modify
6
5
 * it under the terms of the GNU General Public License as published by
23
22
 
24
23
#include <qpair.h>
25
24
#include <qimage.h>
 
25
#include <qmap.h>
 
26
#include <qnetworkaccessmanager.h>
26
27
#include <qstring.h>
27
28
#include <qurl.h>
28
29
 
29
 
class QNetworkAccessManager;
30
30
class QNetworkReply;
31
31
class QScriptEngine;
32
32
 
 
33
class OpenSearchEngineDelegate;
33
34
class OpenSearchEngine : public QObject
34
35
{
35
36
    Q_OBJECT
36
37
 
37
 
    Q_PROPERTY(QString name READ name)
38
 
 
39
38
signals:
40
39
    void imageChanged();
41
40
    void suggestions(const QStringList &suggestions);
44
43
    typedef QPair<QString, QString> Parameter;
45
44
    typedef QList<Parameter> Parameters;
46
45
 
 
46
    Q_PROPERTY(QString name READ name WRITE setName)
 
47
    Q_PROPERTY(QString description READ description WRITE setDescription)
 
48
    Q_PROPERTY(QString searchUrlTemplate READ searchUrlTemplate WRITE setSearchUrlTemplate)
 
49
    Q_PROPERTY(Parameters searchParameters READ searchParameters WRITE setSearchParameters)
 
50
    Q_PROPERTY(QString searchMethod READ searchMethod WRITE setSearchMethod)
 
51
    Q_PROPERTY(QString suggestionsUrlTemplate READ suggestionsUrlTemplate WRITE setSuggestionsUrlTemplate)
 
52
    Q_PROPERTY(Parameters suggestionsParameters READ suggestionsParameters WRITE setSuggestionsParameters)
 
53
    Q_PROPERTY(QString suggestionsMethod READ suggestionsMethod WRITE setSuggestionsMethod)
 
54
    Q_PROPERTY(bool providesSuggestions READ providesSuggestions)
 
55
    Q_PROPERTY(QString imageUrl READ imageUrl WRITE setImageUrl)
 
56
    Q_PROPERTY(bool valid READ isValid)
 
57
    Q_PROPERTY(QNetworkAccessManager* networkAccessManager READ networkAccessManager WRITE setNetworkAccessManager)
 
58
 
47
59
    OpenSearchEngine(QObject *parent = 0);
48
60
    ~OpenSearchEngine();
49
61
 
69
81
    Parameters suggestionsParameters() const;
70
82
    void setSuggestionsParameters(const Parameters &suggestionsParameters);
71
83
 
 
84
    QString searchMethod() const;
 
85
    void setSearchMethod(const QString &method);
 
86
 
 
87
    QString suggestionsMethod() const;
 
88
    void setSuggestionsMethod(const QString &method);
 
89
 
72
90
    QString imageUrl() const;
73
91
    void setImageUrl(const QString &url);
74
92
 
77
95
 
78
96
    bool isValid() const;
79
97
 
 
98
    QNetworkAccessManager *networkAccessManager() const;
 
99
    void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager);
 
100
 
 
101
    OpenSearchEngineDelegate *delegate() const;
 
102
    void setDelegate(OpenSearchEngineDelegate *delegate);
 
103
 
80
104
    bool operator==(const OpenSearchEngine &other) const;
81
105
    bool operator<(const OpenSearchEngine &other) const;
82
106
 
83
107
public slots:
84
108
    void requestSuggestions(const QString &searchTerm);
 
109
    void requestSearchResults(const QString &searchTerm);
85
110
 
86
111
protected:
87
112
    static QString parseTemplate(const QString &searchTerm, const QString &searchTemplate);
88
 
    static QNetworkAccessManager *networkAccessManager();
89
113
    void loadImage() const;
90
114
 
91
115
private slots:
103
127
    QString m_suggestionsUrlTemplate;
104
128
    Parameters m_searchParameters;
105
129
    Parameters m_suggestionsParameters;
106
 
 
 
130
    QString m_searchMethod;
 
131
    QString m_suggestionsMethod;
 
132
 
 
133
    QMap<QString, QNetworkAccessManager::Operation> m_requestMethods;
 
134
 
 
135
    QNetworkAccessManager *m_networkAccessManager;
107
136
    QNetworkReply *m_suggestionsReply;
108
137
 
109
138
    QScriptEngine *m_scriptEngine;
 
139
 
 
140
    OpenSearchEngineDelegate *m_delegate;
110
141
};
111
142
 
112
 
#endif //OPENSEARCHENGINE_H
 
143
#endif // OPENSEARCHENGINE_H
113
144