ui/views/slideshowview/src/glxslideshowview.cpp
changeset 29 2c833fc9e98f
parent 26 c499df2dbb33
child 33 1ee2af37811f
equal deleted inserted replaced
26:c499df2dbb33 29:2c833fc9e98f
    60     }
    60     }
    61 }
    61 }
    62 
    62 
    63 void GlxSlideShowView::activate()
    63 void GlxSlideShowView::activate()
    64 {
    64 {
    65     //To:Do error handling
       
    66     TRACER("GlxSlideShowView::activate()");
    65     TRACER("GlxSlideShowView::activate()");
    67     mWindow->setOrientation(Qt::Horizontal, false);
    66     mWindow->setOrientation(Qt::Horizontal, true);  // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP
    68 
    67 
    69     //finds the widgets from the docml
    68     //finds the widgets from the docml
    70     loadObjects();
    69     loadObjects();
    71     setItemVisible(Hb::AllItems, false) ;
    70     setItemVisible(Hb::AllItems, false) ;
    72     connect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) ); 
    71     connect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) ); 
    73     connect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) );
    72     connect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) );
    74     
    73     
    75     if (!mTvOutWrapper){
    74     if (!mTvOutWrapper) {
    76         mTvOutWrapper = new GlxTvOutWrapper();
    75         mTvOutWrapper = new GlxTvOutWrapper();
    77         }
    76     }
    78 }
    77 }
    79 
    78 
    80 void GlxSlideShowView::deActivate()
    79 void GlxSlideShowView::deActivate()
    81 {
    80 {
    82     TRACER("GlxSlideShowView::deActivate()");
    81     TRACER("GlxSlideShowView::deActivate()");
    83     mWindow->unsetOrientation(false);
    82     mWindow->unsetOrientation(true);         // Actually it is animation false, Hack for Bug in Media wall -todo- need to Address this ASAP
    84     setItemVisible(Hb::AllItems , TRUE);
    83     
       
    84     setItemVisible( Hb::AllItems , TRUE );
    85     disconnect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) );
    85     disconnect( mSlideShowWidget, SIGNAL( slideShowEvent( GlxSlideShowEvent ) ), this, SLOT( slideShowEventHandler( GlxSlideShowEvent ) ) );
    86     disconnect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) );
    86     disconnect( mSlideShowWidget, SIGNAL( indexchanged() ), this, SLOT( indexchanged() ) );
    87     //Delete the Items in the slide show widget
    87     //Delete the Items in the slide show widget
    88     mSlideShowWidget->cleanUp();
    88     mSlideShowWidget->cleanUp();
    89     mModel = NULL;
    89     
    90     if (mTvOutWrapper){
    90     if (mTvOutWrapper){
    91         delete mTvOutWrapper;
    91         delete mTvOutWrapper;
    92         mTvOutWrapper = NULL;
    92         mTvOutWrapper = NULL;
    93     }
    93     }
    94 }
    94 }
    95 
    95 
    96 void GlxSlideShowView::setModel(QAbstractItemModel *model)
    96 void GlxSlideShowView::setModel(QAbstractItemModel *model)
    97 {
    97 {
    98     TRACER("GlxSlideShowView::setModel()");
    98     TRACER("GlxSlideShowView::setModel()");
    99     GLX_LOG_INFO2("GlxSlideShowView::setModel() model %u mModel %u", model, mModel);
    99     GLX_LOG_INFO2("GlxSlideShowView::setModel() model %u mModel %u", model, mModel);
   100     if ( mModel == model ) {
   100     if ( mModel != model ) {
   101         return ;
   101     
   102     }
   102     modelDestroyed();
   103     mModel = model;
   103     mModel = model;
       
   104     connect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
       
   105     } 
       
   106     setModelContext();    
   104     mSlideShowWidget->setModel(mModel);
   107     mSlideShowWidget->setModel(mModel);
       
   108     
   105     if (mTvOutWrapper){
   109     if (mTvOutWrapper){
   106         mTvOutWrapper->setModel(mModel);
   110         mTvOutWrapper->setModel(mModel);
   107         mTvOutWrapper->setImagetoHDMI();
   111         mTvOutWrapper->setImagetoHDMI();
   108         }
   112     }
   109 }
   113 }
   110 
   114 
   111 void GlxSlideShowView::setModelContext()
   115 void GlxSlideShowView::setModelContext()
   112 {
   116 {
   113     TRACER("GlxSlideShowView::setModelContext()");
   117     TRACER("GlxSlideShowView::setModelContext()");
   114     if ( mModel && mWindow ) {
   118     if ( mModel && mWindow ) {
   115         GLX_LOG_INFO1("GlxSlideShowView::setModelContext %d", mWindow->orientation() );
   119         GLX_LOG_INFO1("GlxSlideShowView::setModelContext %d", mWindow->orientation() );
   116     
   120     
   117         if ( mWindow->orientation() == Qt::Horizontal ) {
   121             mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole );
       
   122       /* if ( mWindow->orientation() == Qt::Horizontal ) {
   118             mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole );
   123             mModel->setData(QModelIndex(), (int)GlxContextLsFs, GlxContextRole );
   119         }
   124         }
   120         else {
   125         else {
   121             mModel->setData(QModelIndex(), (int)GlxContextPtFs, GlxContextRole );
   126             mModel->setData(QModelIndex(), (int)GlxContextPtFs, GlxContextRole );
   122         }
   127         } */
   123     }
   128     }
   124 }
   129 }
   125 
   130 
   126 void GlxSlideShowView::orientationChanged(Qt::Orientation)
   131 void GlxSlideShowView::orientationChanged(Qt::Orientation)
   127 {
   132 {
   156 {
   161 {
   157     TRACER("GlxSlideShowView::indexchanged()");
   162     TRACER("GlxSlideShowView::indexchanged()");
   158     if (mTvOutWrapper){
   163     if (mTvOutWrapper){
   159         mTvOutWrapper->setImagetoHDMI();
   164         mTvOutWrapper->setImagetoHDMI();
   160     }
   165     }
   161 
   166 }
       
   167 
       
   168 void GlxSlideShowView::modelDestroyed()
       
   169 {
       
   170     if ( mModel ) {
       
   171         disconnect( mModel, SIGNAL( destroyed() ), this, SLOT( modelDestroyed() ) );
       
   172         mModel = NULL; 
       
   173     }
   162 }
   174 }
   163 
   175 
   164 bool GlxSlideShowView::event(QEvent *event)
   176 bool GlxSlideShowView::event(QEvent *event)
   165 {
   177 {
   166     TRACER("GlxSlideShowView::event()");
   178     TRACER("GlxSlideShowView::event()");
   167     GLX_LOG_INFO1("GlxSlideShowView::event() %d event type", event->type());
   179     GLX_LOG_INFO1("GlxSlideShowView::event() %d event type", event->type());
   168     if ( event->type() ==  QEvent::WindowActivate && mSlideShowWidget) {
   180     if ( event->type() ==  QEvent::WindowActivate && mSlideShowWidget) {
       
   181         if (mTvOutWrapper){
       
   182         mTvOutWrapper->setToNativeMode();    
       
   183         }
   169         mSlideShowWidget->startSlideShow();
   184         mSlideShowWidget->startSlideShow();
   170     }
   185     }
   171 
   186 
   172     if ( event->type() ==  QEvent::WindowDeactivate && mSlideShowWidget) {
   187     if ( event->type() ==  QEvent::WindowDeactivate && mSlideShowWidget) {
       
   188         if (mTvOutWrapper){
       
   189         mTvOutWrapper->setToCloningMode();    
       
   190         }
   173        mSlideShowWidget->stopSlideShow();
   191        mSlideShowWidget->stopSlideShow();
   174     }
   192     }
   175     return HbView::event(event);
   193     return HbView::event(event);
   176 }
   194 }
   177 
   195