From 330016cb7d533bc6c5d7946c66aa26b9944eb830 Mon Sep 17 00:00:00 2001 From: Adrien Maglo Date: Fri, 18 Jun 2010 19:14:40 +0200 Subject: [PATCH] Qt/EPG: Fix an EPGitem position issue. This was wrong to update the EPGItem start times when changing the EPGView start time. --- modules/gui/qt4/components/epg/EPGItem.cpp | 11 ++++++++--- modules/gui/qt4/components/epg/EPGItem.hpp | 1 + modules/gui/qt4/components/epg/EPGView.cpp | 6 ++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/modules/gui/qt4/components/epg/EPGItem.cpp b/modules/gui/qt4/components/epg/EPGItem.cpp index f3fbb1863d..8f0ebc399e 100644 --- a/modules/gui/qt4/components/epg/EPGItem.cpp +++ b/modules/gui/qt4/components/epg/EPGItem.cpp @@ -112,14 +112,13 @@ void EPGItem::setChannel( int channelNb ) { //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 ) @@ -148,6 +147,12 @@ void EPGItem::setCurrent( bool 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 ) { EPGEvent *evEPG = new EPGEvent( m_name ); diff --git a/modules/gui/qt4/components/epg/EPGItem.hpp b/modules/gui/qt4/components/epg/EPGItem.hpp index fd531caefe..04f9909ef3 100644 --- a/modules/gui/qt4/components/epg/EPGItem.hpp +++ b/modules/gui/qt4/components/epg/EPGItem.hpp @@ -52,6 +52,7 @@ public: void setDescription( const QString& description ); void setShortDescription( const QString& shortDescription ); void setCurrent( bool current ); + void updatePos(); protected: virtual void focusInEvent( QFocusEvent * event ); diff --git a/modules/gui/qt4/components/epg/EPGView.cpp b/modules/gui/qt4/components/epg/EPGView.cpp index 5a8da879a4..aa2a6145c2 100644 --- a/modules/gui/qt4/components/epg/EPGView.cpp +++ b/modules/gui/qt4/components/epg/EPGView.cpp @@ -56,17 +56,15 @@ void EPGView::setStartTime( const QDateTime& startTime ) { QList itemList = items(); - int diff = startTime.secsTo( m_startTime ); + m_startTime = startTime; for ( int i = 0; i < itemList.count(); ++i ) { EPGItem* item = qgraphicsitem_cast( 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 ); } -- 2.39.2