--- a/screengrabber/src/SGSettingListContainer.cpp Thu Aug 19 09:55:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +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 "SGSettingListContainer.h"
-#include <screengrabber.rsg>
-#include "SG.hrh"
-#include "SGDocument.h"
-
-
-#ifdef SCREENGRABBER_MULTIDRIVE_SUPPORT
- #include <CAknMemorySelectionSettingItemMultiDrive.h>
-#else
- #include <CAknMemorySelectionSettingItem.h>
-#endif
-
-#include <eikappui.h>
-#include <akntitle.h>
-#include <eikspane.h>
-
-#include <AknDef.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListContainer::ConstructL(const TRect& aRect)
-// EPOC two phased constructor
-// ---------------------------------------------------------
-//
-void CScreenGrabberSettingListContainer::ConstructL(const TRect& aRect)
- {
- CreateWindowL();
-
- // set title of the app
- CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
- CAknTitlePane* title = static_cast<CAknTitlePane*>( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
- title->SetTextL( _L("Settings") );
-
- // get an instance of the engine
- iModel = static_cast<CScreenGrabberDocument*>(reinterpret_cast<CEikAppUi*>(iEikonEnv->AppUi())->Document())->Model();
-
- // get the settings from the engine
- iGrabSettings = iModel->GrabSettings();
-
- // construct the settings list from resources
- ConstructFromResourceL(R_SCREENGRABBER_SETTINGLIST);
-
- // set visibilities
- SetVisibilitiesOfSettingItems();
-
- // set correct drawing area for the listbox
- SetRect(aRect);
- HandleResourceChange(KEikDynamicLayoutVariantSwitch);
-
- ActivateL();
- }
-
-
-// Destructor
-CScreenGrabberSettingListContainer::~CScreenGrabberSettingListContainer()
- {
- }
-
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListView::CreateSettingItemL( TInt aIdentifier )
-// ---------------------------------------------------------
-//
-CAknSettingItem* CScreenGrabberSettingListContainer::CreateSettingItemL( TInt aIdentifier )
- {
- CAknSettingItem* settingItem = NULL;
-
- switch (aIdentifier)
- {
- case ESettingListCaptureModeSelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iCaptureMode);
- break;
-
-
- case ESettingListSingleCaptureHotkeySelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iSingleCaptureHotkey);
- break;
-
- case ESettingListSingleCaptureImageFormatSelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iSingleCaptureImageFormat);
- break;
-
- case ESettingListSingleCaptureMemorySelection:
-#ifdef SCREENGRABBER_MULTIDRIVE_SUPPORT
- settingItem = new(ELeave) CAknMemorySelectionSettingItemMultiDrive(aIdentifier, iGrabSettings.iSingleCaptureMemoryInUseMultiDrive);
-#else
- settingItem = new(ELeave) CAknMemorySelectionSettingItem(aIdentifier, iGrabSettings.iSingleCaptureMemoryInUse);
-#endif
- break;
-
- case ESettingListSingleCaptureFileNameSelection:
- settingItem = new(ELeave) CAknTextSettingItem(aIdentifier, iGrabSettings.iSingleCaptureFileName);
- break;
-
-
- case ESettingListSequantialCaptureHotkeySelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iSequantialCaptureHotkey);
- break;
-
- case ESettingListSequantialCaptureImageFormatSelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iSequantialCaptureImageFormat);
- break;
-
- case ESettingListSequantialCaptureDelaySelection:
- settingItem = new(ELeave) CAknIntegerEdwinSettingItem(aIdentifier, iGrabSettings.iSequantialCaptureDelay);
- break;
-
- case ESettingListSequantialCaptureMemorySelection:
-#ifdef SCREENGRABBER_MULTIDRIVE_SUPPORT
- settingItem = new(ELeave) CAknMemorySelectionSettingItemMultiDrive(aIdentifier, iGrabSettings.iSequantialCaptureMemoryInUseMultiDrive);
-#else
- settingItem = new(ELeave) CAknMemorySelectionSettingItem(aIdentifier, iGrabSettings.iSequantialCaptureMemoryInUse);
-#endif
- break;
-
- case ESettingListSequantialCaptureFileNameSelection:
- settingItem = new(ELeave) CAknTextSettingItem(aIdentifier, iGrabSettings.iSequantialCaptureFileName);
- break;
-
-
- case ESettingListVideoCaptureHotkeySelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iVideoCaptureHotkey);
- break;
-
- case ESettingListVideoCaptureVideoFormatSelection:
- settingItem = new(ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iGrabSettings.iVideoCaptureVideoFormat);
- break;
-
- case ESettingListVideoCaptureMemorySelection:
-#ifdef SCREENGRABBER_MULTIDRIVE_SUPPORT
- settingItem = new(ELeave) CAknMemorySelectionSettingItemMultiDrive(aIdentifier, iGrabSettings.iVideoCaptureMemoryInUseMultiDrive);
-#else
- settingItem = new(ELeave) CAknMemorySelectionSettingItem(aIdentifier, iGrabSettings.iVideoCaptureMemoryInUse);
-#endif
- break;
-
- case ESettingListVideoCaptureFileNameSelection:
- settingItem = new(ELeave) CAknTextSettingItem(aIdentifier, iGrabSettings.iVideoCaptureFileName);
- break;
-
- }
-
- return settingItem;
- }
-
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListView::UpdateSettings()
-// ---------------------------------------------------------
-//
-void CScreenGrabberSettingListContainer::UpdateSettingsL()
- {
- // get the modified settings to our own variables
- StoreSettingsL(); // from CAknSettingItemList
-
- // store new settings in engine and save the settings in disk
- TRAP_IGNORE(iModel->SaveSettingsL(iGrabSettings));
-
- // Change the keys used for capturing
- iModel->ActivateCaptureKeysL(ETrue);
- }
-
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListView::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType)
-// ---------------------------------------------------------
-//
-void CScreenGrabberSettingListContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
- {
- switch (aEventType)
- {
- case EEventEnterKeyPressed:
- case EEventItemDoubleClicked:
- ShowSettingPageL(EFalse);
- break;
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListView::ShowSettingPageL(TInt aCalledFromMenu)
-// ---------------------------------------------------------
-//
-void CScreenGrabberSettingListContainer::ShowSettingPageL(TInt aCalledFromMenu)
- {
- // open the setting page
- TInt listIndex = ListBox()->CurrentItemIndex();
- TInt realIndex = SettingItemArray()->ItemIndexFromVisibleIndex(listIndex);
- EditItemL(realIndex, aCalledFromMenu);
-
- // update and save the settings
- UpdateSettingsL();
-
- // set visibilities
- SetVisibilitiesOfSettingItems();
-
- // refresh the screen
- DrawNow();
- }
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListContainer::SetVisibilitiesOfSettingItems()
-// ---------------------------------------------------------
-//
-void CScreenGrabberSettingListContainer::SetVisibilitiesOfSettingItems()
- {
-
- switch (iGrabSettings.iCaptureMode)
- {
- case ECaptureModeSingleCapture:
- {
- ((*SettingItemArray())[ESettingListSingleCaptureHotkeySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSingleCaptureImageFormatSelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSingleCaptureMemorySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSingleCaptureFileNameSelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSequantialCaptureHotkeySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureImageFormatSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureDelaySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureMemorySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureFileNameSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureHotkeySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureVideoFormatSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureMemorySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureFileNameSelection])->SetHidden(ETrue);
- }
- break;
-
- case ECaptureModeSequantialCapture:
- {
- ((*SettingItemArray())[ESettingListSingleCaptureHotkeySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSingleCaptureImageFormatSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSingleCaptureMemorySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSingleCaptureFileNameSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureHotkeySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSequantialCaptureImageFormatSelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSequantialCaptureDelaySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSequantialCaptureMemorySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListSequantialCaptureFileNameSelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListVideoCaptureHotkeySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureVideoFormatSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureMemorySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureFileNameSelection])->SetHidden(ETrue);
- }
- break;
-
- case ECaptureModeVideoCapture:
- {
- ((*SettingItemArray())[ESettingListSingleCaptureHotkeySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSingleCaptureImageFormatSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSingleCaptureMemorySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSingleCaptureFileNameSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureHotkeySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureImageFormatSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureDelaySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureMemorySelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListSequantialCaptureFileNameSelection])->SetHidden(ETrue);
- ((*SettingItemArray())[ESettingListVideoCaptureHotkeySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListVideoCaptureVideoFormatSelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListVideoCaptureMemorySelection])->SetHidden(EFalse);
- ((*SettingItemArray())[ESettingListVideoCaptureFileNameSelection])->SetHidden(EFalse);
- }
- break;
-
- default:
- User::Panic(_L("Inv.capt.mode"), 50);
- break;
- }
-
- HandleChangeInItemArrayOrVisibilityL();
- }
-
-// ---------------------------------------------------------
-// CScreenGrabberSettingListView::HandleResourceChange(TInt aType)
-// ---------------------------------------------------------
-//
-void CScreenGrabberSettingListContainer::HandleResourceChange(TInt aType)
- {
- if ( aType == KEikDynamicLayoutVariantSwitch )
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
- SetRect(mainPaneRect);
-
- TSize outputRectSize;
- AknLayoutUtils::LayoutMetricsSize(AknLayoutUtils::EMainPane, outputRectSize);
- TRect outputRect(outputRectSize);
- ListBox()->SetRect(outputRect);
- }
- else
- {
- CCoeControl::HandleResourceChange(aType);
- }
- }
-
-// End of File