ui/views/gridview/src/glxgridview.cpp
changeset 49 f291796e213d
parent 48 d0b4e67b3a60
child 50 a0f57508af73
child 55 fb37077c270f
equal deleted inserted replaced
48:d0b4e67b3a60 49:f291796e213d
    70 }
    70 }
    71 
    71 
    72 void GlxGridView::activate()
    72 void GlxGridView::activate()
    73 {
    73 {
    74     OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY );
    74     OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY );
    75     if(mUiOnButton == NULL) {
       
    76         mUiOnButton = new HbPushButton(this);
       
    77         connect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool)));
       
    78         mUiOnButton->setGeometry(QRectF(590,0,40,40));
       
    79         mUiOnButton->setZValue(1);
       
    80         mUiOnButton->setIcon(HbIcon(GLXICON_WALL_UI_ON));
       
    81         mUiOnButton->hide();
       
    82     }
       
    83     loadGridView();
    75     loadGridView();
    84 	connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
    76 	connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
    85     if(mCountItem == NULL) {
    77     if(mCountItem == NULL) {
    86         mCountItem = new HbLabel(this);
    78         mCountItem = new HbLabel(this);
       
    79         mCountItem->setObjectName( "Count" );
    87         HbFrameItem *frame = new HbFrameItem(this); //graphics for mCountItem
    80         HbFrameItem *frame = new HbFrameItem(this); //graphics for mCountItem
    88         frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
    81         frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
    89         frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
    82         frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
    90         frame->graphicsItem()->setOpacity(1);
    83         frame->graphicsItem()->setOpacity(1);
    91         mCountItem->setBackgroundItem(frame->graphicsItem(),-1);
    84         mCountItem->setBackgroundItem(frame->graphicsItem(),-1);
   203 {
   196 {
   204     OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" );
   197     OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" );
   205     mWidget->setSelectionMode(HgWidget::MultiSelection);
   198     mWidget->setSelectionMode(HgWidget::MultiSelection);
   206     if (mMainLabel == NULL) {
   199     if (mMainLabel == NULL) {
   207         mMainLabel = new HbLabel("Select Photos", this);
   200         mMainLabel = new HbLabel("Select Photos", this);
       
   201         mMainLabel->setObjectName( "Select Photos");
   208         HbFrameItem *frame1 = new HbFrameItem(this);    //graphics for mMainLabel
   202         HbFrameItem *frame1 = new HbFrameItem(this);    //graphics for mMainLabel
   209         frame1->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   203         frame1->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   210         frame1->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   204         frame1->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   211         frame1->graphicsItem()->setOpacity(1);
   205         frame1->graphicsItem()->setOpacity(1);
   212         mMainLabel->setBackgroundItem(frame1->graphicsItem(),-1);
   206         mMainLabel->setBackgroundItem(frame1->graphicsItem(),-1);
   213     }
   207     }
   214     if (mMarkCheckBox == NULL) {
   208     if (mMarkCheckBox == NULL) {
   215         mMarkCheckBox = new HbCheckBox(GLX_OPTION_MARK_ALL, this);
   209         mMarkCheckBox = new HbCheckBox(GLX_OPTION_MARK_ALL, this);
       
   210         mMarkCheckBox->setObjectName( "CheckB MarkAll" );
   216         HbFrameItem *frame2 = new HbFrameItem(this);    //graphics for mMarkCheckBox
   211         HbFrameItem *frame2 = new HbFrameItem(this);    //graphics for mMarkCheckBox
   217         frame2->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   212         frame2->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   218         frame2->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   213         frame2->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   219         frame2->graphicsItem()->setOpacity(1);
   214         frame2->graphicsItem()->setOpacity(1);
   220         mMarkCheckBox->setBackgroundItem(frame2->graphicsItem(),-1);
   215         mMarkCheckBox->setBackgroundItem(frame2->graphicsItem(),-1);
   221     }
   216     }
   222     if (mCountLabel == NULL) {
   217     if (mCountLabel == NULL) {
   223         mCountLabel = new HbLabel(this);
   218         mCountLabel = new HbLabel(this);
       
   219         mCountLabel->setObjectName( "MarkCount" );
   224         HbFrameItem *frame3 = new HbFrameItem(this);    //graphics for mCountLabel
   220         HbFrameItem *frame3 = new HbFrameItem(this);    //graphics for mCountLabel
   225         frame3->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   221         frame3->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   226         frame3->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   222         frame3->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   227         frame3->graphicsItem()->setOpacity(1);
   223         frame3->graphicsItem()->setOpacity(1);
   228         mCountLabel->setBackgroundItem(frame3->graphicsItem(),-1);
   224         mCountLabel->setBackgroundItem(frame3->graphicsItem(),-1);
   343                     QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle);
   339                     QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle);
   344                     if (variant.toString() != NULL) {
   340                     if (variant.toString() != NULL) {
   345                         showAlbumTitle(variant.toString());
   341                         showAlbumTitle(variant.toString());
   346                     }
   342                     }
   347 				}	
   343 				}	
   348                 else if(XQServiceUtil::isService()){
       
   349                     showAlbumTitle(GLX_FETCHER_TITLE);
       
   350                 }
       
   351             }
   344             }
   352         }
   345         }
   353     }
   346     }
   354 }
   347 }
   355 
   348 
   359     QSize deviceSize = HbDeviceProfile::current().logicalSize();
   352     QSize deviceSize = HbDeviceProfile::current().logicalSize();
   360     QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() )
   353     QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() )
   361                                                                    : QSize( deviceSize.height(), deviceSize.width() )  ;
   354                                                                    : QSize( deviceSize.height(), deviceSize.width() )  ;
   362     if(mAlbumName == NULL) {
   355     if(mAlbumName == NULL) {
   363         mAlbumName = new HbLabel(this);
   356         mAlbumName = new HbLabel(this);
       
   357         mAlbumName->setObjectName( "Album Name" );
   364         HbFrameItem *frame = new HbFrameItem(this); //graphics for mAlbumName
   358         HbFrameItem *frame = new HbFrameItem(this); //graphics for mAlbumName
   365         frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   359         frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   366         frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   360         frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
   367         frame->graphicsItem()->setOpacity(1);
   361         frame->graphicsItem()->setOpacity(1);
   368         mAlbumName->setBackgroundItem(frame->graphicsItem(),-1);
   362         mAlbumName->setBackgroundItem(frame->graphicsItem(),-1);
   412         if(!XQServiceUtil::isService())
   406         if(!XQServiceUtil::isService())
   413             {
   407             {
   414             displayText.append(GLX_GRID_OPEN_CAMERA);
   408             displayText.append(GLX_GRID_OPEN_CAMERA);
   415             }
   409             }
   416         mZeroItemLabel = new HbLabel(displayText, this);
   410         mZeroItemLabel = new HbLabel(displayText, this);
       
   411         mZeroItemLabel->setObjectName( "No Image" );
   417     }
   412     }
   418     mZeroItemLabel->setGeometry(QRectF(0, midHeight - deviceSize.height()/16, screenSize.width(), 3*deviceSize.height()/32));
   413     mZeroItemLabel->setGeometry(QRectF(0, midHeight - deviceSize.height()/16, screenSize.width(), 3*deviceSize.height()/32));
   419     mZeroItemLabel->setAlignment(Qt::AlignHCenter);
   414     mZeroItemLabel->setAlignment(Qt::AlignHCenter);
   420     mZeroItemLabel->show();
   415     mZeroItemLabel->show();
   421     if (mCameraButton == NULL) {
   416     if (mCameraButton == NULL) {
   422         mCameraButton = new HbPushButton(this);
   417         mCameraButton = new HbPushButton(this);
       
   418         mCameraButton->setObjectName( "Camera Button" );
   423         mCameraButton->setIcon(HbIcon(GLXICON_CAMERA));
   419         mCameraButton->setIcon(HbIcon(GLXICON_CAMERA));
   424         mCameraButton->hide();
   420         mCameraButton->hide();
   425         connect(mCameraButton, SIGNAL(clicked(bool)), this, SLOT(cameraButtonClicked(bool)));
   421         connect(mCameraButton, SIGNAL(clicked(bool)), this, SLOT(cameraButtonClicked(bool)));
   426     }
   422     }
   427     if(!XQServiceUtil::isService())
   423     if(!XQServiceUtil::isService())
   431         }
   427         }
   432 }
   428 }
   433 
   429 
   434 void GlxGridView::populated()
   430 void GlxGridView::populated()
   435 {
   431 {
       
   432       QVariant variant = mModelWrapper->data(mModelWrapper->index(0,0), GlxVisualWindowIndex );
       
   433        int visualIndex = 0;
       
   434        if ( variant.isValid() &&  variant.canConvert<int> () )  {
       
   435            visualIndex = variant.value<int>();
       
   436        }
       
   437        mWidget->scrollTo(mModelWrapper->index(visualIndex,0));
   436     showItemCount();
   438     showItemCount();
   437 }
   439 }
   438 
   440 
   439 void GlxGridView::handleUserAction(qint32 commandId)
   441 void GlxGridView::handleUserAction(qint32 commandId)
   440 {
   442 {
   521         Qt::Orientation orient = mWindow->orientation();
   523         Qt::Orientation orient = mWindow->orientation();
   522         mWindow->viewport()->grabGesture(Qt::PanGesture);
   524         mWindow->viewport()->grabGesture(Qt::PanGesture);
   523         mWindow->viewport()->grabGesture(Qt::TapGesture);
   525         mWindow->viewport()->grabGesture(Qt::TapGesture);
   524         mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture);
   526         mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture);
   525         mWidget = new HgGrid(orient);
   527         mWidget = new HgGrid(orient);
       
   528         mWidget->setObjectName( "Media Wall" );
   526         mWidget->setLongPressEnabled(true);
   529         mWidget->setLongPressEnabled(true);
   527         mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide);
   530         mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide);
   528         setWidget( mWidget );
   531         setWidget( mWidget );
   529         addViewConnection();
   532         addViewConnection();
   530         hideorshowitems(orient);
   533         hideorshowitems(orient);
   540 {
   543 {
   541     if ( mWidget && mWidget->selectionMode() == HgWidget::NoSelection ) {
   544     if ( mWidget && mWidget->selectionMode() == HgWidget::NoSelection ) {
   542         if( orient == Qt::Horizontal ) {
   545         if( orient == Qt::Horizontal ) {
   543 			setItemVisible(Hb::AllItems, FALSE) ;
   546 			setItemVisible(Hb::AllItems, FALSE) ;
   544         	setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
   547         	setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
   545             //To:Do remove it later, currently it is solving the problem of status bar is not
   548             showItemCount();
   546             //visible when tap on the screen first time
   549             if(mUiOnButton == NULL) {
   547         	setItemVisible(Hb::AllItems, FALSE) ;
   550                 mUiOnButton = new HbPushButton(this);
   548         	setViewFlags(viewFlags() | HbView::ViewTitleBarHidden | HbView::ViewStatusBarHidden);
   551                 connect(mUiOnButton, SIGNAL(clicked(bool)), this, SLOT(uiButtonClicked(bool)));
   549         	showItemCount();
   552                 mUiOnButton->setGeometry(QRectF(590,0,40,40));
   550             if (mUiOnButton) {
   553                 mUiOnButton->setZValue(1);
   551                 mUiOnButton->show();
   554                 mUiOnButton->setIcon(HbIcon(GLXICON_WALL_UI_ON));
   552             }
   555                 mUiOnButton->setObjectName( "UiOn Button" );
       
   556             }
       
   557             mUiOnButton->show();
   553         }
   558         }
   554         else {
   559         else {
   555             showHbItems();
   560             showHbItems();
   556         }
   561         }
   557     }
   562     }
   591             mModel->setData(mModel->index(0,0),variant.value<int>(),GlxVisualWindowIndex);
   596             mModel->setData(mModel->index(0,0),variant.value<int>(),GlxVisualWindowIndex);
   592             }
   597             }
   593         }
   598         }
   594 }
   599 }
   595 
   600 
   596 QVariant  GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value)
       
   597     {
       
   598     OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" );
       
   599     static bool isEmit = true;
       
   600     if ( isEmit && change == QGraphicsItem::ItemVisibleHasChanged && value.toBool()  ) {
       
   601     emit actionTriggered( EGlxCmdSetupItem );
       
   602     isEmit = false;
       
   603     }
       
   604     return HbWidget::itemChange(change, value);
       
   605     }
       
   606 
   601 
   607 void GlxGridView::addViewConnection()
   602 void GlxGridView::addViewConnection()
   608 {
   603 {
   609     OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ADDVIEWCONNECTION, "GlxGridView::addViewConnection" );
   604     OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ADDVIEWCONNECTION, "GlxGridView::addViewConnection" );
   610     //connect(mWindow, SIGNAL(aboutToChangeOrientation()), mWidget, SLOT(aboutToChangeOrientation()));
   605     //connect(mWindow, SIGNAL(aboutToChangeOrientation()), mWidget, SLOT(aboutToChangeOrientation()));