Inserimento suoni
[qmemory] / mainwindow.cpp
1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3 #include <QMessageBox>
4 #include <QDebug>
5 #include <QSound>
6
7 MainWindow::MainWindow(QWidget *parent) :
8     QMainWindow(parent),
9     ui(new Ui::MainWindow)
10 {
11
12     ui->setupUi(this);
13     statusLed = new QLed(ui->verticalLayoutWidget);
14     ui->horizontalLayout_4->insertWidget(0,statusLed);
15
16     statusLed->setOnColor(QLed::Red);
17     statusLed->setOffColor(QLed::Green);
18     //statusLed->setGeometry(QRect(0,0,100,100));
19     statusLed->setShape(QLed::Rounded);
20     setCentralWidget(ui->verticalLayoutWidget);
21     connect(&tread,SIGNAL(generate(int)),this,SLOT(cliccaBottone(int)));
22     connect(&tread,SIGNAL(score(int)),ui->lcdNumber,SLOT(display(int)));
23     connect(&tread,SIGNAL(exit(int)),this,SLOT(sbagliato(int)));
24     connect(&tread,SIGNAL(disableInterface()),this,SLOT(disableAll()));
25     connect(&tread,SIGNAL(enableInterface()),this,SLOT(enableAll()));
26     connect(this,SIGNAL(cliccatoIlBottone(int)),&tread,SLOT(updateCaption(int)));
27     connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(clickA()));
28     connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(clickB()));
29     connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(clickC()));
30     connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(clickD()));
31     connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(clickE()));
32     connect(ui->pushButton_6,SIGNAL(clicked()),this,SLOT(clickF()));
33     connect(ui->pushButton_7,SIGNAL(clicked()),this,SLOT(clickG()));
34     connect(ui->pushButton_8,SIGNAL(clicked()),this,SLOT(clickH()));
35     connect(ui->pushButton_9,SIGNAL(clicked()),this,SLOT(clickI()));
36
37     tread.start();
38
39     setStyleSheet("CrazyButton {"
40                  "color: white;"
41                  "background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #88d, stop: 0.1 #99e, stop: 0.49 #77c, stop: 0.5 #66b, stop: 1 #77c);"
42                  "border-width: 1px;"
43                  "border-color: #339;"
44                  "border-style: solid;"
45                  "border-radius: 7;"
46                  "padding: 3px;"
47                  "font-size: 50px;"
48                  "padding-left: 5px;"
49                  "padding-right: 5px;"
50                  "min-width: 15px;"
51                  "max-width: 300px;"
52                  "min-height: 11px;"
53                  "max-height: 300px;"
54                  "}"
55                  "QPushButton:pressed {"
56                  "padding-top: 15px;"
57                  "}");
58     //showMaximized();
59 }
60 void MainWindow::sbagliato(int score){
61     QString sscore("Score ");
62     sscore.append(QString::number(score));
63     QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
64     //tread.genera();
65     exit(0);
66
67 }
68 void MainWindow::disableAll(){
69     ui->pushButton->setEnabled(false);
70     ui->pushButton_2->setEnabled(false);
71     ui->pushButton_3->setEnabled(false);
72     ui->pushButton_4->setEnabled(false);
73     ui->pushButton_5->setEnabled(false);
74     ui->pushButton_6->setEnabled(false);
75     ui->pushButton_7->setEnabled(false);
76     ui->pushButton_8->setEnabled(false);
77     ui->pushButton_9->setEnabled(false);
78     statusLed->setValue(true);
79 }
80
81 void MainWindow::enableAll(){
82     ui->pushButton->setEnabled(true);
83     ui->pushButton_2->setEnabled(true);
84     ui->pushButton_3->setEnabled(true);
85     ui->pushButton_4->setEnabled(true);
86     ui->pushButton_5->setEnabled(true);
87     ui->pushButton_6->setEnabled(true);
88     ui->pushButton_7->setEnabled(true);
89     ui->pushButton_8->setEnabled(true);
90     ui->pushButton_9->setEnabled(true);
91     statusLed->setValue(false);
92 }
93
94
95 void MainWindow::cliccaBottone(int id)
96 {
97     switch(id){
98         case 0:
99                 if(ui->pushButton->getStateColor())
100                     QSound::play("sounds/dog.wav");
101                 ui->pushButton->changeColor();
102                 break;
103         case 1:
104                 if(ui->pushButton_2->getStateColor())
105                     QSound::play("sounds/cat.wav");
106                 ui->pushButton_2->changeColor();
107                 break;
108         case 2:
109                 if(ui->pushButton_3->getStateColor())
110                     QSound::play("sounds/cow.wav");
111                 ui->pushButton_3->changeColor();
112                 break;
113         case 3:
114                 if(ui->pushButton_4->getStateColor())
115                     QSound::play("sounds/duck.wav");
116                 ui->pushButton_4->changeColor();
117                 break;
118         case 4:
119                 if(ui->pushButton_5->getStateColor())
120                     QSound::play("sounds/goat.wav");
121                 ui->pushButton_5->changeColor();
122                 break;
123         case 5:
124                 if(ui->pushButton_6->getStateColor())
125                     QSound::play("sounds/donkey.wav");
126                 ui->pushButton_6->changeColor();
127                 break;
128         case 6:
129                 if(ui->pushButton_7->getStateColor())
130                     QSound::play("sounds/crow.wav");
131                 ui->pushButton_7->changeColor();
132                 break;
133         case 7:
134                 if(ui->pushButton_8->getStateColor())
135                     QSound::play("sounds/rosteer.wav");
136                 ui->pushButton_8->changeColor();
137                 break;
138         case 8:
139                 if(ui->pushButton_9->getStateColor())
140                     QSound::play("sounds/bleeeh.wav");
141                 ui->pushButton_9->changeColor();
142                 break;
143     }
144 }
145
146 MainWindow::~MainWindow()
147 {
148     delete ui;
149 }
150 void MainWindow::clickA(){
151     QSound::play("sounds/dog.wav");
152     emit cliccatoIlBottone(0);
153
154 }
155
156 void MainWindow::clickB(){
157     QSound::play("sounds/cat.wav");
158     emit cliccatoIlBottone(1);
159
160 }
161 void MainWindow::clickC(){
162     QSound::play("sounds/cow.wav");
163     emit cliccatoIlBottone(2);
164
165 }
166 void MainWindow::clickD(){
167     QSound::play("sounds/duck.wav");
168     emit cliccatoIlBottone(3);
169
170 }
171 void MainWindow::clickE(){
172     QSound::play("sounds/goat.wav");
173     emit cliccatoIlBottone(4);
174
175 }
176 void MainWindow::clickF(){
177     QSound::play("sounds/donkey.wav");
178     emit cliccatoIlBottone(5);
179
180 }
181 void MainWindow::clickG(){
182     QSound::play("sounds/crow.wav");
183     emit cliccatoIlBottone(6);
184
185 }
186 void MainWindow::clickH(){
187     QSound::play("sounds/rosteer.wav");
188     emit cliccatoIlBottone(7);
189
190 }
191 void MainWindow::clickI(){
192     QSound::play("sounds/bleeeh.wav");
193     emit cliccatoIlBottone(8);
194
195 }
196
197
198 void MainWindow::changeEvent(QEvent *e)
199 {
200     QMainWindow::changeEvent(e);
201     switch (e->type()) {
202     case QEvent::LanguageChange:
203         ui->retranslateUi(this);
204         break;
205     default:
206         break;
207     }
208 }
209