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
|