void SnakeList::advanceItems(){ goToFirst(); SnakePart* head = get(); switch(head->direction()){ case head->UP: head->setY( head->y() - head->partSize ); break; case head->DOWN: head->setY( head->y() + head->partSize ); break; case head->RIGHT: head->setX( head->x() + head->partSize ); break; case head->LEFT: head->setX( head->x() - head->partSize ); break; } goToLast(); for(int i = count()-1; i > 1; i--){ SnakePart* act = get(); SnakePart* previ = 0; if(current->prev != 0) previ = current->prev->content; if(previ != 0 && act != 0){ act->setDirection(previ->direction()); act->setX(previ->x()); act->setY(previ->y()); act->setZ(previ->getZ()); act->advance(); } goToPrevious(); } }
void Screen::keyReleaseEvent(QKeyEvent *ev) { qDebug() << __PRETTY_FUNCTION__ << __LINE__ << __FILE__; switch (ev->key()) { case key_return: goToPrevious(); default: break; } ev->accept(); }
Screen::Screen(ScreensContainer::ScreenId id , GuiHandler *guiHandler, ScreensContainer *parent) : m_id(id), m_footer(NULL), m_screenManager(parent), m_guiHandler(guiHandler) { const QMetaObject &mo = ScreensContainer::staticMetaObject; int index = mo.indexOfEnumerator("ScreenId"); // watch out during refactorings QMetaEnum metaEnum = mo.enumerator(index); if (this->objectName().isEmpty()) this->setObjectName(metaEnum.valueToKey(id)); this->resize(800, 400); QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); sizePolicy.setHorizontalStretch(0); sizePolicy.setVerticalStretch(0); sizePolicy.setHeightForWidth(this->sizePolicy().hasHeightForWidth()); this->setSizePolicy(sizePolicy); this->setMinimumSize(QSize(800, 400)); // this includes the footer this->setMaximumSize(QSize(1600, 800)); m_mainGrid = new QGridLayout(this); m_mainGrid->setSpacing(0); m_mainGrid->setObjectName("gridLayout"); m_mainGrid->setContentsMargins(0, 0, 5, 0); QPalette palette; QBrush brush1(QColor(245, 245, 245, 255)); brush1.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Active, QPalette::Window, brush1); palette.setBrush(QPalette::Inactive, QPalette::Base, brush1); palette.setBrush(QPalette::Inactive, QPalette::Window, brush1); palette.setBrush(QPalette::Disabled, QPalette::Base, brush1); palette.setBrush(QPalette::Disabled, QPalette::Window, brush1); this->setPalette(palette); this->setAutoFillBackground(true); connect(m_guiHandler, SIGNAL(goToPrevious()), this, SLOT(goToPrevious())); }