src/hbcore/gui/hbview.cpp
changeset 21 4633027730f5
parent 6 c3690ec91ef8
child 23 e6ad4ef83b23
equal deleted inserted replaced
7:923ff622b8b9 21:4633027730f5
   269     delete toolBar;
   269     delete toolBar;
   270     delete dockWidget;
   270     delete dockWidget;
   271 }
   271 }
   272 
   272 
   273 /*!
   273 /*!
       
   274     \internal
       
   275  */
       
   276 void HbViewPrivate::delayedConstruction()
       
   277 {
       
   278    //view content is drawn already on screen.Try to
       
   279    //create the content of options menu now.
       
   280     if (menu) {
       
   281         HbMenuPrivate::d_ptr(menu)->delayedLayout();
       
   282     }
       
   283 }
       
   284 
       
   285 /*!
   274     Constructs a view with the given \a parent.
   286     Constructs a view with the given \a parent.
   275 */
   287 */
   276 HbView::HbView(QGraphicsItem *parent) :
   288 HbView::HbView(QGraphicsItem *parent) :
   277     HbWidget(*new HbViewPrivate, parent)
   289     HbWidget(*new HbViewPrivate, parent)
   278 {
   290 {
   406 */
   418 */
   407 HbToolBar *HbView::toolBar() const
   419 HbToolBar *HbView::toolBar() const
   408 {
   420 {
   409     Q_D(const HbView);
   421     Q_D(const HbView);
   410     if (!d->toolBar) {
   422     if (!d->toolBar) {
   411         HbView *that = const_cast<HbView *>(this);
   423         HbViewPrivate* p = const_cast<HbViewPrivate*>(d);
   412         that->setToolBar(new HbToolBar);
   424         p->toolBar = new HbToolBar;
       
   425         // duplicates functionality of HbMainWindowPrivate::_q_viewToolBarChanged as a perf optimisation
       
   426         if ( mainWindow() && mainWindow()->currentView() == this ) {
       
   427             HbMainWindowPrivate::d_ptr(mainWindow())->addToolBarToLayout(p->toolBar);
       
   428         }
       
   429 
   413     }
   430     }
   414     return d->toolBar;
   431     return d->toolBar;
   415 }
   432 }
   416 
   433 
   417 /*!
   434 /*!
   732             HbEffect::start(statusBar, "statusbar", "disappear", this, "statusBarEffectFinished");
   749             HbEffect::start(statusBar, "statusbar", "disappear", this, "statusBarEffectFinished");
   733 #endif // HB_EFFECTS
   750 #endif // HB_EFFECTS
   734             statusBarAnimating = true;
   751             statusBarAnimating = true;
   735         } else if (!(d->mViewFlags & HbView::ViewStatusBarHidden) && (originalFlags & HbView::ViewStatusBarHidden)) {
   752         } else if (!(d->mViewFlags & HbView::ViewStatusBarHidden) && (originalFlags & HbView::ViewStatusBarHidden)) {
   736 #ifdef HB_EFFECTS
   753 #ifdef HB_EFFECTS
       
   754             statusBar->setVisible(true);
   737             HbEffect::start(statusBar, "statusbar", "appear", this, "statusBarEffectFinished");
   755             HbEffect::start(statusBar, "statusbar", "appear", this, "statusBarEffectFinished");
   738 #endif // HB_EFFECTS
   756 #endif // HB_EFFECTS
   739             statusBarAnimating = true;
   757             statusBarAnimating = true;
   740         }
   758         }
   741 
   759 
   747             HbEffect::start(titleBar, "titlebar", "disappear", this, "titleBarEffectFinished");
   765             HbEffect::start(titleBar, "titlebar", "disappear", this, "titleBarEffectFinished");
   748 #endif // HB_EFFECTS
   766 #endif // HB_EFFECTS
   749             titleBarAnimating = true;
   767             titleBarAnimating = true;
   750         } else if (!(d->mViewFlags & HbView::ViewTitleBarHidden) && (originalFlags & HbView::ViewTitleBarHidden)) {
   768         } else if (!(d->mViewFlags & HbView::ViewTitleBarHidden) && (originalFlags & HbView::ViewTitleBarHidden)) {
   751 #ifdef HB_EFFECTS
   769 #ifdef HB_EFFECTS
       
   770             titleBar->setVisible(true);
   752             HbEffect::start(titleBar, "titlebar", "appear", this, "titleBarEffectFinished");
   771             HbEffect::start(titleBar, "titlebar", "appear", this, "titleBarEffectFinished");
   753 #endif // HB_EFFECTS
   772 #endif // HB_EFFECTS
   754             titleBarAnimating = true;
   773             titleBarAnimating = true;
   755         }
   774         }
   756 
   775 
   757         if (!statusBarAnimating) {
   776         if (!statusBarAnimating && !titleBarAnimating) {
   758             statusBar->setVisible(!(d->mViewFlags & HbView::ViewStatusBarHidden));
   777             statusBar->setVisible(!(d->mViewFlags & HbView::ViewStatusBarHidden));
   759             statusBar->propertiesChanged();
   778             statusBar->propertiesChanged();
   760         }
   779         }
   761         if (!titleBarAnimating) {
   780         if (!titleBarAnimating && !statusBarAnimating) {
   762             titleBar->setVisible(!(d->mViewFlags & HbView::ViewTitleBarHidden));
   781             titleBar->setVisible(!(d->mViewFlags & HbView::ViewTitleBarHidden));
   763             if (d->mNavigationActionSet) {
   782             if (d->mNavigationActionSet) {
   764                 titleBar->setNavigationAction(d->mNavigationAction);
   783                 titleBar->setNavigationAction(d->mNavigationAction);
   765             } else {
   784             } else {
   766                 titleBar->setDefaultNavigationAction();
   785                 titleBar->setDefaultNavigationAction();
   808 \sa setViewFlags()
   827 \sa setViewFlags()
   809 */
   828 */
   810 void HbView::setTitleBarVisible(bool visible)
   829 void HbView::setTitleBarVisible(bool visible)
   811 {
   830 {
   812     Q_D(HbView);
   831     Q_D(HbView);
       
   832 
   813     if (visible) {
   833     if (visible) {
   814         setViewFlags(d->mViewFlags &~ HbView::ViewTitleBarHidden);
   834         setViewFlags(d->mViewFlags &~ HbView::ViewTitleBarHidden);        
   815     } else {
   835     } else {
   816         setViewFlags(d->mViewFlags | HbView::ViewTitleBarHidden);
   836         setViewFlags(d->mViewFlags | HbView::ViewTitleBarHidden);
   817     }
   837     }
   818 }
   838 }
   819 
   839