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 "InfoWidget.h" lbajardsilogic@7: lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: lbajardsilogic@7: #include lbajardsilogic@7: lbajardsilogic@7: #include "sv/main/MainWindow.h" lbajardsilogic@7: lbajardsilogic@7: InfoWidget::InfoWidget() : QWidget() lbajardsilogic@7: { lbajardsilogic@7: m_infoLayout = new QGridLayout; lbajardsilogic@7: lbajardsilogic@7: QWidget *infoWidget = new QWidget; lbajardsilogic@7: infoWidget->setLayout(m_infoLayout); lbajardsilogic@7: lbajardsilogic@7: QScrollArea * scrollArea = new QScrollArea; lbajardsilogic@7: scrollArea->setWidget(infoWidget); 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: InfoWidget::~InfoWidget() lbajardsilogic@7: {} lbajardsilogic@7: lbajardsilogic@7: void InfoWidget::reset() lbajardsilogic@7: { lbajardsilogic@7: QLayoutItem *child; lbajardsilogic@7: while ((child = m_infoLayout->takeAt(0)) != 0) { lbajardsilogic@7: delete child->widget(); lbajardsilogic@7: } lbajardsilogic@7: } lbajardsilogic@7: void InfoWidget::displayAudioSourceInfo(AudioSourceInfoModel* model) lbajardsilogic@7: { lbajardsilogic@7: std::map info = model->getInfo(); lbajardsilogic@7: std::map::iterator iterInfo; lbajardsilogic@7: QLabel* proper; lbajardsilogic@7: QLabel* value; lbajardsilogic@7: lbajardsilogic@7: int row = 0; lbajardsilogic@7: for (iterInfo = info.begin(); iterInfo != info.end(); iterInfo++) lbajardsilogic@7: { lbajardsilogic@7: proper = new QLabel(iterInfo->first); lbajardsilogic@7: lbajardsilogic@7: QString valueText(iterInfo->second); lbajardsilogic@7: lbajardsilogic@7: if ((valueText.left(4) == "http") && (valueText.right(4) == ".xml")) lbajardsilogic@7: { lbajardsilogic@7: value = new QLabel(); lbajardsilogic@7: value->setText("second + "\">" + iterInfo->second + ""); lbajardsilogic@7: //connect the main window to the linkActivated signal lbajardsilogic@7: connect(value, SIGNAL(linkActivated(QString)), MainWindow::instance(), SLOT(importEasaierLayer(QString))); lbajardsilogic@7: lbajardsilogic@7: } else { lbajardsilogic@7: value = new QLabel(iterInfo->second); lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: m_infoLayout->addWidget(proper, row, 0); lbajardsilogic@7: m_infoLayout->addWidget(value, row, 1); lbajardsilogic@7: row++; lbajardsilogic@7: } lbajardsilogic@7: lbajardsilogic@7: m_infoLayout->setColumnStretch( 1, 1); lbajardsilogic@7: }