Commit 330016cb authored by Adrien Maglo's avatar Adrien Maglo

Qt/EPG: Fix an EPGitem position issue.

This was wrong to update the EPGItem start times when changing the EPGView start time.
parent 2061b7f0
...@@ -112,14 +112,13 @@ void EPGItem::setChannel( int channelNb ) ...@@ -112,14 +112,13 @@ void EPGItem::setChannel( int channelNb )
{ {
//qDebug() << "Channel" << channelNb; //qDebug() << "Channel" << channelNb;
m_channelNb = channelNb; m_channelNb = channelNb;
setPos( pos().x(), m_channelNb * TRACKS_HEIGHT ); updatePos();
} }
void EPGItem::setStart( const QDateTime& start ) void EPGItem::setStart( const QDateTime& start )
{ {
m_start = start; m_start = start;
int x = m_view->startTime().secsTo( start ); updatePos();
setPos( x, pos().y() );
} }
void EPGItem::setDuration( int duration ) void EPGItem::setDuration( int duration )
...@@ -148,6 +147,12 @@ void EPGItem::setCurrent( bool current ) ...@@ -148,6 +147,12 @@ void EPGItem::setCurrent( bool current )
m_current = current; 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 ) void EPGItem::focusInEvent( QFocusEvent * event )
{ {
EPGEvent *evEPG = new EPGEvent( m_name ); EPGEvent *evEPG = new EPGEvent( m_name );
......
...@@ -52,6 +52,7 @@ public: ...@@ -52,6 +52,7 @@ public:
void setDescription( const QString& description ); void setDescription( const QString& description );
void setShortDescription( const QString& shortDescription ); void setShortDescription( const QString& shortDescription );
void setCurrent( bool current ); void setCurrent( bool current );
void updatePos();
protected: protected:
virtual void focusInEvent( QFocusEvent * event ); virtual void focusInEvent( QFocusEvent * event );
......
...@@ -56,17 +56,15 @@ void EPGView::setStartTime( const QDateTime& startTime ) ...@@ -56,17 +56,15 @@ void EPGView::setStartTime( const QDateTime& startTime )
{ {
QList<QGraphicsItem*> itemList = items(); QList<QGraphicsItem*> itemList = items();
int diff = startTime.secsTo( m_startTime ); m_startTime = startTime;
for ( int i = 0; i < itemList.count(); ++i ) for ( int i = 0; i < itemList.count(); ++i )
{ {
EPGItem* item = qgraphicsitem_cast<EPGItem*>( itemList.at( i ) ); EPGItem* item = qgraphicsitem_cast<EPGItem*>( itemList.at( i ) );
if ( !item ) continue; if ( !item ) continue;
item->setStart( item->start().addSecs( diff ) ); item->setStart( item->start() );
} }
m_startTime = startTime;
// Our start time has changed // Our start time has changed
emit startTimeChanged( startTime ); emit startTimeChanged( startTime );
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment