1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
8 MainWindow::MainWindow(QWidget *parent) :
10 ui(new Ui::MainWindow)
16 statusLed = new QLed(ui->verticalLayoutWidget);
17 ui->horizontalLayout_4->insertWidget(0,statusLed);
19 statusLed->setOnColor(QLed::Red);
20 statusLed->setOffColor(QLed::Green);
21 //statusLed->setGeometry(QRect(0,0,100,100));
22 statusLed->setShape(QLed::Rounded);
23 setCentralWidget(ui->verticalLayoutWidget);
24 connect(&tread,SIGNAL(generate(int)),this,SLOT(cliccaBottone(int)));
25 connect(&tread,SIGNAL(score(int)),ui->lcdNumber,SLOT(display(int)));
26 connect(&tread,SIGNAL(exit(int)),this,SLOT(sbagliato(int)));
27 connect(&tread,SIGNAL(disableInterface()),this,SLOT(disableAll()));
28 connect(&tread,SIGNAL(enableInterface()),this,SLOT(enableAll()));
29 connect(this,SIGNAL(cliccatoIlBottone(int)),&tread,SLOT(addUserInput(int)));
30 connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(clickA()));
31 connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(clickB()));
32 connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(clickC()));
33 connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(clickD()));
34 connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(clickE()));
35 connect(ui->pushButton_6,SIGNAL(clicked()),this,SLOT(clickF()));
36 connect(ui->pushButton_7,SIGNAL(clicked()),this,SLOT(clickG()));
37 connect(ui->pushButton_8,SIGNAL(clicked()),this,SLOT(clickH()));
38 connect(ui->pushButton_9,SIGNAL(clicked()),this,SLOT(clickI()));
42 setStyleSheet("CrazyButton {"
44 "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);"
47 "border-style: solid;"
58 "QPushButton:pressed {"
62 setWindowTitle(tr("QMemory"));
64 void MainWindow::sbagliato(int score){
66 if(bestScore<= score){
69 QString sscore("This is Best Score ");
70 sscore.append(QString::number(score));
71 QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
75 QString sscore("Your Score: ");
76 sscore.append(QString::number(score));
77 sscore.append("\n Best score: ");
78 sscore.append(QString::number(bestScore));
79 QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
87 void MainWindow::disableAll(){
88 ui->pushButton->setEnabled(false);
89 ui->pushButton_2->setEnabled(false);
90 ui->pushButton_3->setEnabled(false);
91 ui->pushButton_4->setEnabled(false);
92 ui->pushButton_5->setEnabled(false);
93 ui->pushButton_6->setEnabled(false);
94 ui->pushButton_7->setEnabled(false);
95 ui->pushButton_8->setEnabled(false);
96 ui->pushButton_9->setEnabled(false);
97 statusLed->setValue(true);
100 void MainWindow::enableAll(){
101 ui->pushButton->setEnabled(true);
102 ui->pushButton_2->setEnabled(true);
103 ui->pushButton_3->setEnabled(true);
104 ui->pushButton_4->setEnabled(true);
105 ui->pushButton_5->setEnabled(true);
106 ui->pushButton_6->setEnabled(true);
107 ui->pushButton_7->setEnabled(true);
108 ui->pushButton_8->setEnabled(true);
109 ui->pushButton_9->setEnabled(true);
110 statusLed->setValue(false);
114 void MainWindow::cliccaBottone(int id)
118 if(ui->pushButton->getStateColor())
119 QSound::play("sounds/dog.wav");
120 ui->pushButton->changeColor();
123 if(ui->pushButton_2->getStateColor())
124 QSound::play("sounds/cat.wav");
125 ui->pushButton_2->changeColor();
128 if(ui->pushButton_3->getStateColor())
129 QSound::play("sounds/cow.wav");
130 ui->pushButton_3->changeColor();
133 if(ui->pushButton_4->getStateColor())
134 QSound::play("sounds/duck.wav");
135 ui->pushButton_4->changeColor();
138 if(ui->pushButton_5->getStateColor())
139 QSound::play("sounds/goat.wav");
140 ui->pushButton_5->changeColor();
143 if(ui->pushButton_6->getStateColor())
144 QSound::play("sounds/donkey.wav");
145 ui->pushButton_6->changeColor();
148 if(ui->pushButton_7->getStateColor())
149 QSound::play("sounds/crow.wav");
150 ui->pushButton_7->changeColor();
153 if(ui->pushButton_8->getStateColor())
154 QSound::play("sounds/rosteer.wav");
155 ui->pushButton_8->changeColor();
158 if(ui->pushButton_9->getStateColor())
159 QSound::play("sounds/bleeeh.wav");
160 ui->pushButton_9->changeColor();
165 MainWindow::~MainWindow()
171 void MainWindow::clickA(){
172 QSound::play("sounds/dog.wav");
173 emit cliccatoIlBottone(0);
177 void MainWindow::clickB(){
178 QSound::play("sounds/cat.wav");
179 emit cliccatoIlBottone(1);
183 void MainWindow::clickC(){
184 QSound::play("sounds/cow.wav");
185 emit cliccatoIlBottone(2);
189 void MainWindow::clickD(){
190 QSound::play("sounds/duck.wav");
191 emit cliccatoIlBottone(3);
195 void MainWindow::clickE(){
196 QSound::play("sounds/goat.wav");
197 emit cliccatoIlBottone(4);
201 void MainWindow::clickF(){
202 QSound::play("sounds/donkey.wav");
203 emit cliccatoIlBottone(5);
207 void MainWindow::clickG(){
208 QSound::play("sounds/crow.wav");
209 emit cliccatoIlBottone(6);
213 void MainWindow::clickH(){
214 QSound::play("sounds/rosteer.wav");
215 emit cliccatoIlBottone(7);
219 void MainWindow::clickI(){
220 QSound::play("sounds/bleeeh.wav");
221 emit cliccatoIlBottone(8);
226 void MainWindow::changeEvent(QEvent *e)
228 QMainWindow::changeEvent(e);
230 case QEvent::LanguageChange:
231 ui->retranslateUi(this);
238 void MainWindow::writeSettings()
240 QSettings settings("Emmynet Inc.", "QMemory");
241 settings.setValue("bestscore",bestScore);
245 void MainWindow::readSettings()
247 QSettings settings("Emmynet Inc.", "QMemory");
248 bestScore=(settings.value("bestscore").toInt());