annotate 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
rev   line source
benoitrigolleau@108 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@108 2
benoitrigolleau@108 3 /*
benoitrigolleau@108 4 Sound Access
benoitrigolleau@108 5 EASAIER client application.
benoitrigolleau@108 6 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@108 7
benoitrigolleau@108 8 This program is free software; you can redistribute it and/or
benoitrigolleau@108 9 modify it under the terms of the GNU General Public License as
benoitrigolleau@108 10 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@108 11 License, or (at your option) any later version. See the file
benoitrigolleau@108 12 COPYING included with this distribution for more information.
benoitrigolleau@108 13 */
benoitrigolleau@108 14
benoitrigolleau@108 15 #include "ListResultGeneralItemWidget.h"
benoitrigolleau@108 16
benoitrigolleau@108 17 #include "CriteriaDialog.h"
benoitrigolleau@108 18 #include <QPixmap>
benoitrigolleau@108 19
benoitrigolleau@108 20 ListResultGeneralItemWidget::ListResultGeneralItemWidget(QWidget *parent):QWidget(parent){
benoitrigolleau@108 21 vLayout1 = new QVBoxLayout();
benoitrigolleau@108 22 vLayout2 = new QVBoxLayout();
benoitrigolleau@108 23 hLayout1 = new QHBoxLayout();
benoitrigolleau@108 24 hLayout2 = new QHBoxLayout();
benoitrigolleau@108 25 hLayout3 = new QHBoxLayout();
benoitrigolleau@108 26 m_waitingWidget = new WaitingWidget();
benoitrigolleau@108 27
benoitrigolleau@108 28 m_labelRank = new QLabel();
benoitrigolleau@108 29 m_labelIcon = new QLabel();
benoitrigolleau@108 30 m_labelTitleArtist = new QLabel();
benoitrigolleau@108 31 label4 = new QLabel("4");
benoitrigolleau@108 32 label5 = new QLabel("le super mega truc des options que même que c'est trop bien");
benoitrigolleau@108 33
benoitrigolleau@108 34 m_buttonPrev = new QPushButton("prev");
benoitrigolleau@108 35 m_buttonSimilar = new QPushButton("similar");
benoitrigolleau@108 36
benoitrigolleau@108 37 m_confidenceListWidget= new ConfidenceListWidget();
benoitrigolleau@108 38 m_confidenceListWidget->setMaximumWidth(180);
benoitrigolleau@108 39
benoitrigolleau@108 40
benoitrigolleau@108 41 // set parameters for each component
benoitrigolleau@108 42
benoitrigolleau@108 43 m_labelRank->setMaximumWidth(40);
benoitrigolleau@108 44 m_labelRank->setMinimumWidth(40);
benoitrigolleau@108 45 m_labelIcon->setMaximumWidth(40);
benoitrigolleau@108 46 m_labelIcon->setMinimumWidth(40);
benoitrigolleau@108 47 label4->setMaximumWidth(40);
benoitrigolleau@108 48 label4->setMinimumWidth(40);
benoitrigolleau@108 49
benoitrigolleau@108 50 m_labelRank->setAlignment(Qt::AlignCenter);
benoitrigolleau@108 51 m_labelIcon->setAlignment(Qt::AlignCenter);
benoitrigolleau@108 52
benoitrigolleau@108 53 m_buttonPrev->setMaximumWidth(60);
benoitrigolleau@108 54 //m_buttonPrev->setMaximumHeight(40);
benoitrigolleau@108 55 m_buttonSimilar->setMaximumWidth(60);
benoitrigolleau@108 56 //m_buttonSimilar->setMaximumHeight(40);
benoitrigolleau@108 57
benoitrigolleau@108 58 //////////////
benoitrigolleau@108 59 /*QFrame *vLine = new QFrame();
benoitrigolleau@108 60 vLine->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 61 vLine->setMaximumWidth(1);
benoitrigolleau@108 62 vLine->setMinimumWidth(1);
benoitrigolleau@108 63 QFrame *vLine2 = new QFrame();
benoitrigolleau@108 64 vLine2->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 65 vLine2->setMaximumWidth(1);
benoitrigolleau@108 66 vLine2->setMinimumWidth(1);*/
benoitrigolleau@108 67
benoitrigolleau@108 68 QWidget *mainWidget = new QWidget();
benoitrigolleau@108 69
benoitrigolleau@108 70 hLayout1->setMargin(0);
benoitrigolleau@108 71 hLayout1->setSpacing(0);
benoitrigolleau@108 72 //hLayout1->addWidget(vLine);
benoitrigolleau@108 73 hLayout1->addWidget(mainWidget);
benoitrigolleau@108 74 //hLayout1->addWidget(vLine2);
benoitrigolleau@108 75
benoitrigolleau@108 76 //////////
benoitrigolleau@108 77
benoitrigolleau@108 78 QFrame *hLine = new QFrame();
benoitrigolleau@108 79 hLine->setFrameStyle(QFrame::HLine | QFrame::Raised);
benoitrigolleau@108 80 hLine->setMaximumHeight(1);
benoitrigolleau@108 81 hLine->setMinimumHeight(1);
benoitrigolleau@108 82
benoitrigolleau@108 83 vLayout1->setMargin(0);
benoitrigolleau@108 84 vLayout1->setSpacing(0);
benoitrigolleau@108 85 vLayout1->addLayout(hLayout1);
benoitrigolleau@108 86 vLayout1->addWidget(hLine);
benoitrigolleau@108 87
benoitrigolleau@108 88 this->setLayout(vLayout1);
benoitrigolleau@108 89
benoitrigolleau@108 90 ////////
benoitrigolleau@108 91
benoitrigolleau@108 92 /*QFrame *vLine3 = new QFrame();
benoitrigolleau@108 93 vLine3->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 94 vLine3->setMaximumWidth(1);
benoitrigolleau@108 95 vLine3->setMinimumWidth(1);
benoitrigolleau@108 96 QFrame *vLine4 = new QFrame();
benoitrigolleau@108 97 vLine4->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 98 vLine4->setMaximumWidth(1);
benoitrigolleau@108 99 vLine4->setMinimumWidth(1);*/
benoitrigolleau@108 100
benoitrigolleau@108 101 mainWidget->setLayout(hLayout2);
benoitrigolleau@108 102 hLayout2->setMargin(0);
benoitrigolleau@108 103 hLayout2->setSpacing(0);
benoitrigolleau@108 104
benoitrigolleau@108 105 hLayout2->addWidget(m_labelRank);
benoitrigolleau@108 106 //hLayout2->addWidget(vLine3);
benoitrigolleau@108 107 hLayout2->addWidget(m_labelIcon);
benoitrigolleau@108 108 //hLayout2->addWidget(vLine4);
benoitrigolleau@108 109 hLayout2->addWidget(m_waitingWidget);
benoitrigolleau@108 110
benoitrigolleau@108 111 //////
benoitrigolleau@108 112
benoitrigolleau@108 113 m_waitingWidget->setLayout(vLayout2);
benoitrigolleau@108 114 vLayout2->addLayout(hLayout3);
benoitrigolleau@108 115 vLayout2->addWidget(label5);
benoitrigolleau@108 116 vLayout2->setMargin(0);
benoitrigolleau@108 117 vLayout2->setSpacing(0);
benoitrigolleau@108 118
benoitrigolleau@108 119 /////
benoitrigolleau@108 120 /*QFrame *vLine5 = new QFrame();
benoitrigolleau@108 121 vLine5->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 122 vLine5->setMaximumWidth(1);
benoitrigolleau@108 123 vLine5->setMinimumWidth(1);
benoitrigolleau@108 124 QFrame *vLine6 = new QFrame();
benoitrigolleau@108 125 vLine6->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 126 vLine6->setMaximumWidth(1);
benoitrigolleau@108 127 vLine6->setMinimumWidth(1);
benoitrigolleau@108 128 QFrame *vLine7 = new QFrame();
benoitrigolleau@108 129 vLine7->setFrameStyle(QFrame::VLine | QFrame::Raised);
benoitrigolleau@108 130 vLine7->setMaximumWidth(1);
benoitrigolleau@108 131 vLine7->setMinimumWidth(1);*/
benoitrigolleau@108 132
benoitrigolleau@108 133 hLayout3->setMargin(0);
benoitrigolleau@108 134 hLayout3->setSpacing(0);
benoitrigolleau@108 135 hLayout3->addWidget(m_labelTitleArtist);
benoitrigolleau@108 136 //hLayout3->addWidget(vLine5);
benoitrigolleau@108 137 hLayout3->addWidget(m_confidenceListWidget);
benoitrigolleau@108 138 //hLayout3->addWidget(vLine6);
benoitrigolleau@108 139 hLayout3->addWidget(label4);
benoitrigolleau@108 140 //hLayout3->addWidget(vLine7);
benoitrigolleau@108 141 hLayout3->addWidget(m_buttonPrev);
benoitrigolleau@108 142 hLayout3->addWidget(m_buttonSimilar);
benoitrigolleau@108 143
benoitrigolleau@108 144 connect(m_buttonSimilar, SIGNAL(clicked()), this, SLOT(displayCriteria()));
benoitrigolleau@108 145
benoitrigolleau@108 146 }
benoitrigolleau@108 147
benoitrigolleau@108 148 void ListResultGeneralItemWidget::setTitleAndAuthorName(QString author,QString title){
benoitrigolleau@108 149 m_labelTitleArtist->setText(author+" - \""+title+"\"");
benoitrigolleau@108 150 }
benoitrigolleau@108 151
benoitrigolleau@108 152 void ListResultGeneralItemWidget::setRank(int rank){
benoitrigolleau@108 153 m_labelRank->setText(QString().setNum(rank));
benoitrigolleau@108 154 }
benoitrigolleau@108 155
benoitrigolleau@108 156 void ListResultGeneralItemWidget::setType(int type){
benoitrigolleau@108 157 QString pixmapName;
benoitrigolleau@108 158 switch(type){
benoitrigolleau@108 159 case 0:
benoitrigolleau@108 160 pixmapName.append(":icons/musicIcon.png");
benoitrigolleau@108 161 break;
benoitrigolleau@108 162 case 1:
benoitrigolleau@108 163 pixmapName.append(":icons/speechIcon.png");
benoitrigolleau@108 164 break;
benoitrigolleau@108 165
benoitrigolleau@108 166 default:
benoitrigolleau@108 167 break;
benoitrigolleau@108 168 }
benoitrigolleau@108 169 m_labelIcon->setPixmap(QPixmap(pixmapName));
benoitrigolleau@108 170 }
benoitrigolleau@108 171
benoitrigolleau@108 172 void ListResultGeneralItemWidget::addConfidence(int confidence, QString confidenceName){
benoitrigolleau@108 173 m_confidenceListWidget->addConfidence(confidence,confidenceName);
benoitrigolleau@108 174 }
benoitrigolleau@108 175
benoitrigolleau@108 176 void ListResultGeneralItemWidget::displayCriteria(){
benoitrigolleau@108 177 m_criteriaDialog = new CriteriaDialog();
benoitrigolleau@108 178 m_criteriaDialog->addCriteria("criteria 1");
benoitrigolleau@108 179 m_criteriaDialog->addCriteria("criteria 2");
benoitrigolleau@108 180 m_criteriaDialog->addCriteria("criteria 3");
benoitrigolleau@108 181 m_criteriaDialog->setLocation(1000,200);
benoitrigolleau@108 182 m_criteriaDialog->setOpacity(0.9);
benoitrigolleau@108 183 if(m_criteriaDialog->exec()){
benoitrigolleau@108 184 m_waitingWidget->setAnimation(true);
benoitrigolleau@108 185 }
benoitrigolleau@108 186 delete m_criteriaDialog;
benoitrigolleau@108 187 }
benoitrigolleau@108 188
benoitrigolleau@108 189
benoitrigolleau@108 190