This was wrong to update the EPGItem start times when changing the EPGView start time.
{
//qDebug() << "Channel" << channelNb;
m_channelNb = channelNb;
- setPos( pos().x(), m_channelNb * TRACKS_HEIGHT );
+ updatePos();
}
void EPGItem::setStart( const QDateTime& start )
{
m_start = start;
- int x = m_view->startTime().secsTo( start );
- setPos( x, pos().y() );
+ updatePos();
}
void EPGItem::setDuration( int duration )
m_current = current;
}
+void EPGItem::updatePos()
+{
+ int x = m_view->startTime().secsTo( m_start );
+ setPos( x, m_channelNb * TRACKS_HEIGHT );
+}
+
void EPGItem::focusInEvent( QFocusEvent * event )
{
EPGEvent *evEPG = new EPGEvent( m_name );
void setDescription( const QString& description );
void setShortDescription( const QString& shortDescription );
void setCurrent( bool current );
+ void updatePos();
protected:
virtual void focusInEvent( QFocusEvent * event );
{
QList<QGraphicsItem*> itemList = items();
- int diff = startTime.secsTo( m_startTime );
+ m_startTime = startTime;
for ( int i = 0; i < itemList.count(); ++i )
{
EPGItem* item = qgraphicsitem_cast<EPGItem*>( itemList.at( i ) );
if ( !item ) continue;
- item->setStart( item->start().addSecs( diff ) );
+ item->setStart( item->start() );
}
- m_startTime = startTime;
-
// Our start time has changed
emit startTimeChanged( startTime );
}