X-Git-Url: http://git.maemo.org/git/?p=colorflood;a=blobdiff_plain;f=colorflood%2Fsrc%2Fwindow.cpp;h=ef4f63d9075f14c1fcbcd933b6620ebcb2bc92cd;hp=d76ec4af5acdb1784adbcb878b9c6ea83ceaaa81;hb=fa21544239a906286a6113ea442f84a23b247e13;hpb=79829f32441be520b96f26c5a689ab3f83e68890 diff --git a/colorflood/src/window.cpp b/colorflood/src/window.cpp index d76ec4a..ef4f63d 100644 --- a/colorflood/src/window.cpp +++ b/colorflood/src/window.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include "window.hpp" #include "colorbuttons.hpp" #include "field.hpp" @@ -24,8 +25,7 @@ Window::Window () : QWidget() { setWindowTitle("Color Flood"); - - setWindowState(windowState() | Qt::WindowFullScreen); + setWindowIcon(QIcon(":/images/icon_48x48.png")); new FullScreenExitButton(this); @@ -39,6 +39,7 @@ Window::Window () SLOT(flood(int))); turnsLabel = new QLabel(this); + turnsLabel->setAlignment(Qt::AlignRight); QObject::connect(field, SIGNAL(turnsChanged(int)), @@ -47,24 +48,53 @@ Window::Window () updateTurns(turns); + QHBoxLayout *secondary = new QHBoxLayout; + QPushButton *toggleFS = new QPushButton(QPixmap("/usr/share/icons/hicolor/64x64/hildon/general_fullsize"), tr("Toggle fullscreen"), this); + QObject::connect(toggleFS, SIGNAL(pressed()), this, SLOT(toggleFullscreen())); + QPushButton *newGame = new QPushButton(tr("New game"), this); + QObject::connect(newGame, SIGNAL(pressed()), field, SLOT(randomize())); + + secondary->addWidget(newGame); + secondary->addWidget(toggleFS); + QVBoxLayout *vl = new QVBoxLayout; + vl->addWidget(colorButtons); + vl->setAlignment(colorButtons, Qt::AlignRight | Qt::AlignTop); vl->addWidget(turnsLabel); - vl->setAlignment(turnsLabel, Qt::AlignTop); + vl->setAlignment(turnsLabel, Qt::AlignRight | Qt::AlignTop); + vl->addLayout(secondary); + vl->setAlignment(secondary, Qt::AlignRight | Qt::AlignBottom); QHBoxLayout *hl = new QHBoxLayout; - hl->addWidget(colorButtons); - hl->setAlignment(colorButtons, Qt::AlignLeft); hl->addWidget(field); - hl->setAlignment(field, Qt::AlignRight); + hl->setAlignment(field, Qt::AlignLeft); + hl->addLayout(vl); + + setLayout(hl); + + QSettings settings; - vl->addLayout(hl); - setLayout(vl); + if (settings.value("fullscreen", true).toBool()) + showFullScreen(); } void Window::updateTurns (int turns) { /*: number of turns */ - turnsLabel->setText(tr("Turns: %1/%2") + turnsLabel->setText(tr("Turns: %1/%2") .arg(turns) .arg(field->getNumTurnsOfSize(field->getSize()))); } + +void Window::toggleFullscreen () +{ + bool isFullscreen = windowState() & Qt::WindowFullScreen; + + QSettings settings; + settings.setValue("fullscreen", !isFullscreen); + + if (isFullscreen) + showNormal(); + else + showFullScreen(); +}