KompareSplitter::KompareSplitter( ViewSettings *settings, QWidget * parent, const char *name) : QSplitter( Horizontal, parent, name ), m_settings( settings ) { QFrame *scrollFrame = new QFrame( parent, "scrollFrame" ); reparent( scrollFrame, *(new QPoint()), false ); // Set up the scrollFrame scrollFrame->setFrameStyle( QFrame::NoFrame | QFrame::Plain ); scrollFrame->setLineWidth(scrollFrame->style().pixelMetric(QStyle::PM_DefaultFrameWidth)); QGridLayout *pairlayout = new QGridLayout(scrollFrame, 2, 2, 0); m_vScroll = new QScrollBar( QScrollBar::Vertical, scrollFrame ); pairlayout->addWidget( m_vScroll, 0, 1 ); m_hScroll = new QScrollBar( QScrollBar::Horizontal, scrollFrame ); pairlayout->addWidget( m_hScroll, 1, 0 ); new KompareListViewFrame(true, m_settings, this, "source"); new KompareListViewFrame(false, m_settings, this, "destination"); pairlayout->addWidget( this, 0, 0 ); // set up our looks setFrameStyle( QFrame::StyledPanel | QFrame::Sunken ); setLineWidth( style().pixelMetric( QStyle::PM_DefaultFrameWidth ) ); setHandleWidth(50); setChildrenCollapsible( false ); setFrameStyle( QFrame::NoFrame ); setSizePolicy( QSizePolicy (QSizePolicy::Ignored, QSizePolicy::Ignored )); setOpaqueResize( true ); setFocusPolicy( QWidget::WheelFocus ); connect( this, SIGNAL(configChanged()), SLOT(slotConfigChanged()) ); connect( this, SIGNAL(configChanged()), SLOT(slotDelayedRepaintHandles()) ); connect( this, SIGNAL(configChanged()), SLOT(slotDelayedUpdateScrollBars()) ); // scrolling connect( m_vScroll, SIGNAL(valueChanged(int)), SLOT(scrollToId(int)) ); connect( m_vScroll, SIGNAL(sliderMoved(int)), SLOT(scrollToId(int)) ); connect( m_hScroll, SIGNAL(valueChanged(int)), SIGNAL(setXOffset(int)) ); connect( m_hScroll, SIGNAL(sliderMoved(int)), SIGNAL(setXOffset(int)) ); m_scrollTimer=new QTimer(); restartTimer = false; connect (m_scrollTimer, SIGNAL(timeout()), SLOT(timerTimeout()) ); // we need to receive childEvents now so that d->list is ready for when // slotSetSelection(...) arrives kapp->sendPostedEvents(this, QEvent::ChildInserted); // init stuff slotUpdateScrollBars(); }