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()));
39 ui->pushButton->setShortcut(QKeySequence("1"));
40 ui->pushButton_2->setShortcut(QKeySequence("2"));
41 ui->pushButton_3->setShortcut(QKeySequence("3"));
42 ui->pushButton_4->setShortcut(QKeySequence("4"));
43 ui->pushButton_5->setShortcut(QKeySequence("5"));
44 ui->pushButton_6->setShortcut(QKeySequence("6"));
45 ui->pushButton_7->setShortcut(QKeySequence("7"));
46 ui->pushButton_8->setShortcut(QKeySequence("8"));
47 ui->pushButton_9->setShortcut(QKeySequence("9"));
51 setStyleSheet("CrazyButton {"
53 "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);"
56 "border-style: solid;"
67 "QPushButton:pressed {"
71 setWindowTitle(tr("QMemory"));
73 void MainWindow::sbagliato(int score){
75 if(bestScore<= score){
78 QString sscore("This is Best Score ");
79 sscore.append(QString::number(score));
80 QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
86 QString sscore("Your Score: ");
87 sscore.append(QString::number(score));
88 sscore.append("\n Best score: ");
89 sscore.append(QString::number(bestScore));
90 QMessageBox::warning(this, tr("End Game"),sscore,QMessageBox::Escape);
98 void MainWindow::disableAll(){
99 ui->pushButton->setEnabled(false);
100 ui->pushButton_2->setEnabled(false);
101 ui->pushButton_3->setEnabled(false);
102 ui->pushButton_4->setEnabled(false);
103 ui->pushButton_5->setEnabled(false);
104 ui->pushButton_6->setEnabled(false);
105 ui->pushButton_7->setEnabled(false);
106 ui->pushButton_8->setEnabled(false);
107 ui->pushButton_9->setEnabled(false);
108 statusLed->setValue(true);
111 void MainWindow::enableAll(){
112 ui->pushButton->setEnabled(true);
113 ui->pushButton_2->setEnabled(true);
114 ui->pushButton_3->setEnabled(true);
115 ui->pushButton_4->setEnabled(true);
116 ui->pushButton_5->setEnabled(true);
117 ui->pushButton_6->setEnabled(true);
118 ui->pushButton_7->setEnabled(true);
119 ui->pushButton_8->setEnabled(true);
120 ui->pushButton_9->setEnabled(true);
121 statusLed->setValue(false);
125 void MainWindow::cliccaBottone(int id)
129 if(ui->pushButton->getStateColor())
130 QSound::play("sounds/dog.wav");
131 ui->pushButton->changeColor();
134 if(ui->pushButton_2->getStateColor())
135 QSound::play("sounds/cat.wav");
136 ui->pushButton_2->changeColor();
139 if(ui->pushButton_3->getStateColor())
140 QSound::play("sounds/cow.wav");
141 ui->pushButton_3->changeColor();
144 if(ui->pushButton_4->getStateColor())
145 QSound::play("sounds/duck.wav");
146 ui->pushButton_4->changeColor();
149 if(ui->pushButton_5->getStateColor())
150 QSound::play("sounds/goat.wav");
151 ui->pushButton_5->changeColor();
154 if(ui->pushButton_6->getStateColor())
155 QSound::play("sounds/donkey.wav");
156 ui->pushButton_6->changeColor();
159 if(ui->pushButton_7->getStateColor())
160 QSound::play("sounds/crow.wav");
161 ui->pushButton_7->changeColor();
164 if(ui->pushButton_8->getStateColor())
165 QSound::play("sounds/rosteer.wav");
166 ui->pushButton_8->changeColor();
169 if(ui->pushButton_9->getStateColor())
170 QSound::play("sounds/bleeeh.wav");
171 ui->pushButton_9->changeColor();
176 MainWindow::~MainWindow()
182 void MainWindow::clickA(){
183 QSound::play("sounds/dog.wav");
184 emit cliccatoIlBottone(0);
188 void MainWindow::clickB(){
189 QSound::play("sounds/cat.wav");
190 emit cliccatoIlBottone(1);
194 void MainWindow::clickC(){
195 QSound::play("sounds/cow.wav");
196 emit cliccatoIlBottone(2);
200 void MainWindow::clickD(){
201 QSound::play("sounds/duck.wav");
202 emit cliccatoIlBottone(3);
206 void MainWindow::clickE(){
207 QSound::play("sounds/goat.wav");
208 emit cliccatoIlBottone(4);
212 void MainWindow::clickF(){
213 QSound::play("sounds/donkey.wav");
214 emit cliccatoIlBottone(5);
218 void MainWindow::clickG(){
219 QSound::play("sounds/crow.wav");
220 emit cliccatoIlBottone(6);
224 void MainWindow::clickH(){
225 QSound::play("sounds/rosteer.wav");
226 emit cliccatoIlBottone(7);
230 void MainWindow::clickI(){
231 QSound::play("sounds/bleeeh.wav");
232 emit cliccatoIlBottone(8);
237 void MainWindow::changeEvent(QEvent *e)
239 QMainWindow::changeEvent(e);
241 case QEvent::LanguageChange:
242 ui->retranslateUi(this);
249 void MainWindow::writeSettings()
251 QSettings settings("Emmynet Inc.", "QMemory");
252 settings.setValue("bestscore",bestScore);
256 void MainWindow::readSettings()
258 QSettings settings("Emmynet Inc.", "QMemory");
259 bestScore=(settings.value("bestscore").toInt());