1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
8 MainWindow::MainWindow(QWidget *parent) :
10 ui(new Ui::MainWindow)
15 statusLed = new QLed(ui->verticalLayoutWidget);
16 ui->horizontalLayout_4->insertWidget(0,statusLed);
18 statusLed->setOnColor(QLed::Red);
19 statusLed->setOffColor(QLed::Green);
20 //statusLed->setGeometry(QRect(0,0,100,100));
21 statusLed->setShape(QLed::Rounded);
22 setCentralWidget(ui->verticalLayoutWidget);
23 connect(&tread,SIGNAL(generate(int)),this,SLOT(cliccaBottone(int)));
24 connect(&tread,SIGNAL(score(int)),ui->lcdNumber,SLOT(display(int)));
25 connect(&tread,SIGNAL(exit(int)),this,SLOT(sbagliato(int)));
26 connect(&tread,SIGNAL(disableInterface()),this,SLOT(disableAll()));
27 connect(&tread,SIGNAL(enableInterface()),this,SLOT(enableAll()));
28 connect(this,SIGNAL(cliccatoIlBottone(int)),&tread,SLOT(updateCaption(int)));
29 connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(clickA()));
30 connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(clickB()));
31 connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(clickC()));
32 connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(clickD()));
33 connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(clickE()));
34 connect(ui->pushButton_6,SIGNAL(clicked()),this,SLOT(clickF()));
35 connect(ui->pushButton_7,SIGNAL(clicked()),this,SLOT(clickG()));
36 connect(ui->pushButton_8,SIGNAL(clicked()),this,SLOT(clickH()));
37 connect(ui->pushButton_9,SIGNAL(clicked()),this,SLOT(clickI()));
41 setStyleSheet("CrazyButton {"
43 "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);"
46 "border-style: solid;"
57 "QPushButton:pressed {"
62 void MainWindow::sbagliato(int score){
64 if(bestScore<= score){
67 QString sscore("This is Best Score ");
68 sscore.append(QString::number(score));
69 QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
73 QString sscore("Your Score: ");
74 sscore.append(QString::number(score));
75 sscore.append("\n Best score: ");
76 sscore.append(QString::number(bestScore));
77 QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
85 void MainWindow::disableAll(){
86 ui->pushButton->setEnabled(false);
87 ui->pushButton_2->setEnabled(false);
88 ui->pushButton_3->setEnabled(false);
89 ui->pushButton_4->setEnabled(false);
90 ui->pushButton_5->setEnabled(false);
91 ui->pushButton_6->setEnabled(false);
92 ui->pushButton_7->setEnabled(false);
93 ui->pushButton_8->setEnabled(false);
94 ui->pushButton_9->setEnabled(false);
95 statusLed->setValue(true);
98 void MainWindow::enableAll(){
99 ui->pushButton->setEnabled(true);
100 ui->pushButton_2->setEnabled(true);
101 ui->pushButton_3->setEnabled(true);
102 ui->pushButton_4->setEnabled(true);
103 ui->pushButton_5->setEnabled(true);
104 ui->pushButton_6->setEnabled(true);
105 ui->pushButton_7->setEnabled(true);
106 ui->pushButton_8->setEnabled(true);
107 ui->pushButton_9->setEnabled(true);
108 statusLed->setValue(false);
112 void MainWindow::cliccaBottone(int id)
116 if(ui->pushButton->getStateColor())
117 QSound::play("sounds/dog.wav");
118 ui->pushButton->changeColor();
121 if(ui->pushButton_2->getStateColor())
122 QSound::play("sounds/cat.wav");
123 ui->pushButton_2->changeColor();
126 if(ui->pushButton_3->getStateColor())
127 QSound::play("sounds/cow.wav");
128 ui->pushButton_3->changeColor();
131 if(ui->pushButton_4->getStateColor())
132 QSound::play("sounds/duck.wav");
133 ui->pushButton_4->changeColor();
136 if(ui->pushButton_5->getStateColor())
137 QSound::play("sounds/goat.wav");
138 ui->pushButton_5->changeColor();
141 if(ui->pushButton_6->getStateColor())
142 QSound::play("sounds/donkey.wav");
143 ui->pushButton_6->changeColor();
146 if(ui->pushButton_7->getStateColor())
147 QSound::play("sounds/crow.wav");
148 ui->pushButton_7->changeColor();
151 if(ui->pushButton_8->getStateColor())
152 QSound::play("sounds/rosteer.wav");
153 ui->pushButton_8->changeColor();
156 if(ui->pushButton_9->getStateColor())
157 QSound::play("sounds/bleeeh.wav");
158 ui->pushButton_9->changeColor();
163 MainWindow::~MainWindow()
167 void MainWindow::clickA(){
168 QSound::play("sounds/dog.wav");
169 emit cliccatoIlBottone(0);
173 void MainWindow::clickB(){
174 QSound::play("sounds/cat.wav");
175 emit cliccatoIlBottone(1);
178 void MainWindow::clickC(){
179 QSound::play("sounds/cow.wav");
180 emit cliccatoIlBottone(2);
183 void MainWindow::clickD(){
184 QSound::play("sounds/duck.wav");
185 emit cliccatoIlBottone(3);
188 void MainWindow::clickE(){
189 QSound::play("sounds/goat.wav");
190 emit cliccatoIlBottone(4);
193 void MainWindow::clickF(){
194 QSound::play("sounds/donkey.wav");
195 emit cliccatoIlBottone(5);
198 void MainWindow::clickG(){
199 QSound::play("sounds/crow.wav");
200 emit cliccatoIlBottone(6);
203 void MainWindow::clickH(){
204 QSound::play("sounds/rosteer.wav");
205 emit cliccatoIlBottone(7);
208 void MainWindow::clickI(){
209 QSound::play("sounds/bleeeh.wav");
210 emit cliccatoIlBottone(8);
215 void MainWindow::changeEvent(QEvent *e)
217 QMainWindow::changeEvent(e);
219 case QEvent::LanguageChange:
220 ui->retranslateUi(this);
226 void MainWindow::writeSettings()
228 QSettings settings("Emmynet Inc.", "QMemory");
229 settings.setValue("bestscore",bestScore);
233 void MainWindow::readSettings()
235 QSettings settings("Emmynet Inc.", "QMemory");
236 bestScore=(settings.value("bestscore").toInt());