diff -r 48060abbbeaf -r b3cee849fa46 screengrabber/src/SGMainView.cpp --- a/screengrabber/src/SGMainView.cpp Thu Aug 19 09:55:38 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ -/* -* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include - -#include -#include "SG.hrh" -#include "SGMainView.h" -#include "SGMainContainer.h" -#include "SGSettingListView.h" -#include "SGDocument.h" -#include "SGModel.h" - -#ifdef SCREENGRABBER_SCREEN_RESOLUTION_CHANGE_SUPPORT - #include - #include - #include - #include -#endif - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CScreenGrabberMainView::ConstructL(const TRect& aRect) -// EPOC two-phased constructor -// --------------------------------------------------------- -// -void CScreenGrabberMainView::ConstructL() - { - BaseConstructL( R_SCREENGRABBER_VIEW1 ); - } - -// --------------------------------------------------------- -// CScreenGrabberMainView::~CScreenGrabberMainView() -// --------------------------------------------------------- -// -CScreenGrabberMainView::~CScreenGrabberMainView() - { - if ( iContainer ) - { - AppUi()->RemoveFromViewStack( *this, iContainer ); - } - - delete iContainer; - } - -// --------------------------------------------------------- -// TUid CScreenGrabberMainView::Id() -// --------------------------------------------------------- -// -TUid CScreenGrabberMainView::Id() const - { - return KMainViewUID; - } - - - -#ifdef SCREENGRABBER_SCREEN_RESOLUTION_CHANGE_SUPPORT - -// --------------------------------------------------------- -// TUid CScreenGrabberMainView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) -// --------------------------------------------------------- -// - -void CScreenGrabberMainView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) - { - if (aResourceId == R_SCREENGRABBER_RESOLUTION_SUBMENU) - { - // generate list of supported screen resolutions - TInt state = 0; - TInt width = 0; - TInt height = 0; - TInt screenMode = 0; - - const CAknLayoutConfig& config = CAknSgcClient::LayoutConfig(); - const CAknLayoutConfig::THardwareStateArray& hwStates = config.HardwareStates(); - const CAknLayoutConfig::TScreenModeArray& screenModes = config.ScreenModes(); - - CWsScreenDevice* screenDevice = CEikonEnv::Static()->ScreenDevice(); - TInt currentHwState = screenDevice->CurrentScreenMode(); - - for (TInt i=0; i menuText; - menuText.Format(_L("%dx%d (%d)"), width, height, state); - - // create new menu item - CEikMenuPaneItem::SData menuItem; - menuItem.iFlags = 0; - menuItem.iText = menuText; - menuItem.iCommandId = EScreenGrabberCmdScreenResolutionItem1 + state; - menuItem.iCascadeId = 0; - aMenuPane->AddMenuItemL(menuItem); - } - } - } - -#endif - -// --------------------------------------------------------- -// CScreenGrabberMainView::HandleCommandL(TInt aCommand) -// --------------------------------------------------------- -// -void CScreenGrabberMainView::HandleCommandL(TInt aCommand) - { - switch ( aCommand ) - { - case EScreenGrabberCmdSendToBackground: - { - TApaTask selfTask(iEikonEnv->WsSession()); - selfTask.SetWgId(iEikonEnv->RootWin().Identifier()); - selfTask.SendToBackground(); - break; - } - -#ifdef SCREENGRABBER_SCREEN_RESOLUTION_CHANGE_SUPPORT - case EScreenGrabberCmdScreenResolutionItem1: - case EScreenGrabberCmdScreenResolutionItem2: - case EScreenGrabberCmdScreenResolutionItem3: - case EScreenGrabberCmdScreenResolutionItem4: - case EScreenGrabberCmdScreenResolutionItem5: - case EScreenGrabberCmdScreenResolutionItem6: - case EScreenGrabberCmdScreenResolutionItem7: - case EScreenGrabberCmdScreenResolutionItem8: - case EScreenGrabberCmdScreenResolutionItem9: - case EScreenGrabberCmdScreenResolutionItem10: - case EScreenGrabberCmdScreenResolutionItem11: - case EScreenGrabberCmdScreenResolutionItem12: - { - // change resolution - const CAknLayoutConfig& config = CAknSgcClient::LayoutConfig(); - const CAknLayoutConfig::THardwareStateArray& hwStates = config.HardwareStates(); - const CAknLayoutConfig::TScreenModeArray& screenModes = config.ScreenModes(); - - const CAknLayoutConfig::THardwareState& hwState = hwStates.At(aCommand-EScreenGrabberCmdScreenResolutionItem1); - TInt screenMode = hwState.ScreenMode(); - TInt state = hwState.StateNumber(); - - CWsScreenDevice* screenDevice = CEikonEnv::Static()->ScreenDevice(); - TInt err = RProperty::Define(KPSUidUikon, KUikLayoutState, RProperty::EInt); - err = RProperty::Set(KPSUidUikon, KUikLayoutState, state); - - screenDevice->SetScreenMode(screenMode); - - break; - } -#endif - - case EScreenGrabberCmdSettings: - { - AppUi()->ActivateLocalViewL( KSettingListViewUID ); - break; - } - - case EScreenGrabberCmdAbout: - { - CAknMessageQueryDialog* dialog = new (ELeave) CAknMessageQueryDialog; - dialog->ExecuteLD(R_SCREENGRABBER_ABOUT_DIALOG); - } - break; - - case EAknSoftkeyExit: - { - AppUi()->HandleCommandL( EEikCmdExit ); - break; - } - - default: - { - AppUi()->HandleCommandL( aCommand ); - break; - } - } - } - -// --------------------------------------------------------- -// CScreenGrabberMainView::HandleClientRectChange() -// --------------------------------------------------------- -// -void CScreenGrabberMainView::HandleClientRectChange() - { - if ( iContainer ) - { - iContainer->SetRect( ClientRect() ); - } - } - -// --------------------------------------------------------- -// CScreenGrabberMainView::DoActivateL(...) -// --------------------------------------------------------- -// -void CScreenGrabberMainView::DoActivateL( - const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/) - { - if (!iContainer) - { - iContainer = new (ELeave) CScreenGrabberMainContainer; - iContainer->SetMopParent(this); - iContainer->ConstructL( ClientRect() ); - AppUi()->AddToStackL( *this, iContainer ); - } - } - -// --------------------------------------------------------- -// CScreenGrabberMainView::HandleCommandL(TInt aCommand) -// --------------------------------------------------------- -// -void CScreenGrabberMainView::DoDeactivate() - { - if ( iContainer ) - { - AppUi()->RemoveFromViewStack( *this, iContainer ); - } - - delete iContainer; - iContainer = NULL; - } - -// End of File -