#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
+#include <QSettings>
const QString ghostImageFilename_ = ":/pix/aave.png";
const QString rockImageFilename_ =":/pix/kari.png";
pVibrateAction_ = new QAction(tr("Vibration effects"),this);
pVibrateAction_->setCheckable(true);
connect(pVibrateAction_,SIGNAL(toggled(bool)),this,SLOT(vibrationActivate(bool)));
+ QSettings settings;
+ pVibrateAction_->setChecked(settings.value("vibration",false).toBool());
pPauseAction_ = new QAction(tr("Pause"),this);
connect(pPauseAction_,SIGNAL(toggled(bool)),this,SLOT(pause(bool)));
+ autopauseTimer.setSingleShot(true);
+ autopauseTimer.setInterval(15*60*1000);
+ connect(&autopauseTimer,SIGNAL(timeout()),this,SLOT(forcePause()));
+
+
}
void SeaScene::setupMap(int ghosts, int rocks, int octopuses, int octopusSpeed)
connect(pOctopus,SIGNAL(droppingGhosts()),pShip,SLOT(dropAllGhosts()));
}
delete pPosition;
+
+
}
void SeaScene::setupMap(Level level)
screenLitKeeper_.keepScreenLit(true);
if (pPausetextItem_)
pPausetextItem_->hide();
+
+ autopauseTimer.start(); //Start counting towards autopause
}
else
qDebug() << "showing pause text";
}
else qDebug() << "No pause text available";
+
+ autopauseTimer.stop(); //No need to count toward autopause when already paused
}
}
else if (pItem == pSettingsItem_)
{
- //Temporary code for settings, likely to be turned into a QML dialog
+ pVibrateAction_->toggle();
- QMessageBox::StandardButton buttonpressed = QMessageBox::question(NULL,"Settings","Do you wish to have vibration effects enabled?", QMessageBox::Yes | QMessageBox::No);
+ QSettings settings;
+ settings.setValue("vibration",pVibrateAction_->isChecked());
- if (buttonpressed == QMessageBox::Yes)
- pVibrateAction_->setChecked(true);
- if (buttonpressed == QMessageBox::No)
- pVibrateAction_->setChecked(false);
+ QString text = pSettingsItem_->toHtml();
+ if (pVibrateAction_->isChecked())
+ text.replace(" on"," off"); //don't remove spaces or you get vibratioff...
+ else
+ text.replace(" off"," on");
+ pSettingsItem_->setHtml(text);
}
else if (pItem == pAboutItem_)
clearSelection();
- //The user propably went to paused state just to access menu, so unpause
- //unless status bar was requested
- if (pItem != pMinimizeItem_)
+ //The user propably went to paused state just to access menu, so unpause unless vibration set (so the user sees its changed)
+ //or unless status bar was requested
+ if (pItem != pMinimizeItem_ || pItem != pSettingsItem)
+
{
pPauseAction_->setChecked(false);
}
prepareForMenu(pRestartLevelItem_);
pSettingsItem_ = new QGraphicsTextItem;
- pSettingsItem_->setHtml(tr("Vibration <br> effects").prepend(menufonthtml));
+ QString vibraText(tr("Vibration <br> effects "));
+ QString statusText;
+ if (pVibrateAction_->isChecked())
+ {
+ statusText = "off";
+ }
+ else
+ {
+ statusText = "on";
+ }
+ vibraText.append(statusText);
+ pSettingsItem_->setHtml(vibraText.prepend(menufonthtml));
prepareForMenu(pSettingsItem_);
pAboutItem_ = new QGraphicsTextItem;
setupMap(levelList_.value(currentLevel_)); //value() returns default constructor Level if index is invalid, so no risk of crash
vibrationActivate(pVibrateAction_->isChecked()); //Vibration effects are lost without this
// qDebug() << pVibrateAction_->isChecked();
+ autopauseTimer.start(); //reset counting towards autopause
}