benoitrigolleau@108: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ benoitrigolleau@108: benoitrigolleau@108: /* benoitrigolleau@108: Sound Access benoitrigolleau@108: EASAIER client application. benoitrigolleau@108: Silogic 2007. Benoit Rigolleau. benoitrigolleau@108: benoitrigolleau@108: This program is free software; you can redistribute it and/or benoitrigolleau@108: modify it under the terms of the GNU General Public License as benoitrigolleau@108: published by the Free Software Foundation; either version 2 of the benoitrigolleau@108: License, or (at your option) any later version. See the file benoitrigolleau@108: COPYING included with this distribution for more information. benoitrigolleau@108: */ benoitrigolleau@108: benoitrigolleau@108: #include "ListResultGeneralItemWidget.h" benoitrigolleau@108: benoitrigolleau@108: #include "CriteriaDialog.h" benoitrigolleau@108: #include benoitrigolleau@108: benoitrigolleau@108: ListResultGeneralItemWidget::ListResultGeneralItemWidget(QWidget *parent):QWidget(parent){ benoitrigolleau@108: vLayout1 = new QVBoxLayout(); benoitrigolleau@108: vLayout2 = new QVBoxLayout(); benoitrigolleau@108: hLayout1 = new QHBoxLayout(); benoitrigolleau@108: hLayout2 = new QHBoxLayout(); benoitrigolleau@108: hLayout3 = new QHBoxLayout(); benoitrigolleau@108: m_waitingWidget = new WaitingWidget(); benoitrigolleau@108: benoitrigolleau@108: m_labelRank = new QLabel(); benoitrigolleau@108: m_labelIcon = new QLabel(); benoitrigolleau@108: m_labelTitleArtist = new QLabel(); benoitrigolleau@108: label4 = new QLabel("4"); benoitrigolleau@108: label5 = new QLabel("le super mega truc des options que même que c'est trop bien"); benoitrigolleau@108: benoitrigolleau@108: m_buttonPrev = new QPushButton("prev"); benoitrigolleau@108: m_buttonSimilar = new QPushButton("similar"); benoitrigolleau@108: benoitrigolleau@108: m_confidenceListWidget= new ConfidenceListWidget(); benoitrigolleau@108: m_confidenceListWidget->setMaximumWidth(180); benoitrigolleau@108: benoitrigolleau@108: benoitrigolleau@108: // set parameters for each component benoitrigolleau@108: benoitrigolleau@108: m_labelRank->setMaximumWidth(40); benoitrigolleau@108: m_labelRank->setMinimumWidth(40); benoitrigolleau@108: m_labelIcon->setMaximumWidth(40); benoitrigolleau@108: m_labelIcon->setMinimumWidth(40); benoitrigolleau@108: label4->setMaximumWidth(40); benoitrigolleau@108: label4->setMinimumWidth(40); benoitrigolleau@108: benoitrigolleau@108: m_labelRank->setAlignment(Qt::AlignCenter); benoitrigolleau@108: m_labelIcon->setAlignment(Qt::AlignCenter); benoitrigolleau@108: benoitrigolleau@108: m_buttonPrev->setMaximumWidth(60); benoitrigolleau@108: //m_buttonPrev->setMaximumHeight(40); benoitrigolleau@108: m_buttonSimilar->setMaximumWidth(60); benoitrigolleau@108: //m_buttonSimilar->setMaximumHeight(40); benoitrigolleau@108: benoitrigolleau@108: ////////////// benoitrigolleau@108: /*QFrame *vLine = new QFrame(); benoitrigolleau@108: vLine->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine->setMaximumWidth(1); benoitrigolleau@108: vLine->setMinimumWidth(1); benoitrigolleau@108: QFrame *vLine2 = new QFrame(); benoitrigolleau@108: vLine2->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine2->setMaximumWidth(1); benoitrigolleau@108: vLine2->setMinimumWidth(1);*/ benoitrigolleau@108: benoitrigolleau@108: QWidget *mainWidget = new QWidget(); benoitrigolleau@108: benoitrigolleau@108: hLayout1->setMargin(0); benoitrigolleau@108: hLayout1->setSpacing(0); benoitrigolleau@108: //hLayout1->addWidget(vLine); benoitrigolleau@108: hLayout1->addWidget(mainWidget); benoitrigolleau@108: //hLayout1->addWidget(vLine2); benoitrigolleau@108: benoitrigolleau@108: ////////// benoitrigolleau@108: benoitrigolleau@108: QFrame *hLine = new QFrame(); benoitrigolleau@108: hLine->setFrameStyle(QFrame::HLine | QFrame::Raised); benoitrigolleau@108: hLine->setMaximumHeight(1); benoitrigolleau@108: hLine->setMinimumHeight(1); benoitrigolleau@108: benoitrigolleau@108: vLayout1->setMargin(0); benoitrigolleau@108: vLayout1->setSpacing(0); benoitrigolleau@108: vLayout1->addLayout(hLayout1); benoitrigolleau@108: vLayout1->addWidget(hLine); benoitrigolleau@108: benoitrigolleau@108: this->setLayout(vLayout1); benoitrigolleau@108: benoitrigolleau@108: //////// benoitrigolleau@108: benoitrigolleau@108: /*QFrame *vLine3 = new QFrame(); benoitrigolleau@108: vLine3->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine3->setMaximumWidth(1); benoitrigolleau@108: vLine3->setMinimumWidth(1); benoitrigolleau@108: QFrame *vLine4 = new QFrame(); benoitrigolleau@108: vLine4->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine4->setMaximumWidth(1); benoitrigolleau@108: vLine4->setMinimumWidth(1);*/ benoitrigolleau@108: benoitrigolleau@108: mainWidget->setLayout(hLayout2); benoitrigolleau@108: hLayout2->setMargin(0); benoitrigolleau@108: hLayout2->setSpacing(0); benoitrigolleau@108: benoitrigolleau@108: hLayout2->addWidget(m_labelRank); benoitrigolleau@108: //hLayout2->addWidget(vLine3); benoitrigolleau@108: hLayout2->addWidget(m_labelIcon); benoitrigolleau@108: //hLayout2->addWidget(vLine4); benoitrigolleau@108: hLayout2->addWidget(m_waitingWidget); benoitrigolleau@108: benoitrigolleau@108: ////// benoitrigolleau@108: benoitrigolleau@108: m_waitingWidget->setLayout(vLayout2); benoitrigolleau@108: vLayout2->addLayout(hLayout3); benoitrigolleau@108: vLayout2->addWidget(label5); benoitrigolleau@108: vLayout2->setMargin(0); benoitrigolleau@108: vLayout2->setSpacing(0); benoitrigolleau@108: benoitrigolleau@108: ///// benoitrigolleau@108: /*QFrame *vLine5 = new QFrame(); benoitrigolleau@108: vLine5->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine5->setMaximumWidth(1); benoitrigolleau@108: vLine5->setMinimumWidth(1); benoitrigolleau@108: QFrame *vLine6 = new QFrame(); benoitrigolleau@108: vLine6->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine6->setMaximumWidth(1); benoitrigolleau@108: vLine6->setMinimumWidth(1); benoitrigolleau@108: QFrame *vLine7 = new QFrame(); benoitrigolleau@108: vLine7->setFrameStyle(QFrame::VLine | QFrame::Raised); benoitrigolleau@108: vLine7->setMaximumWidth(1); benoitrigolleau@108: vLine7->setMinimumWidth(1);*/ benoitrigolleau@108: benoitrigolleau@108: hLayout3->setMargin(0); benoitrigolleau@108: hLayout3->setSpacing(0); benoitrigolleau@108: hLayout3->addWidget(m_labelTitleArtist); benoitrigolleau@108: //hLayout3->addWidget(vLine5); benoitrigolleau@108: hLayout3->addWidget(m_confidenceListWidget); benoitrigolleau@108: //hLayout3->addWidget(vLine6); benoitrigolleau@108: hLayout3->addWidget(label4); benoitrigolleau@108: //hLayout3->addWidget(vLine7); benoitrigolleau@108: hLayout3->addWidget(m_buttonPrev); benoitrigolleau@108: hLayout3->addWidget(m_buttonSimilar); benoitrigolleau@108: benoitrigolleau@108: connect(m_buttonSimilar, SIGNAL(clicked()), this, SLOT(displayCriteria())); benoitrigolleau@108: benoitrigolleau@108: } benoitrigolleau@108: benoitrigolleau@108: void ListResultGeneralItemWidget::setTitleAndAuthorName(QString author,QString title){ benoitrigolleau@108: m_labelTitleArtist->setText(author+" - \""+title+"\""); benoitrigolleau@108: } benoitrigolleau@108: benoitrigolleau@108: void ListResultGeneralItemWidget::setRank(int rank){ benoitrigolleau@108: m_labelRank->setText(QString().setNum(rank)); benoitrigolleau@108: } benoitrigolleau@108: benoitrigolleau@108: void ListResultGeneralItemWidget::setType(int type){ benoitrigolleau@108: QString pixmapName; benoitrigolleau@108: switch(type){ benoitrigolleau@108: case 0: benoitrigolleau@108: pixmapName.append(":icons/musicIcon.png"); benoitrigolleau@108: break; benoitrigolleau@108: case 1: benoitrigolleau@108: pixmapName.append(":icons/speechIcon.png"); benoitrigolleau@108: break; benoitrigolleau@108: benoitrigolleau@108: default: benoitrigolleau@108: break; benoitrigolleau@108: } benoitrigolleau@108: m_labelIcon->setPixmap(QPixmap(pixmapName)); benoitrigolleau@108: } benoitrigolleau@108: benoitrigolleau@108: void ListResultGeneralItemWidget::addConfidence(int confidence, QString confidenceName){ benoitrigolleau@108: m_confidenceListWidget->addConfidence(confidence,confidenceName); benoitrigolleau@108: } benoitrigolleau@108: benoitrigolleau@108: void ListResultGeneralItemWidget::displayCriteria(){ benoitrigolleau@108: m_criteriaDialog = new CriteriaDialog(); benoitrigolleau@108: m_criteriaDialog->addCriteria("criteria 1"); benoitrigolleau@108: m_criteriaDialog->addCriteria("criteria 2"); benoitrigolleau@108: m_criteriaDialog->addCriteria("criteria 3"); benoitrigolleau@108: m_criteriaDialog->setLocation(1000,200); benoitrigolleau@108: m_criteriaDialog->setOpacity(0.9); benoitrigolleau@108: if(m_criteriaDialog->exec()){ benoitrigolleau@108: m_waitingWidget->setAnimation(true); benoitrigolleau@108: } benoitrigolleau@108: delete m_criteriaDialog; benoitrigolleau@108: } benoitrigolleau@108: benoitrigolleau@108: benoitrigolleau@108: