bool Container::event(QEvent *e) { #ifdef WIN32 if (e->type() == QEvent::WindowActivate) init(); #endif if ((e->type() == QEvent::WindowActivate) || (((e->type() == QEvent::ShowNormal) || (e->type() == QEvent::ShowMaximized)) && isActiveWindow())){ UserWnd *userWnd = m_tabBar->currentWnd(); if (userWnd && !m_bNoRead) userWnd->markAsRead(); if (m_bNoSwitch){ m_bNoSwitch = false; }else{ if ((userWnd == NULL) || !m_tabBar->isBold(userWnd)){ list<UserWnd*> wnds = m_tabBar->windows(); for (list<UserWnd*>::iterator it = wnds.begin(); it != wnds.end(); ++it){ if (m_tabBar->isBold(*it)){ raiseUserWnd(*it); break; } } } } } return QMainWindow::event(e); }
bool Container::event(QEvent *e) { if (e->type() == QEvent::WindowActivate){ UserWnd *userWnd = m_tabBar->currentWnd(); if (userWnd) userWnd->markAsRead(); if (m_bNoSwitch){ m_bNoSwitch = false; }else{ if ((userWnd == NULL) || !m_tabBar->isBold(userWnd)){ list<UserWnd*> wnds = m_tabBar->windows(); for (list<UserWnd*>::iterator it = wnds.begin(); it != wnds.end(); ++it){ if (m_tabBar->isBold(*it)){ raiseUserWnd(*it); break; } } } } } return QMainWindow::event(e); }