lbajardsilogic@7: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@7: lbajardsilogic@7: /* Sound Access lbajardsilogic@7: EASAIER client application. lbajardsilogic@7: Silogic 2007. Laure Bajard. lbajardsilogic@7: lbajardsilogic@7: This program is free software; you can redistribute it and/or lbajardsilogic@7: modify it under the terms of the GNU General Public License as lbajardsilogic@7: published by the Free Software Foundation; either version 2 of the lbajardsilogic@7: License, or (at your option) any later version. See the file lbajardsilogic@7: COPYING included with this distribution for more information. lbajardsilogic@7: */ lbajardsilogic@7: lbajardsilogic@7: #include "QueryResultsWidget.h" lbajardsilogic@7: lbajardsilogic@7: #include lbajardsilogic@7: #include benoitrigolleau@88: #include lbajardsilogic@7: lbajardsilogic@7: #include lbajardsilogic@7: lbajardsilogic@7: #include "sv/main/MainWindow.h" lbajardsilogic@7: lbajardsilogic@7: QueryResultsWidget::QueryResultsWidget() : QWidget(), lbajardsilogic@7: m_ndResults(0) lbajardsilogic@7: { lbajardsilogic@7: m_resultsLayout = new QGridLayout; lbajardsilogic@7: lbajardsilogic@7: QWidget *resultsWidget = new QWidget; lbajardsilogic@7: resultsWidget->setLayout(m_resultsLayout); lbajardsilogic@7: lbajardsilogic@7: QScrollArea * scrollArea = new QScrollArea; lbajardsilogic@7: scrollArea->setWidget(resultsWidget); lbajardsilogic@7: scrollArea->setWidgetResizable(true); lbajardsilogic@7: lbajardsilogic@7: QVBoxLayout *mainLayout = new QVBoxLayout; lbajardsilogic@7: mainLayout->addWidget(scrollArea); lbajardsilogic@7: lbajardsilogic@7: setLayout(mainLayout); lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: QueryResultsWidget::~QueryResultsWidget() lbajardsilogic@7: {} lbajardsilogic@7: lbajardsilogic@7: void QueryResultsWidget::reset() lbajardsilogic@7: { lbajardsilogic@7: m_ndResults = 0; lbajardsilogic@7: lbajardsilogic@7: QLayoutItem *child; lbajardsilogic@7: while ((child = m_resultsLayout->takeAt(0)) != 0) { lbajardsilogic@7: delete child->widget(); lbajardsilogic@7: } lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: void QueryResultsWidget::newResult() lbajardsilogic@7: { lbajardsilogic@7: m_curResult.clear(); lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: void QueryResultsWidget::addInfo(const QString& name, const QString& value) lbajardsilogic@7: { lbajardsilogic@7: Info info; lbajardsilogic@7: info.name = name; lbajardsilogic@7: info.value = value; lbajardsilogic@7: lbajardsilogic@7: m_curResult.push_back(info); lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: void QueryResultsWidget::displayResult() lbajardsilogic@7: { lbajardsilogic@7: std::vector::iterator iter; lbajardsilogic@7: lbajardsilogic@7: QLabel* result = new QLabel(); lbajardsilogic@7: lbajardsilogic@7: QString text; lbajardsilogic@7: lbajardsilogic@7: for (iter = m_curResult.begin(); iter != m_curResult.end(); iter++) lbajardsilogic@7: { lbajardsilogic@7: text += "
" ; lbajardsilogic@7: text += (*iter).name; lbajardsilogic@7: text += " : " ; lbajardsilogic@7: if (((*iter).value.left(4) == "http") && ((*iter).value.right(4) == ".xml")) lbajardsilogic@7: { lbajardsilogic@7: text += ""; lbajardsilogic@7: text += (*iter).value; lbajardsilogic@7: text += ""; lbajardsilogic@7: } else lbajardsilogic@7: { lbajardsilogic@7: text += (*iter).value; lbajardsilogic@7: } lbajardsilogic@7: text += "
" ; lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: connect(result, SIGNAL(linkActivated(QString)), MainWindow::instance(), SLOT(importEasaierFile(QString))); lbajardsilogic@7: lbajardsilogic@7: result->setText(text); lbajardsilogic@7: lbajardsilogic@7: m_resultsLayout->addWidget(result,m_ndResults,0); lbajardsilogic@7: m_ndResults++; benoitrigolleau@88: lbajardsilogic@7: }