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(); |