phoneuis/bubblemanager2/bubblecore/src/bubblemanager2.cpp
branchGCC_SURGE
changeset 51 f39ed5e045e0
parent 30 ebdbd102c78a
parent 46 bc5a64e5bc3c
equal deleted inserted replaced
40:bab96b7ed1a4 51:f39ed5e045e0
    22 #include <hbstyle.h>
    22 #include <hbstyle.h>
    23 #include <hbiconitem.h>
    23 #include <hbiconitem.h>
    24 #include <hbaction.h>
    24 #include <hbaction.h>
    25 #include <hbstackedlayout.h>
    25 #include <hbstackedlayout.h>
    26 #include <hbmainwindow.h>
    26 #include <hbmainwindow.h>
       
    27 #include <hbstyleloader.h>
    27 
    28 
    28 #include "bubblemanager2.h"
    29 #include "bubblemanager2.h"
    29 #include "bubbleheader.h"
    30 #include "bubbleheader.h"
    30 #include "bubbleconferenceheader.h"
    31 #include "bubbleconferenceheader.h"
    31 #include "bubbleutils.h"
    32 #include "bubbleutils.h"
   143         setViewData(view);
   144         setViewData(view);
   144         view->show();
   145         view->show();
   145     }
   146     }
   146 
   147 
   147     if (!mActiveHeaders.count()) {
   148     if (!mActiveHeaders.count()) {
       
   149         // all calls ended
   148         mBubbleImageManager->releasePixmaps();
   150         mBubbleImageManager->releasePixmaps();
       
   151         releaseNonCachedViews();
   149     }
   152     }
   150 
   153 
   151     // restore mute state
   154     // restore mute state
   152     setPhoneMuted(mMuted);
   155     setPhoneMuted(mMuted);
   153 
   156 
   547         if (muted && !mMuted) {
   550         if (muted && !mMuted) {
   548             mEffectHandler->startEffect(BubbleMutedAppear);
   551             mEffectHandler->startEffect(BubbleMutedAppear);
   549         } else if (!muted && mMuted) {
   552         } else if (!muted && mMuted) {
   550             mEffectHandler->startEffect(BubbleMutedDisappear);
   553             mEffectHandler->startEffect(BubbleMutedDisappear);
   551         } else {
   554         } else {
       
   555             mEffectHandler->cancelAllEffects(mMutedIcon);
   552             mMutedIcon->setVisible(muted);
   556             mMutedIcon->setVisible(muted);
   553         }
   557         }
   554     }
   558     }
   555 
   559 
   556     mMuted = muted;
   560     mMuted = muted;
   923             mBubbleImageManager->unloadImage(imageFileName);
   927             mBubbleImageManager->unloadImage(imageFileName);
   924         }
   928         }
   925     }
   929     }
   926 }
   930 }
   927 
   931 
       
   932 void BubbleManager::releaseNonCachedViews()
       
   933 {
       
   934     static const int viewCount = 3;
       
   935     static const int views[viewCount] = {
       
   936         BubbleWidgetManager::TwoCallsView,
       
   937         BubbleWidgetManager::ThreeCallsView,
       
   938         BubbleWidgetManager::ConferenceView
       
   939     };
       
   940 
       
   941     for (int i=0; i < viewCount; i++ ) {
       
   942         BubbleWidgetManager::View viewid =
       
   943             (BubbleWidgetManager::View)views[i];
       
   944 
       
   945         if (mWidgetManager->isLoaded(viewid)) {
       
   946             QGraphicsWidget* view = mWidgetManager->view(viewid);
       
   947 
       
   948             if (view) {
       
   949                 removeFromLayout(view);
       
   950                 mWidgetManager->releaseView(viewid);
       
   951             }
       
   952         }
       
   953     }
       
   954 }