Code formatting/indentation unified in trunk
[qtrapids] / src / plugins / searchplugin / SearchPlugin.cpp
1 #include <QDebug>
2 #include <QtCore/qplugin.h>
3 #include <QVBoxLayout>
4 #include <QHBoxLayout>
5 #include <QComboBox>
6 #include <QLineEdit>
7 #include <QPushButton>
8 #include <QUrl>
9 #include <QWebView>
10
11
12 #include "SearchPlugin.h"
13
14 namespace qtrapids
15 {
16 SearchPlugin::SearchPlugin() :
17         comboBox_(NULL), searchLine_(NULL), searchButton_(NULL), host_(NULL)
18 {
19     // TODO: Parse engine descriptions.
20     // -Add engines to model
21     // -Show model in comboBox
22
23 }
24
25 void SearchPlugin::initialize(PluginHostInterface* host)
26 {
27     host_ = host;
28
29     if (host_ != NULL)
30     {
31
32         QWidget *pluginWidget = new QWidget;
33         QVBoxLayout *vbox = new QVBoxLayout;
34         QHBoxLayout *hbox = new QHBoxLayout;
35         comboBox_ = new QComboBox;
36         searchLine_ = new QLineEdit;
37         searchButton_ = new QPushButton("Search");
38
39         hbox->addWidget(searchLine_);
40         hbox->addWidget(searchButton_);
41         vbox->addWidget(comboBox_);
42         vbox->addLayout(hbox);
43         pluginWidget->setLayout(vbox);
44
45         connect(searchButton_, SIGNAL(clicked()), this, SLOT(on_searchButton_clicked()));
46         //connect(this, SIGNAL(searchResult(QWidget*)), this, SLOT(on_searchResult(QWidget*)));
47
48         host_->setGui(pluginWidget);
49     }
50 }
51
52 QWidget* SearchPlugin::getGui()
53 {
54     return NULL;
55 }
56
57 void SearchPlugin::on_searchButton_clicked()
58 {
59     QUrl searchUrl(QString("http://www.google.fi/search?q="
60                            + searchLine_->text()));
61     qDebug() << searchUrl;
62     QWebView *result = new QWebView;
63     result->load(searchUrl);
64
65     on_searchResult((QWidget*)result);
66 }
67
68 void SearchPlugin::on_searchResult(QWidget* resultWidget)
69 {
70     qDebug() << "on_searchResult()";
71     if (host_)
72     {
73         host_->addPluginWidget(resultWidget);
74     }
75 }
76
77 } // namespace qtrapids
78
79 Q_EXPORT_PLUGIN2(searchplugin, qtrapids::SearchPlugin)