|
lbajardsilogic@7
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
|
lbajardsilogic@7
|
2
|
|
lbajardsilogic@7
|
3 /* Sound Access
|
|
lbajardsilogic@7
|
4 EASAIER client application.
|
|
lbajardsilogic@7
|
5 Silogic 2007. Laure Bajard.
|
|
lbajardsilogic@7
|
6
|
|
lbajardsilogic@7
|
7 This program is free software; you can redistribute it and/or
|
|
lbajardsilogic@7
|
8 modify it under the terms of the GNU General Public License as
|
|
lbajardsilogic@7
|
9 published by the Free Software Foundation; either version 2 of the
|
|
lbajardsilogic@7
|
10 License, or (at your option) any later version. See the file
|
|
lbajardsilogic@7
|
11 COPYING included with this distribution for more information.
|
|
lbajardsilogic@7
|
12 */
|
|
lbajardsilogic@7
|
13
|
|
lbajardsilogic@7
|
14 #include "QueryResultsWidget.h"
|
|
lbajardsilogic@7
|
15
|
|
lbajardsilogic@7
|
16 #include <QScrollArea>
|
|
lbajardsilogic@7
|
17 #include <QLabel>
|
|
benoitrigolleau@88
|
18 #include <QApplication>
|
|
lbajardsilogic@7
|
19
|
|
lbajardsilogic@7
|
20 #include <iostream>
|
|
lbajardsilogic@7
|
21
|
|
lbajardsilogic@7
|
22 #include "sv/main/MainWindow.h"
|
|
lbajardsilogic@7
|
23
|
|
lbajardsilogic@7
|
24 QueryResultsWidget::QueryResultsWidget() : QWidget(),
|
|
lbajardsilogic@7
|
25 m_ndResults(0)
|
|
lbajardsilogic@7
|
26 {
|
|
lbajardsilogic@7
|
27 m_resultsLayout = new QGridLayout;
|
|
lbajardsilogic@7
|
28
|
|
lbajardsilogic@7
|
29 QWidget *resultsWidget = new QWidget;
|
|
lbajardsilogic@7
|
30 resultsWidget->setLayout(m_resultsLayout);
|
|
lbajardsilogic@7
|
31
|
|
lbajardsilogic@7
|
32 QScrollArea * scrollArea = new QScrollArea;
|
|
lbajardsilogic@7
|
33 scrollArea->setWidget(resultsWidget);
|
|
lbajardsilogic@7
|
34 scrollArea->setWidgetResizable(true);
|
|
lbajardsilogic@7
|
35
|
|
lbajardsilogic@7
|
36 QVBoxLayout *mainLayout = new QVBoxLayout;
|
|
lbajardsilogic@7
|
37 mainLayout->addWidget(scrollArea);
|
|
lbajardsilogic@7
|
38
|
|
lbajardsilogic@7
|
39 setLayout(mainLayout);
|
|
lbajardsilogic@7
|
40 }
|
|
lbajardsilogic@7
|
41
|
|
lbajardsilogic@7
|
42 QueryResultsWidget::~QueryResultsWidget()
|
|
lbajardsilogic@7
|
43 {}
|
|
lbajardsilogic@7
|
44
|
|
lbajardsilogic@7
|
45 void QueryResultsWidget::reset()
|
|
lbajardsilogic@7
|
46 {
|
|
lbajardsilogic@7
|
47 m_ndResults = 0;
|
|
lbajardsilogic@7
|
48
|
|
lbajardsilogic@7
|
49 QLayoutItem *child;
|
|
lbajardsilogic@7
|
50 while ((child = m_resultsLayout->takeAt(0)) != 0) {
|
|
lbajardsilogic@7
|
51 delete child->widget();
|
|
lbajardsilogic@7
|
52 }
|
|
lbajardsilogic@7
|
53 }
|
|
lbajardsilogic@7
|
54
|
|
lbajardsilogic@7
|
55 void QueryResultsWidget::newResult()
|
|
lbajardsilogic@7
|
56 {
|
|
lbajardsilogic@7
|
57 m_curResult.clear();
|
|
lbajardsilogic@7
|
58 }
|
|
lbajardsilogic@7
|
59
|
|
lbajardsilogic@7
|
60 void QueryResultsWidget::addInfo(const QString& name, const QString& value)
|
|
lbajardsilogic@7
|
61 {
|
|
lbajardsilogic@7
|
62 Info info;
|
|
lbajardsilogic@7
|
63 info.name = name;
|
|
lbajardsilogic@7
|
64 info.value = value;
|
|
lbajardsilogic@7
|
65
|
|
lbajardsilogic@7
|
66 m_curResult.push_back(info);
|
|
lbajardsilogic@7
|
67 }
|
|
lbajardsilogic@7
|
68
|
|
lbajardsilogic@7
|
69 void QueryResultsWidget::displayResult()
|
|
lbajardsilogic@7
|
70 {
|
|
lbajardsilogic@7
|
71 std::vector<Info>::iterator iter;
|
|
lbajardsilogic@7
|
72
|
|
lbajardsilogic@7
|
73 QLabel* result = new QLabel();
|
|
lbajardsilogic@7
|
74
|
|
lbajardsilogic@7
|
75 QString text;
|
|
lbajardsilogic@7
|
76
|
|
lbajardsilogic@7
|
77 for (iter = m_curResult.begin(); iter != m_curResult.end(); iter++)
|
|
lbajardsilogic@7
|
78 {
|
|
lbajardsilogic@7
|
79 text += "<br>" ;
|
|
lbajardsilogic@7
|
80 text += (*iter).name;
|
|
lbajardsilogic@7
|
81 text += " : " ;
|
|
lbajardsilogic@7
|
82 if (((*iter).value.left(4) == "http") && ((*iter).value.right(4) == ".xml"))
|
|
lbajardsilogic@7
|
83 {
|
|
lbajardsilogic@7
|
84 text += "<a href=\"";
|
|
lbajardsilogic@7
|
85 text += (*iter).value;
|
|
lbajardsilogic@7
|
86 text += "\">";
|
|
lbajardsilogic@7
|
87 text += (*iter).value;
|
|
lbajardsilogic@7
|
88 text += "</a>";
|
|
lbajardsilogic@7
|
89 } else
|
|
lbajardsilogic@7
|
90 {
|
|
lbajardsilogic@7
|
91 text += (*iter).value;
|
|
lbajardsilogic@7
|
92 }
|
|
lbajardsilogic@7
|
93 text += "</br>" ;
|
|
lbajardsilogic@7
|
94 }
|
|
lbajardsilogic@7
|
95
|
|
lbajardsilogic@7
|
96 connect(result, SIGNAL(linkActivated(QString)), MainWindow::instance(), SLOT(importEasaierFile(QString)));
|
|
lbajardsilogic@7
|
97
|
|
lbajardsilogic@7
|
98 result->setText(text);
|
|
lbajardsilogic@7
|
99
|
|
lbajardsilogic@7
|
100 m_resultsLayout->addWidget(result,m_ndResults,0);
|
|
lbajardsilogic@7
|
101 m_ndResults++;
|
|
benoitrigolleau@88
|
102
|
|
lbajardsilogic@7
|
103 }
|