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