void ScreenManager::hideScreen() { CatanScreen *screen = qobject_cast<CatanScreen*>(sender()); if( !screen ) return; screen->setVisible(false); disconnect( screen, SIGNAL(SlideFinished()), this, SLOT(hideScreen())); activeScreen->setEnabled(true); }
void ScreenManager::SetScreen(SCREEN_NAME::ENUM screen) { //if( !screenMap.contains(screen) ) //{ // LOG_ERROR( "Tried to set active screen to non-existant screen"); // return; //} CatanScreen *newScreen = screenMap[screen]; Q_ASSERT( newScreen ); if( activeScreen == newScreen ) return; if( activeScreen ) { QPoint deltaPos = newScreen->GetPos() - activeScreen->GetPos(); activeScreen->SlideTo(QPoint(mainWindow->width()*-deltaPos.x(), mainWindow->height()*-deltaPos.y()), ScreenTransitionSpeed //speed ); activeScreen->setEnabled(false); activeScreen->SetActive(false); activeScreen->setFocusPolicy(Qt::NoFocus); newScreen->move(QPoint(mainWindow->width()*deltaPos.x(), mainWindow->height()*deltaPos.y())); newScreen->SlideTo(QPoint(0,0), ScreenTransitionSpeed); connect( activeScreen, SIGNAL(SlideFinished()), this, SLOT(hideScreen()) ); } else { newScreen->move(QPoint(0,0)); newScreen->setEnabled(true); } activeScreen = newScreen; newScreen->SetActive(true); newScreen->setVisible(true); newScreen->setFocusPolicy(Qt::StrongFocus); //newScreen->setFocus(); currentScreen = screen; moveLogo(); newScreen->setFocus(); }
CGadgetListBar::CGadgetListBar(CGadgetsDialog *parent) : QWidget((QWidget*)parent), m_ListBox(this, 40, 0, FRAME_WIDTH-40, FRAME_HEIGHT), m_pGadgetsDlg(parent) { setGeometry(QRect(FRAME_START_X, FRAME_START_Y, FRAME_WIDTH, FRAME_HEIGHT)); // Prepare the animated switch: m_timeLine = new QTimeLine(500, this); m_timeLine->setCurveShape(QTimeLine::EaseInOutCurve); connect(m_timeLine, SIGNAL(frameChanged(int)), SLOT(setBarPosition(int))); connect(m_timeLine, SIGNAL(finished()), SLOT(SlideFinished())); for(int i=0; i < GADGET_NUMS; i++) { m_pListBoxItem[i] = new CGadgetListItem(&m_ListBox, GadgetNameTable[i]); m_ListBox.AddButton(m_pListBoxItem[i]); connect(m_pListBoxItem[i], SIGNAL(ButtonClick(int)), this, SLOT(AddGadget(int))); } }