695 } |
695 } |
696 Q_D(HbView); |
696 Q_D(HbView); |
697 HbView::HbViewFlags originalFlags(d->mViewFlags); |
697 HbView::HbViewFlags originalFlags(d->mViewFlags); |
698 d->mViewFlags = flags; |
698 d->mViewFlags = flags; |
699 if (mainWindow()) { |
699 if (mainWindow()) { |
|
700 |
|
701 // Statusbar-animation |
700 bool statusBarAnimating = false; |
702 bool statusBarAnimating = false; |
701 HbStatusBar *statusBar = HbMainWindowPrivate::d_ptr(mainWindow())->mStatusBar; |
703 HbStatusBar *statusBar = HbMainWindowPrivate::d_ptr(mainWindow())->mStatusBar; |
702 if ((d->mViewFlags & HbView::ViewStatusBarHidden) && statusBar->isVisible()) { |
704 if ((d->mViewFlags & HbView::ViewStatusBarHidden) && statusBar->isVisible()) { |
703 HbEffect::start(statusBar, "statusbar", "disappear", this, "statusBarEffectFinished"); |
705 #ifdef HB_EFFECTS |
704 statusBarAnimating = true; |
706 HbEffect::start(statusBar, "statusbar", "disappear", this, "statusBarEffectFinished"); |
|
707 #endif // HB_EFFECTS |
|
708 statusBarAnimating = true; |
705 } else if (!(d->mViewFlags & HbView::ViewStatusBarHidden) && !statusBar->isVisible()) { |
709 } else if (!(d->mViewFlags & HbView::ViewStatusBarHidden) && !statusBar->isVisible()) { |
706 HbEffect::start(statusBar, "statusbar", "appear", this, "statusBarEffectFinished"); |
710 #ifdef HB_EFFECTS |
707 statusBarAnimating = true; |
711 HbEffect::start(statusBar, "statusbar", "appear", this, "statusBarEffectFinished"); |
708 } |
712 #endif // HB_EFFECTS |
|
713 statusBarAnimating = true; |
|
714 } |
|
715 |
|
716 // Titlebar-animation |
709 bool titleBarAnimating = false; |
717 bool titleBarAnimating = false; |
710 HbTitleBar *titleBar = HbMainWindowPrivate::d_ptr(mainWindow())->mTitleBar; |
718 HbTitleBar *titleBar = HbMainWindowPrivate::d_ptr(mainWindow())->mTitleBar; |
711 if ((d->mViewFlags & HbView::ViewTitleBarHidden) && titleBar->isVisible()) { |
719 if ((d->mViewFlags & HbView::ViewTitleBarHidden) && titleBar->isVisible()) { |
712 HbEffect::start(titleBar, "titleBar", "disappear", this, "titleBarEffectFinished"); |
720 #ifdef HB_EFFECTS |
713 titleBarAnimating = true; |
721 HbEffect::start(titleBar, "titleBar", "disappear", this, "titleBarEffectFinished"); |
|
722 #endif // HB_EFFECTS |
|
723 titleBarAnimating = true; |
714 } else if (!(d->mViewFlags & HbView::ViewTitleBarHidden) && !titleBar->isVisible()) { |
724 } else if (!(d->mViewFlags & HbView::ViewTitleBarHidden) && !titleBar->isVisible()) { |
715 HbEffect::start(titleBar, "titleBar", "appear", this, "titleBarEffectFinished"); |
725 #ifdef HB_EFFECTS |
716 titleBarAnimating = true; |
726 HbEffect::start(titleBar, "titleBar", "appear", this, "titleBarEffectFinished"); |
717 } |
727 #endif // HB_EFFECTS |
|
728 titleBarAnimating = true; |
|
729 } |
|
730 |
718 if (!statusBarAnimating) { |
731 if (!statusBarAnimating) { |
719 statusBar->setVisible(!(d->mViewFlags & HbView::ViewStatusBarHidden)); |
732 statusBar->setVisible(!(d->mViewFlags & HbView::ViewStatusBarHidden)); |
720 statusBar->propertiesChanged(); |
733 statusBar->propertiesChanged(); |
721 } |
734 } |
722 if (!titleBarAnimating) { |
735 if (!titleBarAnimating) { |
726 } else { |
739 } else { |
727 titleBar->setDefaultNavigationAction(); |
740 titleBar->setDefaultNavigationAction(); |
728 } |
741 } |
729 titleBar->propertiesChanged(); |
742 titleBar->propertiesChanged(); |
730 } |
743 } |
731 |
744 if (d->toolBar) { |
|
745 d->toolBar->updatePrimitives(); |
|
746 } |
|
747 |
|
748 // Statusbar-visibility |
|
749 if ( statusBar->isVisible() ){ |
|
750 d->mVisibleItems |= Hb::StatusBarItem; |
|
751 d->mVisibleItemsSet = true; |
|
752 } else { |
|
753 d->mVisibleItems &= ~Hb::StatusBarItem; |
|
754 d->mVisibleItemsSet = true; |
|
755 } |
|
756 |
|
757 // Titlebar-visibility |
|
758 if (titleBar->isVisible()){ |
|
759 d->mVisibleItems |= Hb::TitleBarItem; |
|
760 d->mVisibleItemsSet = true; |
|
761 }else{ |
|
762 d->mVisibleItems &= ~Hb::TitleBarItem; |
|
763 d->mVisibleItemsSet = true; |
|
764 } |
|
765 |
732 // Repolish the screen if needed |
766 // Repolish the screen if needed |
733 int visibilityFlags = HbView::ViewTitleBarMinimized | HbView::ViewTitleBarFloating |
767 int visibilityFlags = HbView::ViewTitleBarMinimized | HbView::ViewTitleBarFloating |
734 | HbView::ViewTitleBarMinimizable | HbView::ViewStatusBarHidden | HbView::ViewStatusBarFloating; |
768 | HbView::ViewTitleBarMinimizable | HbView::ViewStatusBarHidden | HbView::ViewStatusBarFloating; |
735 if ((d->mViewFlags & visibilityFlags) != (originalFlags & visibilityFlags)) { |
769 if ((d->mViewFlags & visibilityFlags) != (originalFlags & visibilityFlags)) { |
736 HbMainWindowPrivate::d_ptr(mainWindow())->mClippingItem->decoratorVisibilityChanged(); |
770 HbMainWindowPrivate::d_ptr(mainWindow())->mClippingItem->decoratorVisibilityChanged(); |