bool InformationPanelContent::eventFilter(QObject* obj, QEvent* event) { switch (event->type()) { case QEvent::Resize: { QResizeEvent* resizeEvent = static_cast<QResizeEvent*>(event); if (obj == m_metaDataArea->viewport()) { // The size of the meta text area has changed. Adjust the fixed // width in a way that no horizontal scrollbar needs to be shown. m_metaDataWidget->setFixedWidth(resizeEvent->size().width()); } else if (obj == parent()) { adjustWidgetSizes(resizeEvent->size().width()); } break; } case QEvent::Polish: adjustWidgetSizes(parentWidget()->width()); break; case QEvent::FontChange: m_metaDataWidget->setFont(QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont)); break; default: break; } return QWidget::eventFilter(obj, event); }
bool BrowserBar::event( QEvent *e ) { switch( e->type() ) { case QEvent::LayoutHint: //FIXME include browserholder width setMinimumWidth( m_tabBar->minimumWidth() + m_divider->minimumWidth() + m_browserBox->width() + m_playlistBox->minimumWidth() ); break; case QEvent::Resize: // DEBUG_LINE_INFO m_divider->resize( 0, height() ); //Qt will set width m_tabBar->resize( 0, height() ); //Qt will set width adjustWidgetSizes(); return true; default: ; } return QWidget::event( e ); }
void BrowserBar::showHideBrowser( int index ) { const int prevIndex = m_currentIndex; if( m_currentIndex != -1 ) { ///first we need to hide the currentBrowser m_currentIndex = -1; //to prevent race condition, see CVS history m_browsers[prevIndex]->hide(); m_tabBar->setTab( prevIndex, false ); } if( index == prevIndex ) { ///close the BrowserBar m_browserBox->hide(); m_divider->hide(); adjustWidgetSizes(); } else if( (uint)index < m_browsers.count() ) { ///open up target QWidget* const target = m_browsers[index]; m_currentIndex = index; m_divider->show(); target->show(); target->setFocus(); m_browserBox->show(); m_tabBar->setTab( index, true ); if( prevIndex == -1 ) { // we need to show the browserBox // m_pos dictates how everything will be sized in adjustWidgetSizes() m_pos = m_browserBox->width() + m_tabBar->width(); adjustWidgetSizes(); } } emit browserActivated( index ); }
void BrowserBar::mouseMovedOverSplitter( QMouseEvent *e ) { const uint oldPos = m_pos; const uint newPos = mapFromGlobal( e->globalPos() ).x(); const uint minWidth = m_tabBar->width() + m_browserBox->minimumWidth(); const uint maxWidth = maxBrowserWidth(); if( newPos < minWidth ) m_pos = minWidth; else if( newPos > maxWidth ) m_pos = maxWidth; else m_pos = newPos; if( m_pos != oldPos ) adjustWidgetSizes(); }