--- a/package_definition.xml Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="photos" name="Photos" levels="support fw ui app">
- <collection id="photosgallery" name="Photos Gallery" level="app">
- <!-- consider splitting collection into the application itself, and the frameworks behind it -->
- <component id="photosgallery_help" filter="s60" name="Photos Help" introduced="^2">
- <unit bldFile="photosgallery/help/group"/>
- </component>
- <component id="logging" filter="s60" name="Photos Logging" introduced="^2">
- <!-- <unit bldFile="photosgallery/logging/app/group"/> -->
- <unit bldFile="photosgallery/logging/group"/>
- </component>
- <component id="photosgallery_common" filter="s60" name="Photos Common" introduced="^2">
- <unit bldFile="photosgallery/common/group"/>
- </component>
- <component id="photosgallery_commonui" filter="s60" name="Photos Common UI" introduced="^2">
- <unit bldFile="photosgallery/commonui/group"/>
- </component>
- <component id="photosgalleryollectionfw" filter="s60" name="Photos Collection Framework" introduced="^2">
- <unit bldFile="photosgallery/collectionframework/group"/>
- <!-- <unit bldFile="photosgallery/collectionframework/plugins/glxcollectionpluginalbums/group"/> -->
- </component>
- <component id="photosgalleryviewfw" filter="s60" name="View Framework" introduced="^2">
- <unit bldFile="photosgallery/viewframework/group"/>
- <!-- do the following need to be #included? -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/commandhandlerbase/tsrc/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_glxupnprenderer/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_cglxaiwservicehandler/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_glxcommandhandlerback/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/tsrc/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/commandhandlers/tsrc/ut__commandhandlermarking/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/plugins/metadataviewplugin/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/views/listview/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/views/metadataview/group"/> -->
- <!-- <unit bldFile="photosgallery/viewframework/views/viewbase/group"/> -->
- </component>
- <component id="controllers" filter="s60" name="Photos Controllers" introduced="^2">
- <unit bldFile="photosgallery/controllers/group"/>
- </component>
- <component id="photogallery" filter="s60" name="Media Gallery" introduced="^2">
- <unit bldFile="photosgallery/gallery/group"/>
- </component>
- <component id="slideshow" filter="s60" name="Slideshow" introduced="^2">
- <unit bldFile="photosgallery/slideshow/group"/>
- <!-- does the test need to be #included? -->
- <!-- <unit bldFile="photosgallery/slideshow/engine/tsrc/group"/> -->
- </component>
- <component id="contentharvesterplugin" filter="s60" name="Gallery Content Harvester Plugin" class="plugin" introduced="^2">
- <unit bldFile="photosgallery/contentharvesterplugin/group"/>
- </component>
- <component id="photossuite" filter="s60" name="Photos Suite" class="config" introduced="^2">
- <unit bldFile="photosgallery/photossuite/group"/>
- </component>
- <component id="galleryicons" filter="s60" name="Photos Icons" class="config" introduced="^2">
- <unit bldFile="photosgallery/icons"/>
- </component>
- <component id="photosgallery_build" filter="s60" name="Photos Gallery Build" introduced="^2">
- <!-- remove the #included above bld.infs from this -->
- <unit bldFile="photosgallery/group"/>
- </component>
- </collection>
- <collection id="photos_info" name="Photos Info" level="app">
- <component id="photos_plat" filter="s60" name="Photos Platform Interfaces" class="api" introduced="^2">
- <unit bldFile="photos_plat/group"/>
- <!-- should these be #included in the above? -->
- <!-- <unit bldFile="photos_plat/controllers_collection_api/tsrc/ui_metadatadialog/group"/> -->
- <!-- <unit bldFile="photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/group"/> -->
- <!-- <unit bldFile="photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/group"/> -->
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- a/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/group/ui_metaDataDialog_DoxyFile.txt Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/group/ui_metaDataDialog_DoxyFile.txt Wed Mar 31 21:31:03 2010 +0300
@@ -2,16 +2,16 @@
# 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 the License "Eclipse Public License v1.0"
+# 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:
+# Description: Project related configuration options to configure Doxygen documentation
#
#
--- a/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/inc/ui_metaDataDialog.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/inc/ui_metaDataDialog.h Wed Mar 31 21:31:03 2010 +0300
@@ -24,11 +24,7 @@
#include <StifTestModule.h>
#include <TestclassAssert.h>
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
// MACROS
-//#define ?macro ?macro_def
#define TEST_CLASS_VERSION_MAJOR 0
#define TEST_CLASS_VERSION_MINOR 0
#define TEST_CLASS_VERSION_BUILD 0
@@ -39,20 +35,9 @@
_LIT( Kui_metaDataDialogLogFile, "ui_metaDataDialog.txt" );
_LIT( Kui_metaDataDialogLogFileWithTitle, "ui_metaDataDialog_[%S].txt" );
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
class Cui_metaDataDialog;
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
-// CLASS DECLARATION
-
/**
* Cui_metaDataDialog test class for STIF Test Framework TestScripter.
* ?other_description_lines
@@ -74,16 +59,6 @@
*/
virtual ~Cui_metaDataDialog();
- public: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
public: // Functions from base classes
/**
@@ -94,23 +69,6 @@
*/
virtual TInt RunMethodL( CStifItemParser& aItem );
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
- //?type ?member_function();
-
private:
/**
@@ -123,10 +81,6 @@
*/
void ConstructL();
- // Prohibit copy constructor if not deriving from CBase.
- // ?classname( const ?classname& );
- // Prohibit assigment operator if not deriving from CBase.
- // ?classname& operator=( const ?classname& );
/**
* Frees all resources allocated from test methods.
@@ -150,33 +104,6 @@
* Method used to log version of test class
*/
void SendTestClassVersion();
-
- //ADD NEW METHOD DEC HERE
- //[TestMethods] - Do not remove
-
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- private: // Data
-
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- // Reserved pointer for future extension
- //TAny* iReserved;
-
- public: // Friend classes
- //?friend_class_declaration;
- protected: // Friend classes
- //?friend_class_declaration;
- private: // Friend classes
- //?friend_class_declaration;
-
};
#endif // UI_METADATADIALOG_H
--- a/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/src/ui_metaDataDialog.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/src/ui_metaDataDialog.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -20,54 +20,6 @@
#include "ui_metaDataDialog.h"
#include <SettingServerClient.h>
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
// ============================ MEMBER FUNCTIONS ===============================
@@ -143,7 +95,7 @@
CleanupStack::PushL( self );
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
@@ -195,5 +147,4 @@
}
-
// End of File
--- a/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/src/ui_metaDataDialogBlocks.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ui_metaDataDialog/src/ui_metaDataDialogBlocks.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -22,55 +22,6 @@
#include "glxmetadataviewutility.h"
#include "ui_metaDataDialog.h"
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -128,23 +79,4 @@
}
-// -----------------------------------------------------------------------------
-// Cui_metaDataDialog::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt Cui_metaDataDialog::?member_function(
- CItemParser& aItem )
- {
-
- ?code
-
- }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
-
// [End of File] - Do not remove
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/group/ut_collectioninfo_DoxyFile.txt Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/group/ut_collectioninfo_DoxyFile.txt Wed Mar 31 21:31:03 2010 +0300
@@ -2,16 +2,16 @@
# 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 the License "Eclipse Public License v1.0"
+# 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:
+# Description: Project related configuration options to configure Doxygen documentation
#
#
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/inc/ut_collectioninfo.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/inc/ut_collectioninfo.h Wed Mar 31 21:31:03 2010 +0300
@@ -26,11 +26,7 @@
#include <e32base.h>
#include <glxcollectioninfo.h>
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
// MACROS
-//#define ?macro ?macro_def
#define TEST_CLASS_VERSION_MAJOR 0
#define TEST_CLASS_VERSION_MINOR 0
#define TEST_CLASS_VERSION_BUILD 0
@@ -41,18 +37,9 @@
_LIT( Kut_collectioninfoLogFile, "ut_collectioninfo.txt" );
_LIT( Kut_collectioninfoLogFileWithTitle, "ut_collectioninfo_[%S].txt" );
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
class Cut_collectioninfo;
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
// CLASS DECLARATION
/**
@@ -76,16 +63,6 @@
*/
virtual ~Cut_collectioninfo();
- public: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
public: // Functions from base classes
/**
@@ -96,23 +73,6 @@
*/
virtual TInt RunMethodL( CStifItemParser& aItem );
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
- //?type ?member_function();
-
private:
/**
@@ -125,11 +85,6 @@
*/
void ConstructL();
- // Prohibit copy constructor if not deriving from CBase.
- // ?classname( const ?classname& );
- // Prohibit assigment operator if not deriving from CBase.
- // ?classname& operator=( const ?classname& );
-
/**
* Frees all resources allocated from test methods.
* @since ?Series60_version
@@ -159,31 +114,11 @@
//ADD NEW METHOD DEC HERE
//[TestMethods] - Do not remove
-
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
private: // Data
// ?one_line_short_description_of_data
//?data_declaration;
CGlxCollectionInfo* iCollectionInfo;
-
- // Reserved pointer for future extension
- //TAny* iReserved;
-
- public: // Friend classes
- //?friend_class_declaration;
- protected: // Friend classes
- //?friend_class_declaration;
- private: // Friend classes
- //?friend_class_declaration;
-
};
#endif // UT_COLLECTIONINFO_H
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/src/ut_collectioninfo.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/src/ut_collectioninfo.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -20,55 +20,6 @@
#include "ut_collectioninfo.h"
#include <SettingServerClient.h>
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -143,7 +94,7 @@
CleanupStack::PushL( self );
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
@@ -195,5 +146,4 @@
}
-
// End of File
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/src/ut_collectioninfoBlocks.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectioninfo/src/ut_collectioninfoBlocks.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -20,59 +20,10 @@
#include <StifParser.h>
#include <Stiftestinterface.h>
#include <glxcollectionmanager.h>
-//#include <glxcollectionselectionpopup.h>
#include <glxcollectionpluginalbums.hrh>
#include <glxcollectioninfo.h>
#include "ut_collectioninfo.h"
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
// ============================ MEMBER FUNCTIONS ===============================
@@ -84,7 +35,6 @@
//
void Cut_collectioninfo::Delete()
{
-
}
// -----------------------------------------------------------------------------
@@ -119,24 +69,6 @@
}
-
-
-// -----------------------------------------------------------------------------
-// Cut_collectioninfo::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt Cut_collectioninfo::?member_function(
- CItemParser& aItem )
- {
-
- ?code
-
- }
-*/
-
// -----------------------------------------------------------------------------
// Cut_collectioninfo::Test_NewL
// Test for CGlxCollectionInfo::NewL API
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/group/ut_collectionmanager_DoxyFile.txt Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/group/ut_collectionmanager_DoxyFile.txt Wed Mar 31 21:31:03 2010 +0300
@@ -2,16 +2,16 @@
# 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 the License "Eclipse Public License v1.0"
+# 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:
+# Description: Project related configuration options to configure Doxygen documentation
#
#
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/inc/ut_collectionmanager.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/inc/ut_collectionmanager.h Wed Mar 31 21:31:03 2010 +0300
@@ -28,11 +28,7 @@
#include "glxcollectionmanagerao.h"
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
// MACROS
-//#define ?macro ?macro_def
#define TEST_CLASS_VERSION_MAJOR 0
#define TEST_CLASS_VERSION_MINOR 0
#define TEST_CLASS_VERSION_BUILD 0
@@ -43,21 +39,11 @@
_LIT( Kut_collectionmanagerLogFile, "ut_collectionmanager.txt" );
_LIT( Kut_collectionmanagerLogFileWithTitle, "ut_collectionmanager_[%S].txt" );
-// FUNCTION PROTOTYPES
-//?type ?function_name(?arg_list);
-
// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
class Cut_collectionmanager;
-// DATA TYPES
-//enum ?declaration
-//typedef ?declaration
-//extern ?data_type;
-
// CLASS DECLARATION
-
class CGlxCollectionManagerAO ;
/**
@@ -81,16 +67,6 @@
*/
virtual ~Cut_collectionmanager();
- public: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
public: // Functions from base classes
/**
@@ -100,23 +76,6 @@
* @return Symbian OS error code
*/
virtual TInt RunMethodL( CStifItemParser& aItem );
-
- protected: // New functions
-
- /**
- * ?member_description.
- * @since ?Series60_version
- * @param ?arg1 ?description
- * @return ?description
- */
- //?type ?member_function( ?type ?arg1 );
-
- protected: // Functions from base classes
-
- /**
- * From ?base_class ?member_description
- */
- //?type ?member_function();
private:
@@ -130,11 +89,6 @@
*/
void ConstructL();
- // Prohibit copy constructor if not deriving from CBase.
- // ?classname( const ?classname& );
- // Prohibit assigment operator if not deriving from CBase.
- // ?classname& operator=( const ?classname& );
-
/**
* Frees all resources allocated from test methods.
* @since ?Series60_version
@@ -144,7 +98,6 @@
/**
* Test methods are listed below.
*/
-
/**
* Test case for CollectionManager object creation
@@ -180,35 +133,9 @@
virtual TInt TestCollectionInfoL();
virtual TInt TestCancelL();
- public: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- protected: // Data
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- private: // Data
-
- // ?one_line_short_description_of_data
- //?data_declaration;
-
- // CollectionManager Active Object used to create collections of images
-
- // Reserved pointer for future extension
- //TAny* iReserved;
-
-
- public: // Friend classes
- //?friend_class_declaration;
-
- protected: // Friend classes
- //?friend_class_declaration;
private: // Friend classes
- //?friend_class_declaration;
- CGlxCollectionManagerAO* iAo ;
- CActiveSchedulerWait* iWait ;
-
+ CGlxCollectionManagerAO* iAo;
+ CActiveSchedulerWait* iWait;
};
#endif // UT_COLLECTIONMANAGER_H
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/src/glxcollectionmanagerao.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/src/glxcollectionmanagerao.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -68,7 +68,7 @@
CGlxCollectionManagerAO* self = new (ELeave) CGlxCollectionManagerAO(aObserver);
CleanupStack::PushL( self );
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -113,10 +113,6 @@
void CGlxCollectionManagerAO::RunL()
{
- /*
- if (iStatus.Int() != KErrNone)
- User::LeaveIfError(iStatus.Int());
- */
iObserver.RequestComplete(iStatus.Int());
}
@@ -177,15 +173,12 @@
iCollectionManager = CGlxCollectionManager::NewL();
}
TInt err = KErrNone;
- //TRAP(err,iCollectionManager->AddToCollectionL((*fixflat)[0].iData, iCollection, iStatus));
TRAP(err,iCollectionManager->AddToCollectionL(KPath, 1, iStatus));
if( !IsActive() )
SetActive();
}
-
-
/*
* CTest_Active::TestCollectionInfoL()
* This function checks CollectionInfoL() api.
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/src/ut_collectionmanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/src/ut_collectionmanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -20,55 +20,6 @@
#include "ut_collectionmanager.h"
#include <SettingServerClient.h>
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -146,7 +97,7 @@
CleanupStack::PushL( self );
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
@@ -192,8 +143,6 @@
TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod);
}
-
-
// ========================== OTHER EXPORTED FUNCTIONS =========================
// -----------------------------------------------------------------------------
@@ -204,10 +153,7 @@
EXPORT_C CScriptBase* LibEntryL(
CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework
{
-
return ( CScriptBase* ) Cut_collectionmanager::NewL( aTestModuleIf );
-
}
-
// End of File
--- a/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/src/ut_collectionmanagerBlocks.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/controllers_collection_api/tsrc/ut_collectionmanager/src/ut_collectionmanagerBlocks.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -25,55 +25,6 @@
#include "ut_collectionmanager.h"
-// EXTERNAL DATA STRUCTURES
-//extern ?external_data;
-
-// EXTERNAL FUNCTION PROTOTYPES
-//extern ?external_function( ?arg_type,?arg_type );
-
-// CONSTANTS
-//const ?type ?constant_var = ?constant;
-
-// MACROS
-//#define ?macro ?macro_def
-
-// LOCAL CONSTANTS AND MACROS
-//const ?type ?constant_var = ?constant;
-//#define ?macro_name ?macro_def
-
-// MODULE DATA STRUCTURES
-//enum ?declaration
-//typedef ?declaration
-
-// LOCAL FUNCTION PROTOTYPES
-//?type ?function_name( ?arg_type, ?arg_type );
-
-// FORWARD DECLARATIONS
-//class ?FORWARD_CLASSNAME;
-
-// ============================= LOCAL FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// ?function_name ?description.
-// ?description
-// Returns: ?value_1: ?description
-// ?value_n: ?description_line1
-// ?description_line2
-// -----------------------------------------------------------------------------
-//
-/*
-?type ?function_name(
- ?arg_type arg, // ?description
- ?arg_type arg) // ?description
- {
-
- ?code // ?comment
-
- // ?comment
- ?code
- }
-*/
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -244,23 +195,5 @@
User::InfoPrint(_L("test case failed"));
}
}
-// -----------------------------------------------------------------------------
-// Cut_collectionmanager::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-/*
-TInt Cut_collectionmanager::?member_function(
- CItemParser& aItem )
- {
-
- ?code
-
- }
-*/
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-// None
// [End of File] - Do not remove
--- a/photos_plat/gallery_utilities_api/inc/glxgallery.hrh Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/gallery_utilities_api/inc/glxgallery.hrh Wed Mar 31 21:31:03 2010 +0300
@@ -30,41 +30,16 @@
* via CApaCommandLine::SetTailEndL, if Gallery not running
*/
-/// Show album list view
-#define KGlxActivationCmdShowAlbumList 0x200071AB // message id for album
-
/// Show Camera album full screen, focus last modified item
+// @deprecated Use KGlxActivationCmdShowAll
#define KGlxActivationCmdShowLastModified 0x200071A9 // message id for last modified
-/// Run slide show
-#define KGlxActivationCmdRunSlideshow 0x200071AA // message id for slideshow
-
// show last item (latest captured) in Camera album tile view
+// @deprecated Use KGlxActivationCmdShowAll
#define KGlxActivationCameraAlbum 0x2000A7B8 // message id for cameraalbum @CR 403-2372, 403-2371 Active Space
-// show Gallery and opens Main view
-#define KGlxActivationPhotosMenu 0x2000A7B9 // message id for photos menu @CR 403-2372, 403-2371 Active Space
-/// Slideshow-specific additional parameters
-#define KGlxSlideShowForward 1
-#define KGlxSlideShowBackward 2
-
-//Open Captured Grid View from Matrix Menu
-#define KGlxActivationCameraView 0x2000a767 // message id for photos Captured View from Matrix Menu
-
-//Open Months List View from Matrix Menu
-#define KGlxActivationMonthsView 0x2000a769 // message id for photos Months View from Matrix Menu
-
-//Open Albums List View from Matrix Menu
-#define KGlxActivationAlbumsView 0x20007197 // message id for photos Albums View from Matrix Menu
-
-//Open Tags browser View from Matrix Menu
-#define KGlxActivationTagsView 0x200071AE // message id for photos Tags View from Matrix Menu
-
-//Open Downloads Grid View from Matrix Menu
-#define KGlxActivationDownloadView 0x2000a76b // message id for photos Download View from Matrix Menu
-
-//Open All Grid View from Matrix Menu
-#define KGlxActivationAllView 0x2000A7C1 // message id for photos All View from Matrix Menu
+/// Show all images in grid view
+#define KGlxActivationCmdShowAll 0x2000A7C1 // message id for all images
#endif // __GLXGALLERY_HRH__
--- a/photos_plat/gallery_utilities_api/inc/glxthumbnailattributeinfo.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photos_plat/gallery_utilities_api/inc/glxthumbnailattributeinfo.h Wed Mar 31 21:31:03 2010 +0300
@@ -78,7 +78,7 @@
inline void InternalizeL(RReadStream& aStream);
public:
- /** Pointer to bitmap (not filled in by server side!) */
+ /** Pointer to bitmap (not filled in by server side) */
CFbsBitmap* iBitmap;
/** Cropping rect within original image dimensions */
TRect iCroppingRect;
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/inc/glxdatasourcetaskmdeidlist.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/inc/glxdatasourcetaskmdeidlist.h Wed Mar 31 21:31:03 2010 +0300
@@ -119,11 +119,13 @@
private:
void DoHandleListQueryCompletedL();
- void DoMonthListCreationL(CMdEQuery& aQuery, const TGlxFilterProperties& aFilterProperties);
+ void DoMonthListCreationL(CMdEQuery& aQuery,
+ const TGlxFilterProperties& aFilterProperties);
- void DoPostFilterComplete(const RArray<TGlxMediaId>& aIdArray, TInt aErrorCode);
+ void DoPostFilterComplete(const RArray<TGlxMediaId>& aIdArray, TInt aErrorCode);
- void PostFilterL(const RArray<TGlxMediaId>& aFilteredList, const TGlxFilterProperties& aFilterProperties);
+ void PostFilterL(const RArray<TGlxMediaId>& aFilteredList,
+ const TGlxFilterProperties& aFilterProperties);
};
#endif // GLXDATASOURCETASKMDEIDLIST_H_
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcemde.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcemde.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -714,7 +714,7 @@
iTnThumbnailCbId = iTnEngine->GetThumbnailL(*source);
iTnRequestInProgress = ETrue;
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy( source );
}
TInt CGlxDataSourceMde::CancelFetchThumbnail()
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmde.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmde.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -240,7 +240,9 @@
// CGlxDataSourceTaskMde::SetQueryConditionsL
// ----------------------------------------------------------------------------
//
-void CGlxDataSourceTaskMde::SetQueryConditionsL(CMdEQuery& aQuery, const TGlxFilterProperties& aFilterProperties, const TGlxMediaId aContainerId, CMdEObjectDef& aObjectDef)
+void CGlxDataSourceTaskMde::SetQueryConditionsL(CMdEQuery& aQuery,
+ const TGlxFilterProperties& aFilterProperties,
+ const TGlxMediaId aContainerId, CMdEObjectDef& aObjectDef)
{
GLX_LOG_ENTRY_EXIT("void CGlxDataSourceTaskMde::SetQueryConditionsL()");
CMdELogicCondition& rootCondition = aQuery.Conditions();
@@ -341,7 +343,6 @@
if( aFilterProperties.iExcludeAnimation )
{
- //__ASSERT_DEBUG((EGlxFilterImage == aFilterProperties.iItemType), Panic(EGlxPanicIllegalArgument));
// Exclude any image with a frame count > 1
const TInt excludeAllImagesAboveOrEqualToThisFrameCount = 2;
CMdEPropertyDef* frameCountProperty = DataSource()->ImageDef().GetPropertyDefL(KPropertyDefNameFrameCount);
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdeattribute.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdeattribute.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -308,7 +308,10 @@
container = DataSource()->CameraAlbumId();
objectDef = &DataSource()->AlbumDef();
filterProperties.iItemType = EGlxFilterImage;
- QueueObjectQueryL(*objectDef, isContent, EAttributeQuery, EQueryResultModeCount, container, request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(*objectDef, isContent, EAttributeQuery,
+ EQueryResultModeCount, container,
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
default:
@@ -334,7 +337,10 @@
container = DataSource()->CameraAlbumId();
objectDef = &DataSource()->AlbumDef();
filterProperties.iItemType = EGlxFilterVideo;
- QueueObjectQueryL(*objectDef, isContent, EAttributeQuery, EQueryResultModeCount, container, request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(*objectDef, isContent, EAttributeQuery,
+ EQueryResultModeCount, container,
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
default:
@@ -399,7 +405,11 @@
filterProperties.iSortOrder = EGlxFilterSortOrderCaptureDate;
filterProperties.iSortDirection = EGlxFilterSortDirectionAscending;
- QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery, EQueryResultModeObjectWithoutFreetexts, DataSource()->CameraAlbumId(), KGlxMediaCollectionInternalStartDate, aEntry, filterProperties);
+ QueueObjectQueryL(DataSource()->AlbumDef(), ETrue,
+ EAttributeQuery, EQueryResultModeObjectWithoutFreetexts,
+ DataSource()->CameraAlbumId(),
+ KGlxMediaCollectionInternalStartDate, aEntry,
+ filterProperties);
}
else if ( request->Attributes()[i] == KGlxMediaCollectionInternalEndDate )
{
@@ -593,7 +603,11 @@
{
TGlxFilterProperties filterProperties = iFilterProperties;
AddMonthFilterL(aContainer, filterProperties);
- QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery, EQueryResultModeCount, DataSource()->CameraAlbumId(), request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(DataSource()->AlbumDef(), ETrue,
+ EAttributeQuery, EQueryResultModeCount,
+ DataSource()->CameraAlbumId(),
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
}
@@ -642,7 +656,11 @@
TGlxFilterProperties filterProperties = iFilterProperties;
AddMonthFilterL(aContainer, filterProperties);
filterProperties.iItemType = EGlxFilterImage;
- QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery, EQueryResultModeCount, DataSource()->CameraAlbumId(), request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(DataSource()->AlbumDef(), ETrue,
+ EAttributeQuery, EQueryResultModeCount,
+ DataSource()->CameraAlbumId(),
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
default:
@@ -663,7 +681,11 @@
TGlxFilterProperties filterProperties = iFilterProperties;
AddMonthFilterL(aContainer, filterProperties);
filterProperties.iItemType = EGlxFilterVideo;
- QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery, EQueryResultModeCount, DataSource()->CameraAlbumId(), request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(DataSource()->AlbumDef(), ETrue,
+ EAttributeQuery, EQueryResultModeCount,
+ DataSource()->CameraAlbumId(),
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
default:
@@ -710,13 +732,21 @@
case CGlxDataSource::EContainerTypeAlbum:
case CGlxDataSource::EContainerTypeTag:
{
- QueueObjectQueryL(aContainer->Def(), ETrue, EAttributeQuery, EQueryResultModeCount, TGlxMediaId(aContainer->Id()), request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(aContainer->Def(), ETrue,
+ EAttributeQuery, EQueryResultModeCount,
+ TGlxMediaId(aContainer->Id()),
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
case CGlxDataSource::EContainerTypeMonth:
{
AddMonthFilterL(aContainer, filterProperties);
- QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery, EQueryResultModeCount, DataSource()->CameraAlbumId(), request->Attributes()[i], aEntry, filterProperties);
+ QueueObjectQueryL(DataSource()->AlbumDef(), ETrue,
+ EAttributeQuery, EQueryResultModeCount,
+ DataSource()->CameraAlbumId(),
+ request->Attributes()[i], aEntry,
+ filterProperties);
break;
}
}
@@ -876,7 +906,7 @@
TInt xDimIndex = aItem->Property(*xDimProperty, xDim);
if( KErrNotFound == xDimIndex )
{
- //User::Leave(KErrCorrupt);
+ //Do nothing
}
else
{
@@ -888,7 +918,7 @@
TInt yDimIndex = aItem->Property(*yDimProperty, yDim);
if( KErrNotFound == yDimIndex )
{
- //User::Leave(KErrCorrupt);
+ //Do nothing
}
else
{
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdecommand.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde/src/glxdatasourcetaskmdecommand.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -242,7 +242,6 @@
// Copy files to another drive.
// ----------------------------------------------------------------------------
//
-/// @todo minor: Rowland Cook 12/06/2007 Has this method been tested? If so remove comments
void CGlxDataSourceTaskMdeCommand::CopyL(const RArray<TGlxMediaId>& aSourceIds, const TDesC& aDrive)
{
GLX_LOG_ENTRY_EXIT("void CGlxDataSourceTaskMdeCommand::CopyL()");
@@ -253,7 +252,6 @@
// Move files to another drive.
// ----------------------------------------------------------------------------
//
-/// @todo minor: Rowland Cook 12/06/2007 Has this method been tested? If so remove comments
void CGlxDataSourceTaskMdeCommand::MoveL(const RArray<TGlxMediaId>& aSourceIds, const TDesC& aDrive)
{
GLX_LOG_ENTRY_EXIT("void CGlxDataSourceTaskMdeCommand::MoveL()");
@@ -335,7 +333,6 @@
//
// ----------------------------------------------------------------------------
//
-/// @todo minor: Rowland Cook 12/06/2007 Has this method been tested? If so remove comments
void CGlxDataSourceTaskMdeCommand::RenameL(const TGlxMediaId& aSourceItemId, const TDesC& aTitle)
{
GLX_LOG_ENTRY_EXIT("void CGlxDataSourceTaskMdeCommand::RenameL()");
@@ -728,7 +725,7 @@
TInt CGlxDataSourceTaskMdeCommand::ContainerObjectDef(CMdEObjectDef*& aContainerObjectDef)
{
GLX_LOG_ENTRY_EXIT("TInt CGlxDataSourceTaskMdeCommand::ContainerObjectDef(CMdEObjectDef*& aContainerObjectDef)");
- //__ASSERT_DEBUG( (iCollectionUid == TUid::Uid(KGlxTagCollectionPluginImplementationUid) || iCollectionUid == TUid::Uid(KGlxCollectionPluginAlbumsImplementationUid)), Panic(EGlxPanicInvalidCollectionUid));
+
TInt err = KErrNone;
if (iCollectionUid == TUid::Uid(KGlxTagCollectionPluginImplementationUid))
{
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/inc/glxdatasourcetaskmdsattribute.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/inc/glxdatasourcetaskmdsattribute.h Wed Mar 31 21:31:03 2010 +0300
@@ -162,6 +162,11 @@
* Attributes associated with outstanding queries
*/
RArray< TGlxQueryAttribute > iQueryAttributes;
+
+#ifdef _DEBUG
+ TTime iStartTime;
+ TTime iStopTime;
+#endif
};
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/inc/glxdatasourcetaskmdsthumbnail.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/inc/glxdatasourcetaskmdsthumbnail.h Wed Mar 31 21:31:03 2010 +0300
@@ -132,6 +132,10 @@
TRequestStatus* iTnRequestStatus;
TBool iTnRequestInProgress;
+#ifdef _DEBUG
+ TTime iStartTime;
+ TTime iStopTime;
+#endif
};
#endif // GLXDATASOURCETASKMDSTHUMBNAIL_H_
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -345,6 +345,7 @@
void CGlxDataSourceMde::HandleSessionError(CMdESession& /*aSession*/, TInt aError )
{
TRACER("CGlxDataSourceMde::HandleSessionError(CMdESession& /*aSession*/, TInt aError)")
+ delete iSession;
iSession = NULL;
GLX_DEBUG2("void CGlxDataSourceMde::HandleSessionError() Session Error = %d", aError);
@@ -521,8 +522,18 @@
iSession->AddRelationObserverL(*this);
iSession->AddRelationPresentObserverL(*this);
- iSession->AddObjectObserverL(*this);
- iSession->AddObjectPresentObserverL(*this);
+ //when setting observing conditions,
+ //add filters for all images, videos, Albums & Tags
+ CMdELogicCondition* addCondition = CMdELogicCondition::NewLC( ELogicConditionOperatorOr );
+ addCondition->AddObjectConditionL( *iImageDef );
+ addCondition->AddObjectConditionL( *iVideoDef );
+ addCondition->AddObjectConditionL( *iAlbumDef );
+ addCondition->AddObjectConditionL( *iTagDef );
+
+ iSession->AddObjectObserverL(*this, addCondition );
+ iSession->AddObjectPresentObserverL(*this );
+
+ CleanupStack::PopAndDestroy( addCondition );
}
// ---------------------------------------------------------------------------
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmds.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -485,10 +485,11 @@
{
TRACER("CGlxDataSourceTaskMde::MaxQueryResultsCount()");
TInt ret = KMdEQueryDefaultMaxCount;
- if (aFilterProperties.iLastCaptureDate)
+ if (aFilterProperties.iLastCaptureDate || aFilterProperties.iMaxCount == 1)
{
ret = 1;
}
+ GLX_DEBUG2("CGlxDataSourceTaskMde::MaxQueryResultsCount ret=%d", ret);
return ret;
}
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsattribute.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -110,6 +110,9 @@
void CGlxDataSourceTaskMdeAttributeMde::ExecuteRequestL()
{
TRACER("CGlxDataSourceTaskMdeAttribute::ExecuteRequestL()")
+#ifdef _DEBUG
+ iStartTime.HomeTime();
+#endif
CGlxGetRequest* request = static_cast<CGlxGetRequest*>(iRequest);
@@ -189,6 +192,11 @@
Panic(EGlxPanicLogicError);
break;
}
+#ifdef _DEBUG
+ iStopTime.HomeTime();
+ GLX_DEBUG2("CGlxDataSourceTaskMdeAttributeMde:DoHandleQueryCompletedL() took %d us",
+ (TInt)iStopTime.MicroSecondsFrom(iStartTime).Int64());
+#endif
}
// ----------------------------------------------------------------------------
@@ -399,11 +407,13 @@
}
else if ( request->Attributes()[i] == KGlxMediaCollectionInternalStartDate )
{
+ GLX_DEBUG1("CGlxDataSourceTaskMdeAttributeMde::AddCollectionAttributesL - KGlxMediaCollectionInternalStartDate");
TGlxMediaId container = TGlxMediaId(KGlxCollectionRootId);
TGlxFilterProperties filterProperties = iFilterProperties;
filterProperties.iSortOrder = EGlxFilterSortOrderCaptureDate;
filterProperties.iSortDirection = EGlxFilterSortDirectionAscending;
filterProperties.iOrigin = EGlxFilterOriginAll;
+ filterProperties.iMaxCount = 1 ;
QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery,
EQueryResultModeItem, container,
@@ -411,7 +421,17 @@
}
else if ( request->Attributes()[i] == KGlxMediaCollectionInternalEndDate )
{
- // not necessary to be requested, returned when StartDate requested
+ GLX_DEBUG1("CGlxDataSourceTaskMdeAttributeMde::AddCollectionAttributesL - KGlxMediaCollectionInternalEndDate");
+ TGlxMediaId container = TGlxMediaId(KGlxCollectionRootId);
+ TGlxFilterProperties filterProperties = iFilterProperties;
+ filterProperties.iSortOrder = EGlxFilterSortOrderCaptureDate;
+ filterProperties.iSortDirection = EGlxFilterSortDirectionDescending;
+ filterProperties.iOrigin = EGlxFilterOriginAll;
+ filterProperties.iMaxCount = 1 ;
+
+ QueueObjectQueryL(DataSource()->AlbumDef(), ETrue, EAttributeQuery,
+ EQueryResultModeItem, container,
+ KGlxMediaCollectionInternalEndDate, aEntry, filterProperties);
}
else if ( request->Attributes()[i] == KGlxMediaGeneralSlideshowableContent )
{
@@ -960,7 +980,7 @@
TInt xDimIndex = aItem->Property(xDimProperty, xDim);
if( KErrNotFound == xDimIndex )
{
- //User::Leave(KErrCorrupt);
+ //Do nothing
}
else
{
@@ -973,7 +993,7 @@
TInt yDimIndex = aItem->Property(yDimProperty, yDim);
if( KErrNotFound == yDimIndex )
{
- //User::Leave(KErrCorrupt);
+ //Do nothing
}
else
{
@@ -1146,7 +1166,8 @@
if( query->ResultMode() == EQueryResultModeItem )
{
__ASSERT_DEBUG(( iQueryAttributes[0].iAttribute ==
- KGlxMediaCollectionInternalStartDate ), Panic(EGlxPanicIllegalState));
+ KGlxMediaCollectionInternalStartDate || iQueryAttributes[0].iAttribute ==
+ KGlxMediaCollectionInternalEndDate), Panic(EGlxPanicIllegalState));
CMdEPropertyDef& creationDateDef = DataSource()->ObjectDef().GetPropertyDefL(
KPropertyDefNameCreationDate);
if (creationDateDef.PropertyType() != EPropertyTime)
@@ -1155,29 +1176,45 @@
}
TTime startMonth(0);
TTime endMonth(0);
+ GLX_DEBUG2("CGlxDataSourceTaskMdeAttributeMde::DoHandleAttributeQueryCompletedL iQueries[0]->Count()=%d", iQueries[0]->Count());
+ TInt timeIndex(0) ;
if(iQueries[0]->Count() )
{
- CMdEProperty* startTime;
- CMdEObject& startObject = (CMdEObject&)query->ResultItem(0);
- TInt timeIndex = startObject.Property(creationDateDef, startTime);
- if( KErrNotFound == timeIndex )
- {
- User::Leave(KErrCorrupt);
- }
- startMonth = static_cast<CMdETimeProperty*>(startTime)->Value();
- CMdEProperty* endTime;
- CMdEObject& endObject = (CMdEObject&)query->ResultItem(query->Count()-1);
- timeIndex = endObject.Property(creationDateDef, endTime);
- if( KErrNotFound == timeIndex )
- {
- User::Leave(KErrCorrupt);
- }
- endMonth = static_cast<CMdETimeProperty*>(endTime)->Value();
+ GLX_DEBUG2("CGlxDataSourceTaskMdeAttributeMde::DoHandleAttributeQueryCompletedL query->Count()=%d", query->Count());
+ if(iQueryAttributes[0].iAttribute == KGlxMediaCollectionInternalStartDate)
+ {
+ CMdEProperty* startTime;
+ CMdEObject& startObject = (CMdEObject&)query->ResultItem(0);
+ TInt timeIndex = startObject.Property(creationDateDef, startTime);
+ if( KErrNotFound == timeIndex )
+ {
+ User::Leave(KErrCorrupt);
+ }
+ startMonth = static_cast<CMdETimeProperty*>(startTime)->Value();
+ iQueryAttributes[0].iMedia->SetTObjectValueL(
+ KGlxMediaCollectionInternalStartDate, startMonth);
+ }
+ else if(iQueryAttributes[0].iAttribute == KGlxMediaCollectionInternalEndDate)
+ {
+ CMdEProperty* endTime;
+ CMdEObject& endObject = (CMdEObject&)query->ResultItem(0);
+ timeIndex = endObject.Property(creationDateDef, endTime);
+ if( KErrNotFound == timeIndex )
+ {
+ User::Leave(KErrCorrupt);
+ }
+ endMonth = static_cast<CMdETimeProperty*>(endTime)->Value();
+ iQueryAttributes[0].iMedia->SetTObjectValueL(
+ KGlxMediaCollectionInternalEndDate, endMonth);
+ }
}
- iQueryAttributes[0].iMedia->SetTObjectValueL(
- KGlxMediaCollectionInternalStartDate, startMonth);
- iQueryAttributes[0].iMedia->SetTObjectValueL(
- KGlxMediaCollectionInternalEndDate, endMonth);
+ else
+ {
+ iQueryAttributes[0].iMedia->SetTObjectValueL(
+ KGlxMediaCollectionInternalStartDate, startMonth);
+ iQueryAttributes[0].iMedia->SetTObjectValueL(
+ KGlxMediaCollectionInternalEndDate, endMonth);
+ }
}
else if( EQueryResultModeCount == query->ResultMode() )
{
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdscommand.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdscommand.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -273,7 +273,6 @@
// Copy files to another drive.
// ----------------------------------------------------------------------------
//
-/// @todo minor: Rowland Cook 12/06/2007 Has this method been tested? If so remove comments
void CGlxDataSourceTaskMdeCommand::CopyL(const RArray<TGlxMediaId>& aSourceIds,
const TDesC& aDrive)
{
@@ -285,7 +284,6 @@
// Move files to another drive.
// ----------------------------------------------------------------------------
//
-/// @todo minor: Rowland Cook 12/06/2007 Has this method been tested? If so remove comments
void CGlxDataSourceTaskMdeCommand::MoveL(const RArray<TGlxMediaId>& aSourceIds,
const TDesC& aDrive)
{
@@ -373,7 +371,6 @@
//
// ----------------------------------------------------------------------------
//
-/// @todo minor: Rowland Cook 12/06/2007 Has this method been tested? If so remove comments
void CGlxDataSourceTaskMdeCommand::RenameL(const TGlxMediaId& aSourceItemId,
const TDesC& aTitle)
{
@@ -691,16 +688,7 @@
TItemId CGlxDataSourceTaskMdeCommand::ContainerItemId(const TGlxMediaId& aMediaId)
{
TRACER("TMdEItemId CGlxDataSourceTaskMdeCommand::ContainerItemId()");
- TItemId containerId = aMediaId.Value();
- if (aMediaId == KGlxCollectionRootId)
- {
- // Check the collection plugin uid
- if (iCollectionUid == TUid::Uid(KGlxCollectionPluginCameraImplementationUid))
- {
- // containerId = DataSource()->CameraAlbumId().Value();
- }
- }
- return containerId;
+ return aMediaId.Value();
}
// ----------------------------------------------------------------------------
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsidlist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -258,6 +258,7 @@
TTime lastMonth;
TTime currentMonth;
TInt count = aQuery.Count();
+ GLX_DEBUG2("CGlxDataSourceTaskMdeIdList::DoMonthListCreationL count=%d", count);
for( TInt i = 0 ; i < count ; i++ )
{
CMdEObject& object = (CMdEObject&)aQuery.ResultItem(i);
@@ -273,9 +274,11 @@
{
const TGlxMediaId monthId = DataSource()->GetMonthIdL(currentMonth);
monthList.AppendL(monthId);
+ GLX_DEBUG2("CGlxDataSourceTaskMdeIdList::DoMonthListCreationL monthId=%d", monthId.Value());
lastMonth = currentMonth;
}
}
+ GLX_DEBUG2("CGlxDataSourceTaskMdeIdList::DoMonthListCreationL monthList.Count=%d", monthList.Count());
PostFilterL(monthList, aFilterProperties);
CleanupStack::PopAndDestroy(&monthList);
}
--- a/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsthumbnail.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdsthumbnail.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -156,6 +156,9 @@
void CGlxDataSourceTaskMdeThumbnail::ExecuteRequestL()
{
TRACER("CGlxDataSourceTaskMdeThumbnail::ExecuteRequestL()")
+#ifdef _DEBUG
+ iStartTime.HomeTime();
+#endif
CGlxThumbnailRequest* request = static_cast<CGlxThumbnailRequest*>(iRequest);
TGlxThumbnailRequest tnReq;
@@ -243,6 +246,11 @@
__ASSERT_DEBUG(dynamic_cast<CGlxThumbnailRequest*>(iRequest), Panic(EGlxPanicLogicError));
CGlxThumbnailRequest* req = static_cast<CGlxThumbnailRequest*>(iRequest);
GLX_DEBUG2("*** CGlxDataSourceTaskMdeThumbnail::HandleThumbnailFetchCompleteL() Id=%d ***", req->ItemId().Value());
+#ifdef _DEBUG
+ iStopTime.HomeTime();
+ GLX_DEBUG2("CGlxDataSourceTaskMdeThumbnail:HandleThumbnailFetchCompleteL() took %d us",
+ (TInt)iStopTime.MicroSecondsFrom(iStartTime).Int64());
+#endif
delete iResponse;
iResponse = NULL;
iResponse = CMPXMedia::NewL();
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/src/glxcollectionpluginimageviewer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginimageviewer/src/glxcollectionpluginimageviewer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -92,8 +92,8 @@
}
void CGlxCollectionPluginImageViewer::CpiAttributeAdditionalAttributes(
- const TMPXAttribute& aCpiAttribute,
- RArray<TMPXAttribute>& aAttributeArray)
+ const TMPXAttribute& /*aCpiAttribute*/,
+ RArray<TMPXAttribute>& /*aAttributeArray*/)
{
// Nothing to be shared apart from the ones that are commonly loaded.
}
@@ -146,8 +146,8 @@
}
void CGlxCollectionPluginImageViewer::HandleCpiAttributeResponseL(
- CMPXMedia* aResponse, TArray<TMPXAttribute> aCpiAttributes,
- TGlxMediaId aMediaId)
+ CMPXMedia* /*aResponse*/, TArray<TMPXAttribute> aCpiAttributes,
+ TGlxMediaId /*aMediaId*/)
{
const TInt attribCount = aCpiAttributes.Count();
--- a/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/plugins/glxcollectionpluginmonths/src/glxcollectionpluginmonths.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -121,6 +121,7 @@
TInt attrCount = aAttributeArray.Count();
TBool found = EFalse;
TBool startfound = EFalse;
+ TBool endfound = EFalse;
#ifdef GLX_SUB_TITLE_REL8
@@ -180,6 +181,10 @@
{
startfound = ETrue;
}
+ else if(aAttributeArray[index] == KGlxMediaCollectionInternalEndDate )
+ {
+ endfound = ETrue;
+ }
}
if (!found)
@@ -190,6 +195,10 @@
{
aAttributeArray.Append(KGlxMediaCollectionInternalStartDate);
}
+ if(!endfound)
+ {
+ aAttributeArray.Append(KGlxMediaCollectionInternalEndDate);
+ }
#endif
// end date will be returned when start date is requested.
}
@@ -231,6 +240,7 @@
CleanupStack::PushL(mediaArray);
const TInt arrayCount = mediaArray->Count();
+ GLX_DEBUG2("CGlxCollectionPluginMonths::HandleCpiAttributeResponseL arrayCount=%d", arrayCount);
// Sanity check
if (arrayCount != mediaIdCount)
@@ -262,6 +272,8 @@
TRACER("CGlxCollectionPluginMonths::HandleCpiAttributeResponseL");
TInt count = aCpiAttributes.Count();
+ GLX_DEBUG2("CGlxCollectionPluginMonths::HandleCpiAttributeResponseL count=%d", count);
+
TLanguage lang;
lang = User::Language();
@@ -666,8 +678,10 @@
return filterProperties;
}
-
-
+// ----------------------------------------------------------------------------
+// GetMonthNameAsStringLC
+// ----------------------------------------------------------------------------
+//
HBufC* CGlxCollectionPluginMonths::GetMonthNameAsStringLC(
const TMonth& aMonth, const TMonthStringType& aStrType)
{
--- a/photosgallery/collectionframework/plugins/tagcollectionplugin/src/glxcollectionplugintags.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/plugins/tagcollectionplugin/src/glxcollectionplugintags.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -170,8 +170,6 @@
HandleCpiAttributeResponseL((*mediaArray)[index], aCpiAttributes,
aMediaIds[index]);
}
-
- /// @todo - Can we reset a value. Does it overwrite the original or does it leak? Must test
aResponse->SetCObjectValueL(KMPXMediaArrayContents, mediaArray);
CleanupStack::PopAndDestroy(mediaArray);
}
--- a/photosgallery/collectionframework/thumbnailcreator/src/glxtnfileutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/thumbnailcreator/src/glxtnfileutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -75,7 +75,7 @@
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/collectionframework/thumbnailcreator/src/glxtnimageutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/thumbnailcreator/src/glxtnimageutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -116,7 +116,6 @@
//Get Exif Metadata and the orientation tag from the file first
TUint16 orientation = GetOrientationL(aFileName);
TInt isExtDecoderUsed = 0;
- ///iDecoder = GlxtnImageDecoderFactory::NewL( iFs, aFileName );
iDecoder = GlxtnImageDecoderFactory::NewL( iFs, aFileName, isExtDecoderUsed );
iOriginalSize = iDecoder->FrameInfo().iOverallSizeInPixels;
//Get the orientation and set rotation on the decoder
@@ -218,17 +217,6 @@
// OPTION ARMCC --asm --interleave
// Modify optimization for ARM insturcion set and for maximum speed
// OPTION_REPLACE ARMCC --arm -Otime
-/* aSource->LockHeap();
- TUint16* sourceAddress = (TUint16*)aSource->DataAddress();
- aSource->UnlockHeap();
- aTarget->LockHeap();
- TUint16* targetAddress = (TUint16*)aTarget->DataAddress();
- aTarget->UnlockHeap();
- ScaleColor64K(sourceAddress, aSource->DataStride(),
- sourceSize.iWidth, sourceSize.iHeight, 0, 0, sourceSize.iWidth, sourceSize.iHeight,
- targetAddress, aTarget->DataStride(),
- targetSize.iWidth, targetSize.iHeight);
-*/
void CGlxtnImageUtility::FilterImageL(TRequestStatus* aStatus, CFbsBitmap* aSource, CFbsBitmap*& aFilteredSource, CFbsBitmap* aTarget)
{
@@ -299,20 +287,12 @@
TUint16* targetAddress = (TUint16*)aTarget->DataAddress();
aTarget->UnlockHeap();
ScaleColor64K(sourceAddress, sourceImage->DataStride(),
- sourceImage->SizeInPixels().iWidth, sourceImage->SizeInPixels().iHeight, 0, 0, sourceImage->SizeInPixels().iWidth, sourceImage->SizeInPixels().iHeight,
- targetAddress, aTarget->DataStride(),
- targetSize.iWidth, targetSize.iHeight);
+ sourceImage->SizeInPixels().iWidth,
+ sourceImage->SizeInPixels().iHeight, 0, 0,
+ sourceImage->SizeInPixels().iWidth,
+ sourceImage->SizeInPixels().iHeight, targetAddress,
+ aTarget->DataStride(), targetSize.iWidth, targetSize.iHeight);
-/* if ( !iBitGc )
- {
- iBitGc = CFbsBitGc::NewL();
- }
- CFbsBitmapDevice *bitmapDevice = CFbsBitmapDevice::NewL(aTarget);
- CleanupStack::PushL(bitmapDevice);
- iBitGc->Activate(bitmapDevice);
- iBitGc->DrawBitmap(targetRect, sourceImage, sourceRect);
- CleanupStack::PopAndDestroy(bitmapDevice);
-*/
*aStatus = KRequestPending;
User::RequestComplete(aStatus, KErrNone);
}
@@ -409,11 +389,11 @@
#define mask32gbr655 0x07e0f81f
-// Keep below three defs in sync with each other!
+// Keep below three defs in sync with each other
#define KFIRLen 2
#define KFIRCen (KFIRLen / 2)
#define incFIRIndex( i ) i = (i + 1) & (KFIRLen - 1)
-// Keep above three defs in sync with each other!
+// Keep above three defs in sync with each other
void CGlxtnImageUtility::FIRFiltering(
TUint16* aDst, TUint aDstStridep, TUint aDstCols, TUint aDstRows )
@@ -429,10 +409,8 @@
p = aDst;
for ( row = aDstRows - 1; row >= 0; row-- )
{
- // read for cache
- //for ( col = aDstCols - 1; col >= 0; col-- ) TInt temp = p[ col ];
// Fill in the FIR first.
- // TODO: Fill in with extrapolated values at edges!
+ // TODO: Fill in with extrapolated values at edges
FIRsum = ((KFIRLen / 2)<<21) | ((KFIRLen / 2)<<11) | (KFIRLen / 2); // for correct rounding
i = 0;
TUint32 mask1 = mask32gbr655;
@@ -492,11 +470,11 @@
}
}
//
-// Keep below three defs in sync with each other!
+// NOTE: Keep below three defs in sync with each other
#define KFIRLen4 4
#define KFIRCen4 (KFIRLen4 / 2)
#define incFIRIndex4( i ) i = (i + 1) & (KFIRLen4 - 1)
-// Keep above three defs in sync with each other!
+// NOTE: Keep above three defs in sync with each other
void CGlxtnImageUtility::FIRFiltering4(
TUint16* aDst, TUint aDstStridep, TUint aDstCols, TUint aDstRows )
@@ -512,10 +490,8 @@
p = aDst;
for ( row = aDstRows - 1; row >= 0; row-- )
{
- // read for cache
- //for ( col = aDstCols - 1; col >= 0; col-- ) TInt temp = p[ col ];
// Fill in the FIR first.
- // TODO: Fill in with extrapolated values at edges!
+ // TODO: Fill in with extrapolated values at edges
FIRsum = ((KFIRLen4 / 2)<<21) | ((KFIRLen4 / 2)<<11) | (KFIRLen4 / 2); // for correct rounding
i = 0;
TUint32 mask1 = mask32gbr655;
@@ -575,11 +551,11 @@
}
}
-// Keep below three defs in sync with each other!
+// Keep below three defs in sync with each other
#define KFIRLen8 8
#define KFIRCen8 (KFIRLen8 / 2)
#define incFIRIndex8( i ) i = (i + 1) & (KFIRLen8 - 1)
-// Keep above three defs in sync with each other!
+// Keep above three defs in sync with each other
void CGlxtnImageUtility::FIRFiltering8(
TUint16* aDst, TUint aDstStridep, TUint aDstCols, TUint aDstRows )
@@ -595,10 +571,8 @@
p = aDst;
for ( row = aDstRows - 1; row >= 0; row-- )
{
- // read for cache
- //for ( col = aDstCols - 1; col >= 0; col-- ) TInt temp = p[ col ];
// Fill in the FIR first.
- // TODO: Fill in with extrapolated values at edges!
+ // TODO: Fill in with extrapolated values at edges
FIRsum = ((KFIRLen8 / 2)<<21) | ((KFIRLen8 / 2)<<11) | (KFIRLen8 / 2); // for correct rounding
i = 0;
TUint32 mask1 = mask32gbr655;
--- a/photosgallery/collectionframework/thumbnailcreator/src/glxtnvolumedatabase.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/thumbnailcreator/src/glxtnvolumedatabase.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -484,7 +484,7 @@
iTable.GetL();
TPtrC filename = iTable.ColDes(KGlxColItemUri);
- // does file exist?
+ // check if file exists
TTime time(0);
TInt err = iFs.Modified(filename, time);
GLX_LOG_INFO1("void CGlxtnVolumeDatabase::CleanupRowL() New Time = %Ld",time.Int64());
@@ -520,7 +520,7 @@
iTable.PutL();
}
- // Now delete from Thumbnails
+ // Now delete from Thumbnails
HBufC* sql = HBufC::NewLC(KGlxDeleteThumbnails().Length() +
KGlxTIntMaxDigits);
sql->Des().Format( KGlxDeleteThumbnails, thumbId );
--- a/photosgallery/collectionframework/thumbnailcreator/thumbnailcomposerplugin/glxthumbnailcomposerplugin.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/collectionframework/thumbnailcreator/thumbnailcomposerplugin/glxthumbnailcomposerplugin.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -328,7 +328,7 @@
iState = EStateIdle;
}
- return ETrue ; //( iState == EStateIdle );
+ return ETrue ;
}
#ifdef RD_MDS_2_0
--- a/photosgallery/common/bwins/glxcommonu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/common/bwins/glxcommonu.def Wed Mar 31 21:31:03 2010 +0300
@@ -31,8 +31,8 @@
?CreateCombinedFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@ABVTGlxFilterProperties@@PAV2@H@Z @ 30 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateCombinedFilterL(class TGlxFilterProperties const &, class CMPXMedia *, int)
?RemoveFromContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@VTGlxMediaId@@ABVCMPXCollectionPath@@@Z @ 31 NONAME ; class CMPXMedia * TGlxCommandFactory::RemoveFromContainerCommandLC(class TGlxMediaId, class CMPXCollectionPath const &)
?NewL@CGlxIadUpdate@@SAPAV1@XZ @ 32 NONAME ; class CGlxIadUpdate * CGlxIadUpdate::NewL(void)
- ??1CGlxSingletonStore@@UAE@XZ @ 33 NONAME ; CGlxSingletonStore::~CGlxSingletonStore(void)
- ?IdsL@TGlxCommandParser@@SAHAAVTUid@@AAKABVCMPXMedia@@@Z @ 34 NONAME ; int TGlxCommandParser::IdsL(class TUid &, unsigned long &, class CMPXMedia const &)
+ ?IdsL@TGlxCommandParser@@SAHAAVTUid@@AAKABVCMPXMedia@@@Z @ 33 NONAME ; int TGlxCommandParser::IdsL(class TUid &, unsigned long &, class CMPXMedia const &)
+ ??1CGlxSingletonStore@@UAE@XZ @ 34 NONAME ; CGlxSingletonStore::~CGlxSingletonStore(void)
?CreateModifiedDateFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@W4TGlxFilterSortDirection@@@Z @ 35 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateModifiedDateFilterL(enum TGlxFilterSortDirection)
?AddContainerCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVTDesC16@@H@Z @ 36 NONAME ; class CMPXMedia * TGlxCommandFactory::AddContainerCommandLC(class TDesC16 const &, int)
?DeleteLocationCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@@Z @ 37 NONAME ; class CMPXMedia * TGlxCommandFactory::DeleteLocationCommandLC(class CMPXCollectionPath const &)
@@ -45,6 +45,7 @@
?DeleteCommandLC@TGlxCommandFactory@@SAPAVCMPXMedia@@ABVCMPXCollectionPath@@@Z @ 44 NONAME ; class CMPXMedia * TGlxCommandFactory::DeleteCommandLC(class CMPXCollectionPath const &)
?CreateSlideShowFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@PAVCMPXCollectionPath@@W4TGlxFilterSortDirection@@W4TGlxFilterSortOrder@@@Z @ 45 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateSlideShowFilterL(class CMPXCollectionPath *, enum TGlxFilterSortDirection, enum TGlxFilterSortOrder)
?Close@CGlxSingletonStore@@SAXPAVCBase@@@Z @ 46 NONAME ; void CGlxSingletonStore::Close(class CBase *)
- ?CreateContainerPreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 47 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateContainerPreviewFilterL(void)
- ?CreatePreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 48 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewFilterL(void)
+ ?CreatePreviewTNFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 47 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewTNFilterL(void)
+ ?CreateContainerPreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 48 NONAME ; class CMPXMedia * TGlxFilterFactory::CreateContainerPreviewFilterL(void)
+ ?CreatePreviewFilterL@TGlxFilterFactory@@SAPAVCMPXMedia@@XZ @ 49 NONAME ; class CMPXMedia * TGlxFilterFactory::CreatePreviewFilterL(void)
--- a/photosgallery/common/eabi/glxcommonu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/common/eabi/glxcommonu.def Wed Mar 31 21:31:03 2010 +0300
@@ -51,4 +51,5 @@
_ZN21CGlxResourceUtilities20GetResourceFilenameLER4TBufILi256EER3RFs @ 50 NONAME
_ZTI13CGlxIadUpdate @ 51 NONAME
_ZTV13CGlxIadUpdate @ 52 NONAME
+ _ZN17TGlxFilterFactory22CreatePreviewTNFilterLEv @ 53 NONAME
--- a/photosgallery/common/inc/glxfilterfactory.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/common/inc/glxfilterfactory.h Wed Mar 31 21:31:03 2010 +0300
@@ -129,6 +129,12 @@
*/
IMPORT_C static CMPXFilter* CreatePreviewFilterL();
+ /**
+ * Creates a filter that sets filters for ONE preview thumbnail
+ *
+ * @return a filter object with array elements set for previews
+ */
+ IMPORT_C static CMPXFilter* CreatePreviewTNFilterL();
/**
* Creates a filter that sets filters for the previews for items which have containers( albums, tags )
--- a/photosgallery/common/src/glxcommandparser.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/common/src/glxcommandparser.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -61,10 +61,6 @@
{
ArrayValueL(KMPXMediaGeneralContainerId, targetIdArray, aCommand);
}
-
-/// @todo minor: Rowland Cook 12/06/2007 Could this be restrctured to be more efficient?
-// IE - Test for invalid combiations before retrieving the data.
-
if(hasTitle)
{
if(hasUri || hasSourceIds || hasDrive || hasTargetIds)
--- a/photosgallery/common/src/glxfilterfactory.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/common/src/glxfilterfactory.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -154,6 +154,21 @@
return CreateCombinedFilterL(filterProperties);
}
+// ---------------------------------------------------------------------------
+// Creates a preview TN filter object with one thumbnail
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CMPXFilter* TGlxFilterFactory::CreatePreviewTNFilterL()
+ {
+ TGlxFilterProperties filterProperties;
+ // Exclude empty containers
+ filterProperties.iMinCount = 1;
+ // If sorting on date, override sort direction to descending
+ filterProperties.iSortDirection = EGlxFilterSortDirectionOverrideToDescendingIfDate;
+ // Request only one item
+ filterProperties.iMaxCount = 1;
+ return CreateCombinedFilterL(filterProperties);
+ }
// ---------------------------------------------------------------------------
// Creates a preview filter object for container items (album, tags)
@@ -280,7 +295,11 @@
if( !aOverrideOriginal || ( EGlxFilterSortDirectionNotUsed == aFilterProperties.iSortDirection ) )
{
sortDirection = aOriginalFilter->ValueTObjectL<TGlxFilterSortDirection>(KGlxFilterGeneralSortDirection);
- TBool descendIfDate = ( EGlxFilterSortDirectionOverrideToDescendingIfDate == sortDirection ) && ( ( EGlxFilterSortOrderCaptureDate == sortFilter ) || ( EGlxFilterSortOrderModifiedDate == sortFilter ) );
+ TBool descendIfDate =
+ (EGlxFilterSortDirectionOverrideToDescendingIfDate == sortDirection) &&
+ ( (EGlxFilterSortOrderCaptureDate == sortFilter) ||
+ (EGlxFilterSortOrderModifiedDate == sortFilter)
+ );
if( EGlxFilterSortDirectionReverse == sortDirection )
{
if( EGlxFilterSortDirectionDescending == aFilterProperties.iSortDirection )
@@ -356,6 +375,18 @@
filter->SetTObjectValueL<TInt>(KGlxFilterGeneralMinCount, minCount);
}
+ TInt maxCount = aFilterProperties.iMaxCount;
+ if( aOriginalFilter->IsSupported(KGlxFilterGeneralMaxCount) )
+ {
+ if( !aOverrideOriginal || ( 0 == aFilterProperties.iMaxCount ) )
+ {
+ maxCount = aOriginalFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMaxCount);
+ }
+ }
+ if( !(maxCount == 0) )
+ {
+ filter->SetTObjectValueL<TInt>(KGlxFilterGeneralMaxCount, maxCount);
+ }
TGlxMediaId itemId = aFilterProperties.iContainsItem;
if( aOriginalFilter->IsSupported(KGlxFilterGeneralItemId) )
@@ -515,6 +546,10 @@
{
filterProperties.iMinCount = aFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMinCount);
}
+ if (aFilter->IsSupported(KGlxFilterGeneralMaxCount))
+ {
+ filterProperties.iMaxCount = aFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMaxCount);
+ }
if (aFilter->IsSupported(KGlxFilterGeneralItemId))
{
filterProperties.iContainsItem = (TGlxMediaId)(TUint32)aFilter->ValueTObjectL<TMPXItemId>(KGlxFilterGeneralItemId);
--- a/photosgallery/commonui/inc/glxbackservicewrapper.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* Copyright (c) 2008-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: wrapper for Back Stepping Service
-*
-*/
-
-
-
-
-#ifndef C_GLX_BACKSERVICE_WRAPPER
-#define C_GLX_BACKSERVICE_WRAPPER
-
-#include <e32base.h>
-
-class MLiwInterface;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-
-/**
- * BS Service wrapper
- *
- * @since S60 v3.2
- */
-class CGlxBackServiceWrapper : public CBase
- {
-
-public:
-
- /**
- * Two-phased constructors
- * @param aUid client application UID
- */
- static CGlxBackServiceWrapper* NewL( const TUid aUid );
- static CGlxBackServiceWrapper* NewLC( const TUid aUid );
-
- /**
- * Destructor.
- */
- virtual ~CGlxBackServiceWrapper();
-
- /**
- * Forwards activation event
- *
- * @since S60 v3.2
- * @param aState state of application like view ids
- * @param aEnter indicate if it is entry/exit activation
- * @return result code retutned by BS Service interface
- * @leave leaves from HandleResultL are propagated
- */
- IMPORT_C TInt ForwardActivationEventL( const TDesC8& aState, const TBool aEnter );
-
- /**
- * Handles back command
- *
- * @since S60 v3.2
- * @param aState state of application like view ids
- * @return result code retutned by BS Service interface
- * @leave leaves from HandleResultL are propagated
- */
- IMPORT_C TInt HandleBackCommandL( const TDesC8& aState, const TBool aCheckOnly = EFalse );
-
-private:
-
- CGlxBackServiceWrapper();
-
- /**
- * 2nd phase constructor
- * @param aUid client application UID
- */
- void ConstructL( const TUid aUid );
-
- /**
- * Initializes BS Service
- * @param aUid client application UID
- * @leave KErrNotSupported or KErrArgument
- * (if arguments passed to BS Service are incorrect
- * or could not initialize BS)
- * KErrNotFound (if there was no return value)
- */
- void InitializeL( const TUid aUid );
-
- /**
- * Handles the result of a LIW command
- * @return result code retutned by BS Service interface
- * @leave KErrNotSupported or KErrArgument
- * (if arguments passed to BS Service are incorrect)
- * KErrNotFound (if there was no return value)
- */
- TInt HandleResultL();
-
-private: // data
-
- /**
- * Liw Service Handler
- * Own.
- */
- CLiwServiceHandler* iServiceHandler;
-
- /**
- * BS Service interface returned by LIW
- * Own.
- */
- MLiwInterface* iBSInterface;
-
- /**
- * In param list
- * Not own.
- */
- CLiwGenericParamList* iInParamList;
-
- /**
- * Out param list
- * Not own.
- */
- CLiwGenericParamList* iOutParamList;
-
- };
-
-#endif // C_GLX_BACKSERVICE_WRAPPER
--- a/photosgallery/commonui/src/glxbackservicewrapper.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-/*
-* Copyright (c) 2008-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: wrapper for Back Stepping Service
-*
-*/
-
-
-
-
-// from AIW and LIW
-#include <liwcommon.h>
-#include <liwservicehandler.h>
-
-#include <glxtracer.h>
-#include <glxlog.h>
-
-// parameter names used by BS Service
-#include "glxbsserviceconstants.h"
-
-// for CleanupResetAndDestroyPushL
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-
-
-#include "glxbackservicewrapper.h"
-
-using namespace LIW;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CGlxBackServiceWrapper::CGlxBackServiceWrapper()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CGlxBackServiceWrapper::ConstructL( const TUid aUid )
- {
- TRACER( "CGlxBackServiceWrapper::ConstructL" );
- // create Service Handler and keep as long as access to BS Service needed
- iServiceHandler = CLiwServiceHandler::NewL();
- // for convinience keep pointers to Service Handler param lists
- iInParamList = &iServiceHandler->InParamListL();
- iOutParamList = &iServiceHandler->OutParamListL();
-
- RCriteriaArray criteriaArray;
- CleanupResetAndDestroyPushL( criteriaArray );
-
- // create Liw criteria
- CLiwCriteriaItem* criterion =
- CLiwCriteriaItem::NewLC( KLiwCmdAsStr, KBSInterface, KBSServiceID );
- criterion->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-
- criteriaArray.AppendL( criterion );
- CleanupStack::Pop( criterion );
-
- // attach Liw criteria
- iServiceHandler->AttachL( criteriaArray );
- // get BS Service interface
- iServiceHandler->ExecuteServiceCmdL( *criterion,
- *iInParamList,
- *iOutParamList );
-
- CleanupStack::PopAndDestroy( &criteriaArray );
-
- // extract BS interface from output params
- TInt pos( 0 );
- iOutParamList->FindFirst( pos, KBSInterface );
- if( pos != KErrNotFound )
- {
- iBSInterface = (*iOutParamList)[pos].Value().AsInterface();
- }
-
- if ( !iBSInterface )
- {
- // handle no BS Service
- User::Leave( KErrNotFound );
- }
-
- InitializeL( aUid );
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGlxBackServiceWrapper* CGlxBackServiceWrapper::NewL(
- const TUid aUid )
- {
- TRACER( "CGlxBackServiceWrapper::NewL" );
- CGlxBackServiceWrapper* self =
- CGlxBackServiceWrapper::NewLC( aUid );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGlxBackServiceWrapper* CGlxBackServiceWrapper::NewLC(
- const TUid aUid )
- {
- TRACER( "CGlxBackServiceWrapper::NewLC" );
- CGlxBackServiceWrapper* self = new( ELeave ) CGlxBackServiceWrapper;
- CleanupStack::PushL( self );
- self->ConstructL( aUid );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-CGlxBackServiceWrapper::~CGlxBackServiceWrapper()
- {
- TRACER( "CGlxBackServiceWrapper::~CGlxBackServiceWrapper" );
- if ( iBSInterface )
- {
- iBSInterface->Close();
- }
-
- delete iServiceHandler;
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CGlxBackServiceWrapper::ForwardActivationEventL( const TDesC8& aState,
- const TBool aEnter )
- {
- TRACER( "CGlxBackServiceWrapper::ForwardActivationEventL" );
- iInParamList->Reset();
- iOutParamList->Reset();
-
- TLiwGenericParam state( KBSInParamState, TLiwVariant( aState ) );
- iInParamList->AppendL( state );
- TLiwGenericParam enter( KBSInParamEnter, TLiwVariant( aEnter ) );
- iInParamList->AppendL( enter );
-
- iBSInterface->ExecuteCmdL( KBSCmdForwardActivationEvent,
- *iInParamList,
- *iOutParamList );
-
- TInt result = HandleResultL();
-
- iInParamList->Reset();
- iOutParamList->Reset();
-
- return result;
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CGlxBackServiceWrapper::HandleBackCommandL( const TDesC8& aState,
- const TBool aCheckOnly)
- {
- TRACER( "CGlxBackServiceWrapper::HandleBackCommandL" );
- iInParamList->Reset();
- iOutParamList->Reset();
-
- TLiwGenericParam state( KBSInParamState, TLiwVariant( aState ) );
- iInParamList->AppendL( state );
- TLiwGenericParam checkOnly( KBSInParamCheckOnly, TLiwVariant( aCheckOnly ) );
- iInParamList->AppendL( checkOnly );
-
- iBSInterface->ExecuteCmdL( KBSCmdHandleBackCommand,
- *iInParamList,
- *iOutParamList );
-
- TInt result = HandleResultL();
-
- iInParamList->Reset();
- iOutParamList->Reset();
-
- return result;
- }
-
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-void CGlxBackServiceWrapper::InitializeL( const TUid aUid )
- {
- TRACER( "CGlxBackServiceWrapper::InitializeL" );
- iInParamList->Reset();
- iOutParamList->Reset();
-
- TLiwGenericParam appUid( KBSInParamAppUid, TLiwVariant( aUid.iUid ) );
- iInParamList->AppendL( appUid );
-
- iBSInterface->ExecuteCmdL( KBSCmdInitialize,
- *iInParamList,
- *iOutParamList );
-
- if ( HandleResultL() != 1 )
- {
- // Initialize command was not consumed - handle failiure
- User::Leave( KErrArgument );
- }
-
- iInParamList->Reset();
- iOutParamList->Reset();
- }
-
-// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
-//
-TInt CGlxBackServiceWrapper::HandleResultL()
- {
- TRACER( "CGlxBackServiceWrapper::HandleResultL" );
- TInt statusInfo( KErrNotFound );
-
- TInt posErr( 0 );
- iOutParamList->FindFirst( posErr, EGenericParamError );
- if( posErr != KErrNotFound )
- {
- // error code found - extract and handle
- TInt errorCode( KErrNone );
- (*iOutParamList)[posErr].Value().Get( errorCode );
-
- User::LeaveIfError( errorCode );
- }
-
- // if no error returned, carry on
- TInt posStat( 0 );
- iOutParamList->FindFirst( posStat, KBSOutParamStatusInfo );
- if( posStat != KErrNotFound )
- {
- // status info present - extract and return
- (*iOutParamList)[posStat].Value().Get( statusInfo );
- }
- else
- {
- // no return value
- // this should not happen
- User::Leave( KErrNotFound );
- }
-
- return statusInfo;
- }
--- a/photosgallery/commonui/src/glxnavigationalstate.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/commonui/src/glxnavigationalstate.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -250,7 +250,7 @@
void SetToViewMode()
{
iViewingMode = NGlxNavigationalState::EView;
- // inform the observers( only appui!! ) that the mode is view
+ // inform the observers( only appui ) that the mode is view
NotifyObserversOfStateChange();
}
@@ -436,7 +436,7 @@
EXPORT_C void CGlxNavigationalState::SetToViewMode()
{
iImp->SetToViewMode();
- // inform the observers( only appui!! ) that the mode is view
+ // inform the observers( only appui ) that the mode is view
}
// -----------------------------------------------------------------------------
--- a/photosgallery/contentharvesterplugin/data/200104DF.rss Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2000 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: Resource definitions
-*
-*/
-
-// INCLUDES
-#include <ecom/registryinfo.rh>
-#include "glxcontentharvesterplugin.hrh"
-
-
-//CONSTANTS
-#define KCCHarvesterServerPluginUid 0x10282E5B
-
-
-// RESOURCE DEFINITIONS
-// -----------------------------------------------------------------------------
-//
-// REGISTRY_INFO theInfo
-// Declares info for the "all" implementation
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE REGISTRY_INFO theInfo
- {
- // UID for the DLL
- dll_uid = KGlxCHPluginDllUid;
- // Declare array of interface info
- interfaces =
- {
- INTERFACE_INFO
- {
- // UID of interface that is implemented
- interface_uid = KCCHarvesterServerPluginUid;
- implementations =
- {
- // Info for ContentHarvesterPlugin
- IMPLEMENTATION_INFO
- {
- implementation_uid = KGlxCHPluginImplUid;
- version_no = 1;
- display_name = "photos";
- default_data = "photos";
- opaque_data = "photos";
- }
- };
- }
- };
- }
-
-// End of File
--- a/photosgallery/contentharvesterplugin/group/bld.inf Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2008-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: Build information file for project glxcontentharvesterplugin
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_MMPFILES
-glxcontentharvesterplugin.mmp
-
-PRJ_EXPORTS
-../rom/glxcontentharvesterplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(glxcontentharvesterplugin.iby)
-
-// End of file
-
-// End of file
--- a/photosgallery/contentharvesterplugin/group/glxcontentharvesterplugin.mmp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2008-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: Project definition file for project CHPlugin
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-
-TARGET glxcontentharvesterplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x200104DF
-
-#ifndef WINSCW
-EPOCALLOWDLLDATA
-#endif
-
-CAPABILITY CAP_ECOM_PLUGIN
-
-SOURCEPATH ../src
-
-SOURCE glxcontentharvesterplugin.cpp
-SOURCE glxcontentharvesterpluginall.cpp
-SOURCE glxcontentharvesterpluginmonths.cpp
-SOURCE glxcontentharvesterpluginalbums.cpp
-SOURCE glxcontentharvesterpluginbase.cpp
-SOURCE glxcontentharvesterplugintags.cpp
-SOURCE glxcontentharvesterpluginproxy.cpp
-
-TARGETPATH resource/apps
-START RESOURCE ../data/200104DF.rss
-TARGET glxcontentharvesterplugin.rsc
-END // RESOURCE
-
-USERINCLUDE ../inc
-
-SYSTEMINCLUDE ../../viewframework/medialists/inc
-SYSTEMINCLUDE ../../viewframework/inc
-SYSTEMINCLUDE ../../common/inc
-SYSTEMINCLUDE ../../commonui/inc
-SYSTEMINCLUDE ../../collectionframework/thumbnailcreator/inc
-SYSTEMINCLUDE ../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY cdlengine.lib
-LIBRARY ws32.lib
-LIBRARY ecom.lib
-LIBRARY euser.lib
-LIBRARY fbscli.lib
-LIBRARY glxlogging.lib
-LIBRARY liwservicehandler.lib
-LIBRARY mpxcommon.lib // CMPXCollectionPath
-LIBRARY glxmedialists.lib // medialist
-LIBRARY glxcommon.lib // CMPXmedia
-LIBRARY featmgr.lib // For FeatureManager::FeatureSupported
-LIBRARY mpxcollectionutility.lib
-LIBRARY aknicon.lib
-LIBRARY apgrfx.lib
-DEBUGLIBRARY flogger.lib
-
-//end of file
-
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugin.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the content in the photosuite
- *
- */
-
-#ifndef C_GLXCONTENTHARVESTERPLUGIN_H
-#define C_GLXCONTENTHARVESTERPLUGIN_H
-
-// INCLUDES
-
-#include <liwcommon.h>
-
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmediaid.h> // for TGlxMediaId
-
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-
-// FORWARD DECLARATIONS
-
-class MGlxMediaList;
-class CGlxAttributeContext;
-class TGlxSequentialIterator;
-class MGlxContentHarvesterPluginEntry;
-class CGlxDefaultAttributeContext;
-class CMPXCollectionPath;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-
-
-class MGlxContentHarvesterPlugin
- {
-public :
- virtual void UpdatePlugins(TBool aValue=ETrue)=0;
- virtual TBool IsRefreshNeeded()=0;
- virtual void SetRefreshNeeded(TBool aRefreshNeed) =0;
- virtual TBool SuiteInFocus()=0;
- };
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPlugin : public CContentHarvesterPlugin, public MGlxMediaListObserver,
- public MGlxContentHarvesterPlugin
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPlugin* NewL( MLiwInterface* aCPSInterface );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPlugin();
-
- // from base class
-
- void UpdateL();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPlugin( MLiwInterface* aCPSInterface );
-
- void UpdateDataL();
-
- CMPXCollectionPath* CollectionPathLC ( const TGlxMediaId& aPluginId ) const;
-
- void UpdateDataInCPSL(TInt aCollection);
-
- void FillInputListWithDataL(
- CLiwGenericParamList* aInParamList,
- const TDesC& aPublisherId, const TDesC& aContentType,
- TInt aCollection );
-
- void CreateContextsL();
-
- void CreateMedialistL();
-
- /*To update the plugins based on the matrix menu is on foreground or background
- * @parm: aUpdate :if it is true then update all the plugins
- * @parm: aUpdate :if it is false then remove all the observers.
- */
- void UpdatePlugins(TBool aUpdate);
-
- /*
- * Sets if the refresh of the collection is required or not
- * @parm: aUpdate :if it is true,then plugin has to be updated.
- * @parm: aUpdate :if it is false,then plugin need not be updated.
- */
- void SetRefreshNeeded(TBool aRefreshNeed);
-
- /*
- * check if refresh needed flag is set
- */
- TBool IsRefreshNeeded();
-
- void DestroyMedialist();
-
- /*
- * Check if photossuite is in focus
- */
- TBool SuiteInFocus();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt aError );
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: the attribute context
- CGlxDefaultAttributeContext* iSubtitleAttributeContext;
-
- // Owned: array of implementation objects
- RPointerArray<MGlxContentHarvesterPluginEntry> iEntries;
-
- // to check if refresh needed for plugins
- TBool iIsRefreshNeeded;
-
- // Collection Indexes array to refresh the screen
- RArray<TInt> iCollectionIndexes;
- };
-
-#endif // C_GLXCONTENTHARVESTERPLUGIN_H
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugin.hrh Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2008-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: Resource headers
- *
- */
-
-
-
-
-
-#ifndef GLXCONTENTHARVESTERPLUGIN_HRH
-#define GLXCONTENTHARVESTERPLUGIN_HRH
-
-// CONSTANTS
-
-#define KGlxCHPluginDllUid 0x200104DF //dll uid
-#define KGlxCHPluginImplUid 0x200104E0 //implementation uid
-
-
-
-#endif // GLXCONTENTHARVESTERPLUGIN_HRH
-
-// End of File
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginalbums.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the albums collection content in the photosuite
- *
- */
-
-#ifndef GLXCONTENTHARVESTERPLUGINALBUMS_H
-#define GLXCONTENTHARVESTERPLUGINALBUMS_H
-
-// INCLUDES
-#include <liwcommon.h>
-
-#include <glxmediaid.h> // for TGlxMediaId
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmedialistiterator.h> // for TGlxSequentialIterator
-
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class CPeriodic;
-class MLiwInterface;
-class CGlxAttributeContext;
-class CGlxThumbnailContext;
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPluginAlbums : public CGlxContentHarvesterPluginBase,
-public MGlxMediaListObserver, public MLiwNotifyCallback
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPluginAlbums* NewLC( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginAlbums();
-
- // from base class
-
- /**
- * Here the preview Thumbnails are updated
- */
- void UpdateDataL();
-
- /**
- * This is a call back from the Matrix Menu whenever there is change in focus
- */
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- /**
- * updates media list with coressponding context depending on the focus
- * to show the thumbnails
- */
- void UpdatePreviewThumbnailListL( );
-
- /**
- * Returns the collection items count
- */
- TInt Count();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginAlbums( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Update data in Content Publisher Storage
- */
- void UpdateDataInCPSL(TInt aHandle);
-
- /**
- * This retrievs the bitmap handle and updates the index of the
- * thumbnail to be shown
- */
- TInt UpdateItem(TInt aItemIndex);
-
- /*
- * This Function is called when the collection recives a focus and losses the focus
- * @param aOn :True : The collection is in focus
- * : False : The collection lost the focus
- */
- void ActivateL( TBool aOn );
-
- /**
- * Delets the medial list created.
- */
- void DestroyMedialist();
-
- /**
- * Creates a media list
- */
- void CreateMedialistL();
-
- /**
- * Adds the context and observers to the media list
- */
- void AddContextAndObserverL();
-
- /**
- * Adds the context and observers to the media list
- */
- void RemoveContextAndObserver();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt /*aError*/ );
-
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: Attribute Context
- CGlxAttributeContext* iUriAttributeContext;
-
- CGlxAttributeContext* iThumbnailAttributeContext;
-
- /// Own: Thumbnail Iterator
- TGlxSequentialIterator iThumbnailIterator;
-
- };
-
-#endif /*GLXCONTENTHARVESTERPLUGINALBUMS_H*/
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginall.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the All collection content in the photosuite
- *
- */
-
-#ifndef GLXCONTENTHARVESTERPLUGINALL_H_
-#define GLXCONTENTHARVESTERPLUGINALL_H_
-
-
-
-// INCLUDES
-#include <liwcommon.h>
-#include <glxmediaid.h> // for TGlxMediaId
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmedialistiterator.h> // for TGlxSequentialIterator
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class CPeriodic;
-class MLiwInterface;
-class CGlxAttributeContext;
-class CGlxThumbnailContext;
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPluginAll : public CGlxContentHarvesterPluginBase,
-public MGlxMediaListObserver, public MLiwNotifyCallback
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPluginAll* NewLC( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginAll();
-
- // from base class
-
- /**
- * Here the preview Thumbnails are updated
- */
- void UpdateDataL();
-
- /**
- * This is a call back from the Matrix Menu whenever there is change in focus
- */
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- /**
- * updates media list with coressponding context depending on the focus
- * to show the thumbnails
- */
- void UpdatePreviewThumbnailListL( );
-
- /**
- * Returns the collection items count
- */
- TInt Count();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginAll( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Update data in Content Publisher Storage
- */
- void UpdateDataInCPSL(TInt aHandle);
-
- /**
- * This retrievs the bitmap handle and updates the index of the
- * thumbnail to be shown
- */
- TInt UpdateItem(TInt aItemIndex);
-
- /*
- * This Function is called when the collection recives a focus and losses the focus
- * @param aOn :True : The collection is in focus
- * : False : The collection lost the focus
- */
- void ActivateL( TBool aOn );
-
- /**
- * Delets the medial list created.
- */
- void DestroyMedialist();
-
- /**
- * Creates a media list
- */
- void CreateMedialistL();
-
- /**
- * Adds the context and observers to the media list
- */
- void AddContextAndObserverL();
-
- /**
- * Adds the context and observers to the media list
- */
- void RemoveContextAndObserver();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt /*aError*/ );
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: Attribute Context
- CGlxAttributeContext* iUriAttributeContext;
-
- CGlxAttributeContext* iThumbnailAttributeContext;
-
- /// Own: Thumbnail Iterator
- TGlxSequentialIterator iThumbnailIterator;
-
- };
-
-#endif /*GLXCONTENTHARVESTERPLUGINALL_H_*/
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginbase.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
-* Copyright (c) 2008-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: Base class for publishing all the content
-*
-*/
-
-
-
-
-#ifndef GLXCONTENTHARVESTERPLUGINBASE_H
-#define GLXCONTENTHARVESTERPLUGINBASE_H
-
-//includes
-
-#include <liwcommon.h>
-
-//Forward Declarations
-
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class MLiwInterface;
-class CGlxContentHarvesterPluginBase;
-class CGlxThumbnailContext;
-class MGlxMediaList;
-class MGlxContentHarvesterPlugin;
-
-class MGlxContentHarvesterPluginEntry : public MLiwNotifyCallback
- {
-public:
- /**
- * Virtual destructor
- */
- virtual ~MGlxContentHarvesterPluginEntry() {};
- virtual void ContainerCacheCleanupL(MGlxMediaList* aMediaList)=0;
- virtual void UpdatePreviewThumbnailListL()=0;
- virtual void RemoveContextAndObserver()=0;
- virtual TBool Focused()=0;
- virtual TInt Count()=0;
- };
-
-
-class CGlxContentHarvesterPluginBase : public CBase, public MGlxContentHarvesterPluginEntry
- {
-public: // Constructors and destructor
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginBase( );
-
- /**
- * Perform the second phase construction
- */
- void ConstructL(TInt aDefaultIconId );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginBase();
-
- TSize GetGridIconSize();
-
- /* Calculate the Grid Icon Size for Grid Widget. It always calculate
- * size for Landscape orientation. This is done to avoid saving two
- * different thumbnail icons in Thumbnail database.
- */
- void SetGridIconSizeL();
-
- /**
- * Returns the focus status of this photossuite collection
- */
- TBool Focused();
-
- /*This returns the bitmap handle used to display the
- * default thumbnail.
- */
- TInt GetBitmapHandle() const;
-
-
- /**
- * Updates the focus value of the collection to true or false
- * @param aFoucs :True : updates the collection is in focus
- * :False : updates the collection is not in focus
- *
- */
- void SetFocus(TBool aFocus );
-
- //To check if the matrix menu is in foreground or not
- TBool IsMatrixMenuInForegroundL();
-
- /* To register for Liw notifications
- */
- void GetInterfaceForNotificationL();
- void RequestCpsNotificationL(TInt aSuiteItem);
- void SetupPublisherL(TInt aSuiteItem);
- void HandleStateChangeL(TInt aSuiteItem);
-
- /* Virtual APi which will be implemented in child classes
- * Basically gives info if the item in suite has gained focus
- * or lost it
- */
- virtual void ActivateL(TBool aOn) = 0;
-
- /*
- * Creates Medialist based on the plugin id
- */
- MGlxMediaList* CreateMedialistAndAttributeContextL(const TGlxMediaId& aPluginId,
- CGlxAttributeContext* aUriAttributeContext,
- CGlxAttributeContext* aThumbnailAttributeContext) const;
-
- /**
- * Method to fill input list for CPS add command
- */
- void FillInputListWithDataL(
- CLiwGenericParamList* aInParamList,
- const TDesC& aPublisherId, const TDesC& aContentType,
- const TDesC& aContentId, TInt aHandle);
-
- /* Cleanup medialist cache */
- void ContainerCacheCleanupL(MGlxMediaList* aMediaList);
-
- /* Set content harvester plugin instance */
- void SetCHPlugin(MGlxContentHarvesterPlugin* aCHplugin);
-
- /* Get content harvester plugin instance */
- MGlxContentHarvesterPlugin* GetCHPlugin();
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- TSize iGridIconSize;
- CLiwServiceHandler* iServiceHandler;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
-
- MLiwInterface* iCPSNotificationInterface;
- TGlxSequentialIterator iThumbnailIterator;
-
- // Instance of content harvester plugin
- MGlxContentHarvesterPlugin* iCHplugin;
-
- //This variable holds the value ,whether the collection is in focus or not
- TBool iIsFocused;
-
- //This variable is initialised with the default bitmap.
- CFbsBitmap* iBitmap;
- };
-#endif /*GLXCONTENTHARVESTERPLUGINBASE_H*/
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugincaptured.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the captured collection content in the photosuite
- *
- */
-
-#ifndef GLXCONTENTHARVESTERPLUGINCAPTURED_H_
-#define GLXCONTENTHARVESTERPLUGINCAPTURED_H_
-
-
-// INCLUDES
-#include <LiwCommon.h>
-
-#include <glxmediaid.h> // for TGlxMediaId
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmedialistiterator.h> // for TGlxSequentialIterator
-
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class CPeriodic;
-class MLiwInterface;
-class CGlxAttributeContext;
-class CGlxThumbnailContext;
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPluginCaptured : public CGlxContentHarvesterPluginBase,
-public MGlxMediaListObserver, public MLiwNotifyCallback
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPluginCaptured* NewLC( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginCaptured();
-
- // from base class
-
- /**
- * Here the preview Thumbnails are updated
- */
- void UpdateDataL();
-
- /**
- * This is a call back from the Matrix Menu whenever there is change in focus
- */
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- /**
- * updates media list with coressponding context depending on the focus
- * to show the thumbnails
- */
- void UpdatePreviewThumbnailListL( );
-
- /**
- * Returns the collection items count
- */
- TInt Count();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginCaptured( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Update data in Content Publisher Storage
- */
- void UpdateDataInCPSL(TInt aHandle);
-
- /**
- * This retrievs the bitmap handle and updates the index of the
- * thumbnail to be shown
- */
- TInt UpdateItem(TInt aItemIndex);
-
- /*
- * This Updates the thumbnail/Preview list with thumbnails already present
- */
- void HandleItemChanged();
-
- /*
- * This Function is called when the collection recives a focus and losses the focus
- * @param aOn :True : The collection is in focus
- * : False : The collection lost the focus
- */
- void ActivateL( TBool aOn );
-
- /**
- * Delets the medial list created.
- */
- void DestroyMedialist();
-
- /**
- * Creates a media list
- */
- void CreateMedialistL();
-
- /**
- * Adds the context and observers to the media list
- */
- void AddContextAndObserverL();
-
- /**
- * Adds the context and observers to the media list
- */
- void RemoveContextAndObserver();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt /*aError*/ );
-
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
- CPeriodic* iPeriodic;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: Attribute Context
- CGlxAttributeContext* iUriAttributeContext;
-
- CGlxAttributeContext* iThumbnailAttributeContext;
-
- /// Own: Thumbnail Iterator
- TGlxSequentialIterator iThumbnailIterator;
-
- RArray<TInt> iPreviewItemCount;
-
- // Preview thumbnail index
- TInt iProgressIndex;
- //this variable holds the value ,whether the collection is in focus or not
- TBool iIsFocused;
- };
-
-#endif /*GLXCONTENTHARVESTERPLUGINCAPTURED_H_*/
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugindownloads.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the downloads collection content in the photosuite
- *
- */
-
-#ifndef GLXCONTENTHARVESTERPLUGINDOWNLOADS_H_
-#define GLXCONTENTHARVESTERPLUGINDOWNLOADS_H_
-
-
-
-// INCLUDES
-#include <liwcommon.h>
-
-#include <glxmediaid.h> // for TGlxMediaId
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmedialistiterator.h> // for TGlxSequentialIterator
-
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class CPeriodic;
-class MLiwInterface;
-class CGlxAttributeContext;
-class CGlxThumbnailContext;
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPluginDownloads : public CGlxContentHarvesterPluginBase,
-public MGlxMediaListObserver, public MLiwNotifyCallback
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPluginDownloads* NewLC( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginDownloads();
-
- // from base class
-
- /**
- * Here the preview Thumbnails are updated
- */
- void UpdateDataL();
-
- /**
- * This is a call back from the Matrix Menu whenever there is change in focus
- */
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- /**
- * updates media list with coressponding context depending on the focus
- * to show the thumbnails
- */
- void UpdatePreviewThumbnailListL( );
-
- /**
- * Returns the collection items count
- */
- TInt Count();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginDownloads( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Update data in Content Publisher Storage
- */
- void UpdateDataInCPSL(TInt aHandle);
-
- /**
- * This retrievs the bitmap handle and updates the index of the
- * thumbnail to be shown
- */
- TInt UpdateItem(TInt aItemIndex);
-
- /*
- * This Updates the thumbnail/Preview list with thumbnails already present
- */
- void HandleItemChanged();
-
- /*
- * This Function is called when the collection recives a focus and losses the focus
- * @param aOn :True : The collection is in focus
- * : False : The collection lost the focus
- */
- void ActivateL( TBool aOn );
-
- /**
- * Delets the medial list created.
- */
- void DestroyMedialist();
-
- /**
- * Creates a media list
- */
- void CreateMedialistL();
-
- /**
- * Adds the context and observers to the media list
- */
- void AddContextAndObserverL();
-
- /**
- * Adds the context and observers to the media list
- */
- void RemoveContextAndObserver();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt /*aError*/ );
-
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
- CPeriodic* iPeriodic;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: Attribute Context
- CGlxAttributeContext* iUriAttributeContext;
-
- CGlxAttributeContext* iThumbnailAttributeContext;
-
- /// Own: Thumbnail Iterator
- TGlxSequentialIterator iThumbnailIterator;
-
- RArray<TInt> iPreviewItemCount;
-
- // Preview thumbnail index
- TInt iProgressIndex;
-
- //this variable holds the value ,whether the collection is in focus or not
- TBool iIsFocused;
- };
-
-#endif /*GLXCONTENTHARVESTERPLUGINDOWNLOADS_H_*/
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterpluginmonths.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the months collection content in the photosuite
- *
- */
-
-#ifndef GLXCONTENTHARVESTERPLUGINMONTHS_H_
-#define GLXCONTENTHARVESTERPLUGINMONTHS_H_
-
-
-// INCLUDES
-#include <liwcommon.h>
-
-
-#include <glxmediaid.h> // for TGlxMediaId
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmedialistiterator.h> // for TGlxSequentialIterator
-
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class CPeriodic;
-class MLiwInterface;
-class CGlxAttributeContext;
-class CGlxThumbnailContext;
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPluginMonths : public CGlxContentHarvesterPluginBase,
-public MGlxMediaListObserver, public MLiwNotifyCallback
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPluginMonths* NewLC( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginMonths();
-
- // from base class
-
- /**
- * Here the preview Thumbnails are updated
- */
- void UpdateDataL();
-
- /**
- * This is a call back from the Matrix Menu whenever there is change in focus
- */
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- /**
- * updates media list with coressponding context depending on the focus
- * to show the thumbnails
- */
- void UpdatePreviewThumbnailListL( );
-
- /**
- * Returns the collection items count
- */
- TInt Count();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginMonths( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin);
-
- /**
- * Update data in Content Publisher Storage
- */
- void UpdateDataInCPSL(TInt aHandle);
-
- /**
- * This retrievs the bitmap handle and updates the index of the
- * thumbnail to be shown
- */
- TInt UpdateItem(TInt aItemIndex);
-
- /*
- * This Function is called when the collection recives a focus and losses the focus
- * @param aOn :True : The collection is in focus
- * : False : The collection lost the focus
- */
- void ActivateL( TBool aOn );
-
- /**
- * Delets the medial list created.
- */
- void DestroyMedialist();
-
- /**
- * Creates a media list
- */
- void CreateMedialistL();
-
- /**
- * Adds the context and observers to the media list
- */
- void AddContextAndObserverL();
-
- /**
- * Adds the context and observers to the media list
- */
- void RemoveContextAndObserver();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt /*aError*/ );
-
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: Attribute Context
- CGlxAttributeContext* iUriAttributeContext;
-
- CGlxAttributeContext* iThumbnailAttributeContext;
-
- /// Own: Thumbnail Iterator
- TGlxSequentialIterator iThumbnailIterator;
-
- };
-
-#endif /*GLXCONTENTHARVESTERPLUGINMONTHS_H_*/
--- a/photosgallery/contentharvesterplugin/inc/glxcontentharvesterplugintags.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 2008-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: Publish the tags collection content in the photosuite
- *
- */
-#ifndef GLXCONTENTHARVESTERPLUGINTAGS_H_
-#define GLXCONTENTHARVESTERPLUGINTAGS_H_
-
-
-// INCLUDES
-#include <liwcommon.h>
-
-#include <glxmediaid.h> // for TGlxMediaId
-#include <mglxmedialistobserver.h> // for MGlxMediaListObserver
-#include <glxmedialistiterator.h> // for TGlxSequentialIterator
-
-#include <contentharvesterplugin.h>
-#include <contentharvesterpluginuids.hrh>
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CLiwGenericParamList;
-class CLiwServiceHandler;
-class CPeriodic;
-class MLiwInterface;
-class CGlxAttributeContext;
-class CGlxThumbnailContext;
-
-// CLASS DECLARATION
-/**
- * CP Content Harvester plugin
- *
- */
-
-class CGlxContentHarvesterPluginTags : public CGlxContentHarvesterPluginBase,
-public MGlxMediaListObserver, public MLiwNotifyCallback
- {
-public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CGlxContentHarvesterPluginTags* NewLC( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Destructor.
- */
- virtual ~CGlxContentHarvesterPluginTags();
-
- // from base class
-
- /**
- * Here the preview Thumbnails are updated
- */
- void UpdateDataL();
-
- /**
- * This is a call back from the Matrix Menu whenever there is change in focus
- */
- TInt HandleNotifyL(
- TInt aCmdId,
- TInt aEventId,
- CLiwGenericParamList& aEventParamList,
- const CLiwGenericParamList& aInParamList);
-
- /**
- * updates media list with coressponding context depending on the focus
- * to show the thumbnails
- */
- void UpdatePreviewThumbnailListL( );
-
- /**
- * Returns the collection items count
- */
- TInt Count();
-
-private:
-
- /**
- * Perform the second phase construction
- */
- void ConstructL();
-
- /**
- * Default constructor.
- */
- CGlxContentHarvesterPluginTags( MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin );
-
- /**
- * Update data in Content Publisher Storage
- */
- void UpdateDataInCPSL(TInt aHandle);
-
- /**
- * This retrievs the bitmap handle and updates the index of the
- * thumbnail to be shown
- */
- TInt UpdateItem(TInt aItemIndex);
-
- /*
- * This Function is called when the collection recives a focus and losses the focus
- * @param aOn :True : The collection is in focus
- * : False : The collection lost the focus
- */
- void ActivateL( TBool aOn );
-
- /**
- * Delets the medial list created.
- */
- void DestroyMedialist();
-
- /**
- * Creates a media list
- */
- void CreateMedialistL();
-
- /**
- * Adds the context and observers to the media list
- */
- void AddContextAndObserverL();
-
- /**
- * Adds the context and observers to the media list
- */
- void RemoveContextAndObserver();
-
- //Call back from the Media list for any error occured
- void HandleError( TInt /*aError*/ );
-
-
-private: // from MGlxMediaListObserver
-
- /**
- * @ref MGlxMediaListObserver::HandleItemAddedL
- */
- void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMediaL
- */
- void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemRemoved
- */
- void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemModifiedL
- */
- void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleAttributesAvailableL
- */
- void HandleAttributesAvailableL(
- TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleFocusChangedL
- */
- void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType, TInt aNewIndex,
- TInt aOldIndex, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleItemSelected
- */
- void HandleItemSelectedL( TInt aIndex, TBool aSelected, MGlxMediaList* aList );
- /**
- * @ref MGlxMediaListObserver::HandleMessageL
- */
- void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
-
-private: // data
-
- /**
- * Instance of CPS interface used for update with CPS.
- */
- MLiwInterface* iCPSInterface;
- CLiwGenericParamList* iInParamList;
- CLiwGenericParamList* iOutParamList;
-
- /// Owned: Media list
- MGlxMediaList* iMediaList;
-
- /// Own: the Attribte Context
- CGlxAttributeContext* iUriAttributeContext;
-
- CGlxAttributeContext* iThumbnailAttributeContext;
-
- /// Own: Thumbnail Iterator
- TGlxSequentialIterator iThumbnailIterator;
-
- };
-
-#endif /*GLXCONTENTHARVESTERPLUGINTAGS_H_*/
--- a/photosgallery/contentharvesterplugin/inc/glxmapconstants.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2008 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: Global definitions
- *
-*/
-
-
-
-
-#ifndef GLXMAPCONSTANTS_H
-#define GLXMAPCONSTANTS_H
-
-/** Data types for CP content */
-enum TDataTypes
- {
- ECPHardcodedText = 1, // 0001
- ECPResourceText = 2, // 0010
- ECPFilepathImage = 4, // 0100
- ECPResourceIcon = 8 // 1000
- };
-
-enum TCPGetListOrder
- {
- ECPRecent = 1, // 0001
- ECPPublisher = 2, // 0010
- ECPContent = 4, // 0100
- ECPContentId = 8 // 1000
- };
-
-enum TFlag
- {
- EActivate = 1, // 0001
- };
-
-const TInt KNameArgumentsLimit = 5;
-
-//This variables are used by the Plugins
-//Time Interval to show the thumbnail when the collection is in focus
-const TInt KTimerInterval( 2000000 );
-//The Thumbnails to shown/fetched when the collection is in focus
-const TInt KPreviewThumbnailFetchCount(15);
-//The Thumbnails to shown/fetched when the collection is not in focus
-const TInt KSinglePreviewThumbnail(1);
-// The preview item Index
-const TInt KPreviewItemIndex = 0;
-//The constants to identify the plugin/collection
-const TInt KMaxInt = 0x7fffffff;
-
-// Bug Fix @ ESLM-7VWF28 :: Change to Display the " ALL " collection folder as the very first collection folder in the Photos Matrix Menu View
-const TInt KItemIndexAll = 0;
-const TInt KItemIndexMonths = 1;
-const TInt KItemIndexAlbums = 2;
-const TInt KItemIndexTags = 3;
-const TInt KListDataWindowSize = 10;
-//Total collection count
-const TInt KTotalCollection=4;
-
-//Written for photos specific usage - START
-
-_LIT8(KMonthsSubtitle, "MonthsSubtitle");
-_LIT8(KAllSubtitle, "AllcsSubtitle");
-_LIT8(KTagsSubtitle, "TagsSubtitle");
-_LIT8(KAlbumsSubtitle, "AlbumsSubtitle");
-
-_LIT(KPublisherTextMonths,"photossuiteMonths");
-_LIT(KPublisherTextAlbums,"photossuiteAlbums");
-_LIT(KPublisherTextTags,"photossuiteTags");
-_LIT(KPublisherTextAll,"photossuiteAllcs");
-
-_LIT(KContTypeTextMonths,"months1");
-_LIT(KContTypeTextAlbums,"albums1");
-_LIT(KContTypeTextTags,"tags1");
-_LIT(KContTypeTextAll,"allcs1");
-_LIT(KContId1,"category1");
-
-_LIT8(KFirstIcon, "first_icon");
-
-_LIT(KSuitePublisher,"photossuite");
-_LIT(KContentActivationMonths,"months");
-_LIT(KContentActivationAlbums,"albums");
-_LIT(KContentActivationTags,"tags");
-_LIT(KContentActivationAll,"allcs");
-
-_LIT(KContentDefault,"default");
-
-//Written for photos specific usage - END
-
-
-_LIT( KService, "CP Service" );
-
-_LIT8( KCPInterface, "IDataSource" );
-_LIT8( KCPContentInterface, "IContentPublishing" );
-_LIT8( KCPService, "Service.ContentPublishing" );
-_LIT8( KCommand, "cmd" );
-
-//Supported Commands
-_LIT8( KGetList, "GetList" );
-_LIT8( KAdd, "Add" );
-_LIT8( KDelete, "Delete" );
-_LIT8( KRequestNotification, "RequestNotification" );
-_LIT8( KExecuteAction, "ExecuteAction" );
-_LIT8( KCmdCancel, "Cancel" );
-_LIT8( KActivate, "Activate" );
-_LIT8( KActivateTrigger, "activate" );
-_LIT8( KDeactivateTrigger, "deactivate" );
-
-// Input arguments
-_LIT8( KType, "type" );
-_LIT8( KAction, "action" );
-_LIT8( KItem, "item" );
-_LIT8( KFilter, "filter" );
-_LIT8( KData, "data" );
-_LIT8( KSortOrder, "sort_order" );
-_LIT8( KItemId, "item_id" );
-_LIT8( KByPublisher, "by_publisher" );
-_LIT8( KByEntryIds, "by_entryids" );
-_LIT8( KPublisherId, "publisher" );
-_LIT8( KContentType, "content_type" );
-_LIT8( KContentId, "content_id" );
-_LIT8( KExpirationDate, "expiration_date" );
-_LIT8( KActivatePublisher, "activate" );
-_LIT8( KIds, "ids" );
-_LIT8( KId, "id" );
-_LIT8( KFlag, "flag");
-_LIT8( KAccessList, "ACL" );
-_LIT8( KACLRead, "read");
-_LIT8( KACLWrite, "write");
-_LIT8( KACLDelete, "delete");
-_LIT8( KUIDs, "UID" );
-_LIT8( KCapability, "Capability" );
-_LIT( KAll, "all");
-_LIT( KSortPublisher, "publisher");
-_LIT( KSortContentType, "content_type");
-_LIT( KSortContentId, "content_id");
-_LIT( KSortRecent, "recent");
-_LIT( KOperationAdd, "add" );
-_LIT( KOperationUpdate, "update" );
-_LIT( KOperationDelete, "delete" );
-_LIT( KOperationExecute, "execute" );
-_LIT8( KDataType, "data_type" );
-_LIT8( KOperation, "operation" );
-_LIT8( KActionTrigger, "action_trigger" );
-_LIT8( KHardcodedText, "harcoded_text" );
-_LIT8( KResourceText, "resource_text" );
-_LIT8( KFilepathImage, "filepath_image" );
-_LIT8( KIdMask, "id_mask" );
-_LIT8( KResourceIcon, "resource_icon" );
-_LIT8( KIdIcon, "id_icon" );
-_LIT8( KIdText, "id_text" );
-_LIT( KCpData, "cp_data" );
-_LIT( KPublisher, "publisher" );
-_LIT8( KChangeInfo, "change_info" );
-
-_LIT8( KPublisher_Uid, "publisher_Uid" );
-
-// Argument in Action
-_LIT8( KActionHandlerInterface, "IDataAction" );
-_LIT8( KActionHandlerService, "Service.ActionHandler" );
-_LIT8( KCmdExecute, "Execute" );
-_LIT8( KPluginUid, "plugin_id" );
-_LIT8( KDataForActionHandler, "data" );
-
-_LIT8( KLaunchMethod, "launch_method" );
-_LIT8( KApplicationUid, "application_uid" );
-_LIT8( KDocumentName, "document_name" );
-_LIT8( KViewId, "view_id" );
-_LIT8( KMessageUid, "message_uid" );
-
-// Output
-_LIT8( KResults, "results" );
-_LIT8( KListMap, "list_map" );
-_LIT8( KStatus, "status" );
-_LIT8( KDataMap, "data_map" );
-_LIT8( KActionMap, "action_map" );
-_LIT8( KKey, "key" );
-
-_LIT8( KTransactionID, "TransactionID" );
-
-#endif /*GLXMAPCONSTANTS_H*/
--- a/photosgallery/contentharvesterplugin/rom/glxcontentharvesterplugin.iby Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008-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: iby file for content harvester plugin.
-*
-*/
-
-
-
-
-#ifndef __GLXCONTENTHARVESTERPLUGIN_IBY__
-#define __GLXCONTENTHARVESTERPLUGIN_IBY__
-
-ECOM_PLUGIN( glxcontentharvesterplugin.dll, glxcontentharvesterplugin.rsc )
-
-#endif // __GLXCONTENTHARVESTERPLUGIN_IBY__
\ No newline at end of file
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugin.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage
- *
- */
-
-// INCLUDE FILES
-
-//photo headers
-
-
-#include <glxattributecontext.h>
-#include <glxtracer.h>
-#include <glxlog.h>
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <mpxcollectionutility.h>
-#include <glxcollectionpluginmonths.hrh>
-#include <glxuistd.h>
-
-#include <MtpPrivatePSKeys.h>
-#include <e32property.h>
-
-//local headers
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-
-#include "glxcontentharvesterpluginmonths.h"
-#include "glxcontentharvesterpluginalbums.h"
-#include "glxcontentharvesterplugintags.h"
-#include "glxcontentharvesterpluginall.h"
-
-
-
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPlugin::CGlxContentHarvesterPlugin( MLiwInterface* aCPSInterface )
- {
- TRACER( "CGlxContentHarvesterPlugin::CGlxContentHarvesterPlugin" );
- iCPSInterface = aCPSInterface;
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPlugin::ConstructL" );
-
- CreateMedialistL();
-
- // Bug Fix @ ESLM-7VWF28 :: " Downloads " collection folder is replaced by " ALL " collection folder
- CGlxContentHarvesterPluginAll* allContents = CGlxContentHarvesterPluginAll::NewLC(iCPSInterface,this);
- iEntries.AppendL(allContents);
- CleanupStack::Pop(allContents);
-
- CGlxContentHarvesterPluginMonths* monthsContents = CGlxContentHarvesterPluginMonths::NewLC(iCPSInterface,this);
- iEntries.AppendL(monthsContents);
- CleanupStack::Pop(monthsContents);
-
- CGlxContentHarvesterPluginAlbums* albumContents = CGlxContentHarvesterPluginAlbums::NewLC(iCPSInterface,this);
- iEntries.AppendL(albumContents);
- CleanupStack::Pop(albumContents);
-
- CGlxContentHarvesterPluginTags* tagContents = CGlxContentHarvesterPluginTags::NewLC(iCPSInterface,this);
- iEntries.AppendL(tagContents);
- CleanupStack::Pop(tagContents);
- for(TInt pluginIndex=0; pluginIndex < KTotalCollection; pluginIndex++)
- {
- iCollectionIndexes.Insert(KErrNotFound, pluginIndex);
- }
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPlugin* CGlxContentHarvesterPlugin::NewL( MLiwInterface* aCPSInterface )
- {
- TRACER( "CGlxContentHarvesterPlugin::NewL" );
- CGlxContentHarvesterPlugin* self = new ( ELeave ) CGlxContentHarvesterPlugin( aCPSInterface );
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPlugin::~CGlxContentHarvesterPlugin()
- {
- TRACER( "CGlxContentHarvesterPlugin::~CGlxContentHarvesterPlugin" );
- // destroy entries
- iEntries.ResetAndDestroy();
- DestroyMedialist();
- iCollectionIndexes.Reset();
- }
-
-// ----------------------------------------------------------------------------
-// This function updates information in CPS storage
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::UpdateL()
- {
- TRACER( "CGlxContentHarvesterPlugin::UpdateL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::CollectionPathLC( )
-// ---------------------------------------------------------------------------
-//
-CMPXCollectionPath* CGlxContentHarvesterPlugin::CollectionPathLC(
- const TGlxMediaId& aPluginId ) const
- {
- TRACER( "CGlxContentHarvesterPlugin::CollectionPathLC" );
- // create the collection path - uses the category ID from the constructor
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL( path );
- path->AppendL( aPluginId.Value() );
- return path;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList*/* aList*/)
- {
- // Do Nothing
- TRACER( "CGlxContentHarvesterPlugin::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPlugin::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPlugin::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleItemModifiedL(
- const RArray<TInt>& aItemIndexes,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPlugin::HandleItemModifiedL" );
- TInt countOfIndexesChanged = aItemIndexes.Count();
- for (TInt i = 0; i < countOfIndexesChanged ; i++ )
- {
- UpdateDataInCPSL(i);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPlugin::HandleAttributesAvailableL" );
- TMPXAttribute subTitleAttrib(KGlxMediaCollectionPluginSpecificSubTitle);
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::HandleAttributesAvailableL,aItemIndex=%d",aItemIndex);
- if (KErrNotFound != aAttributes.Find(subTitleAttrib, match))
- {
- GLX_LOG_INFO("CGlxContentHarvesterPlugin::HandleAttributesAvailableL,MATCH Found");
- if (aItemIndex < KTotalCollection)
- {
- TInt mediaCount = iEntries[aItemIndex]->Count();
- GLX_LOG_INFO1("GlxCH: HandleAttributesAvailableL mediaCount(%d)", mediaCount);
- if (iCollectionIndexes[aItemIndex] != mediaCount)
- {
- GLX_LOG_INFO("GlxCH: *** UpdateDataInCPSL ***");
- SetRefreshNeeded(ETrue);
- UpdateDataInCPSL(aItemIndex);
- iCollectionIndexes[aItemIndex] = mediaCount;
-
- // Fix for ESLM-7WKJZR :: Sometimes Thumbnails are not updating when
- // connecting/disconnecting USB
- // If there is a change in media count, when photo suite is in forground,
- // Update preview thumbnails of all collections.
- if(SuiteInFocus())
- {
- GLX_LOG_INFO("CGlxContentHarvesterPlugin : *** SuiteInFocus ***");
- iEntries[aItemIndex]->UpdatePreviewThumbnailListL();
- }
- }
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPlugin::HandleFocusChangedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPlugin::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPlugin::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::FillInputListWithDataL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::FillInputListWithDataL(
- CLiwGenericParamList* aInParamList,
- const TDesC& aPublisherId, const TDesC& aContentType,
- TInt aCollection)
- {
- TRACER( "CGlxContentHarvesterPlugin::FillInputListWithDataL" );
-
- if(iMediaList)
- {
- aInParamList->Reset();
- if (!iCPSInterface)
- {
- User::Leave( KErrNotFound );
- }
- else
- {
- TLiwGenericParam cptype( KType, TLiwVariant( KCpData ));
- aInParamList->AppendL( cptype );
-
- CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC();
- CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
- TBuf8<KMaxName> subTitleTxt;
- const TGlxMedia& glxMedia = iMediaList->Item(aCollection);
- switch (aCollection)
- {
- // Bug Fix @ ESLM-7VWF28 :: " Downloads " collection folder is replaced by " ALL " collection folder
- case KItemIndexAll:
- subTitleTxt.Append(KAllSubtitle);
- break;
-
- case KItemIndexMonths:
- subTitleTxt.Append(KMonthsSubtitle);
- break;
-
- case KItemIndexAlbums:
- subTitleTxt.Append(KAlbumsSubtitle);
- break;
-
- case KItemIndexTags:
- subTitleTxt.Append(KTagsSubtitle);
- break;
-
- default:
- break;
- }
-
-#ifdef _DEBUG
- TPtrC pStr= glxMedia.SubTitle();
- TBuf<KMaxName> buf;
- buf.Copy(pStr);
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::FillInputListWithDataL,SUB TITLE=%S", &subTitleTxt);
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::FillInputListWithDataL,SUB TITLE=%S", &buf);
-#endif
-
- map->Remove(subTitleTxt);
- map->InsertL( subTitleTxt, TLiwVariant( glxMedia.SubTitle() ) );
-
- cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId ));
- cpdatamap->InsertL( KContentType, TLiwVariant( aContentType ));
- cpdatamap->InsertL( KContentId, TLiwVariant( KContId1 ));
- cpdatamap->InsertL( KDataMap, TLiwVariant(map) );
-
- TLiwGenericParam item( KItem, TLiwVariant( cpdatamap ));
- aInParamList->AppendL( item );
- CleanupStack::PopAndDestroy( map );
- CleanupStack::PopAndDestroy( cpdatamap );
- item.Reset();
- cptype.Reset();
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::UpdateDataInCPSL(TInt aCollection)
- {
- TRACER( "CGlxContentHarvesterPlugin::UpdateDataInCPSL" );
- GLX_LOG_INFO1("GlxCH::UpdateDataInCPSL(%d)", aCollection);
-
- TInt mtpStatus = KErrNotFound;
- RProperty::Get(KMtpPSUid, KMtpPSStatus, mtpStatus);
- GLX_LOG_INFO1("GlxCH::UpdateDataInCPSL mtpStatus(%d)",mtpStatus);
- if ( (mtpStatus != KErrNotFound) &&
- (mtpStatus != EMtpPSStatusUninitialized) )
- {
- if (!SuiteInFocus())
- {
- GLX_LOG_INFO("GlxCH: *** MTP ACTIVE & SUITE NOT IN FOCUS ***");
- return;
- }
- }
-
- //update data in CPS
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
- TBuf<KMaxName> publisherTxt;
- TBuf<KMaxName> contTypeTxt;
-
- switch (aCollection)
- {
- // Bug Fix @ ESLM-7VWF28 :: " Downloads " collection folder is replaced by " ALL " collection folder
- case KItemIndexAll:
- publisherTxt.Append(KPublisherTextAll);
- contTypeTxt.Append(KContTypeTextAll);
- break;
-
- case KItemIndexMonths:
- publisherTxt.Append(KPublisherTextMonths);
- contTypeTxt.Append(KContTypeTextMonths);
- break;
-
- case KItemIndexAlbums:
- publisherTxt.Append(KPublisherTextAlbums);
- contTypeTxt.Append(KContTypeTextAlbums);
- break;
-
- case KItemIndexTags:
- publisherTxt.Append(KPublisherTextTags);
- contTypeTxt.Append(KContTypeTextTags);
- break;
-
- default:
- break;
- }
-
- FillInputListWithDataL(inParamList, publisherTxt, contTypeTxt, aCollection);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::CreateMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::CreateMedialistL()
- {
- TRACER( "CGlxContentHarvesterPlugin::CreateMedialistL" );
- if(!iMediaList)
- {
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL(path);
- iMediaList = MGlxMediaList::InstanceL( *path );
- CreateContextsL();
- iMediaList->AddMediaListObserverL( this );
- CleanupStack::PopAndDestroy( path );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::DestroyMedialist
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPlugin::DestroyMedialist" );
- if( iMediaList )
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iSubtitleAttributeContext);
- delete iSubtitleAttributeContext;
- iSubtitleAttributeContext = NULL;
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::CreateContextsL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::CreateContextsL()
- {
- TRACER( "CGlxContentHarvesterPlugin::CreateContextsL" );
- iSubtitleAttributeContext = CGlxDefaultAttributeContext::NewL();
- iSubtitleAttributeContext->SetRangeOffsets( KListDataWindowSize, KListDataWindowSize );
- iSubtitleAttributeContext->AddAttributeL( KGlxMediaCollectionPluginSpecificSubTitle );
- iMediaList->AddContextL( iSubtitleAttributeContext, KMaxInt );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPlugin::HandleError" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::UpdatePlugins
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::UpdatePlugins(TBool aUpdate)
- {
- TRACER( "CGlxContentHarvesterPlugin::UpdatePlugins" );
- TInt pluginIndex;
- if(aUpdate)
- {
- if(IsRefreshNeeded())
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::UpdatePlugins=%d",iIsRefreshNeeded);
- for(pluginIndex=0; pluginIndex < KTotalCollection; pluginIndex++)
- {
- iEntries[pluginIndex]->UpdatePreviewThumbnailListL();
- }
- SetRefreshNeeded(EFalse);
- }
- }
- else
- {
- //This check is added here,since all the collection are not created on the power
- // up of the phone,so we dont need to remove the context at that stage else it will panic.
- if(iEntries.Count()== KTotalCollection)
- {
- for(pluginIndex=0; pluginIndex < KTotalCollection; pluginIndex++)
- {
- iEntries[pluginIndex]->RemoveContextAndObserver();
- }
- //before exiting the matrix menu , need to set this to true
- //when again matrix menu is launched,the thumbnails has to be updated
- //this use case is when we have not modified any items in the photos
- //so refreshneeded will not be set and UpdatePreviewThumbnailListL is not called when
- //matrix menu gets the focused,so update the refresh state
- SetRefreshNeeded(ETrue);
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::IsRefreshNeeded
-// ---------------------------------------------------------------------------
-//
-TBool CGlxContentHarvesterPlugin::IsRefreshNeeded()
- {
- TRACER( "CGlxContentHarvesterPlugin::IsRefreshNeeded" );
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::IsRefreshNeeded(%d)", iIsRefreshNeeded);
- return iIsRefreshNeeded;
- }
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::SetRefreshNeeded
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPlugin::SetRefreshNeeded(TBool aRefreshNeed)
- {
- TRACER( "CGlxContentHarvesterPlugin::SetRefreshNeeded" );
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::SetRefreshNeeded(%d)", aRefreshNeed);
- iIsRefreshNeeded = aRefreshNeed;
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPlugin::SuiteInFocus
-// ---------------------------------------------------------------------------
-//
-TBool CGlxContentHarvesterPlugin::SuiteInFocus()
- {
- TRACER( "CGlxContentHarvesterPlugin::SuiteInFocus" );
- TBool focus = EFalse;
- for(TInt pluginIndex=0; pluginIndex < KTotalCollection; pluginIndex++)
- {
- focus = iEntries[pluginIndex]->Focused();
- if (focus)
- {
- GLX_LOG_INFO1("GlxCH: SuiteInFocus pluginIndex(%d)", pluginIndex);
- break;
- }
- }
- GLX_LOG_INFO1("CGlxContentHarvesterPlugin::SuiteInFocus focus(%d)", focus);
- return focus;
- }
-
-// End of File
-
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginalbums.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,501 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage for albums collection
- *
- */
-
-// INCLUDE FILES
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-
-#include <glxuistd.h>
-#include <glxicons.mbg> // Glx Icons
-#include <glxcollectionpluginalbums.hrh> //for KGlxCollectionPluginAlbumsImplementationUid
-#include <glxthumbnailattributeinfo.h> // for KGlxMediaIdThumbnail
-#include <glxattributecontext.h>
-#include <glxthumbnailcontext.h>
-#include <glxtracer.h> //for tracer
-#include <glxlog.h> // for log
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxmediaid.h>
-#include <glxerrormanager.h>
-
-#include "glxcontentharvesterpluginalbums.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginAlbums::CGlxContentHarvesterPluginAlbums(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::CGlxContentHarvesterPluginAlbums" );
- iCPSInterface = aCPSInterface;
- SetCHPlugin(aCHplugin);
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::ConstructL" );
-
- //Call the base class ConstructL
- CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
- iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
- iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
-
- //Register/Subscribe with matrix menu for the notifications
- GetInterfaceForNotificationL();
- SetupPublisherL(KItemIndexAlbums);
- RequestCpsNotificationL(KItemIndexAlbums);
- HandleStateChangeL(KItemIndexAlbums);
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginAlbums* CGlxContentHarvesterPluginAlbums::NewLC(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::NewL" );
- CGlxContentHarvesterPluginAlbums* self = new ( ELeave ) CGlxContentHarvesterPluginAlbums( aCPSInterface,aCHplugin );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginAlbums::~CGlxContentHarvesterPluginAlbums()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::~CGlxContentHarvesterPluginAlbums" );
-
- DestroyMedialist();
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::UpdateDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::UpdateDataL()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::UpdateDataL" );
-
- if (!iMediaList)
- {
- return;
- }
-
- if (iMediaList->Count())
- {
- TInt ret = UpdateItem(KPreviewItemIndex);
- if (ret != KErrNotFound)
- {
- //Updates the thumbnail in the collection
- UpdateDataInCPSL(ret);
- }
- }
- else
- {
- // Show previous thumbnail until the new thumbnail is
- // fecthed.Added this check to avoid flicker
- if (!GetCHPlugin()->IsRefreshNeeded() || (iMediaList->Count() == 0))
- {
- //Don't Show the Thumbnail/Show nothing
- GLX_LOG_INFO("CGlxContentHarvesterPluginAlbums::UpdateDataL() --O");
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleNotifyL()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginAlbums::HandleNotifyL(
- TInt /* aCmdId*/,
- TInt/* aEventId */,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/ )
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleNotifyL" );
- HandleStateChangeL(KItemIndexAlbums);
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::UpdateDataInCPSL(TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::UpdateDataInCPSL" );
- //update data in CPS
- _LIT(KExamplePluginPub,"photossuite");
- _LIT(KContTypeText,"albums");
- _LIT(KContId1,"category1");
-
- if(iCPSInterface && iMediaList )
- {
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
-
- FillInputListWithDataL(inParamList, KExamplePluginPub, KContTypeText ,
- KContId1, aHandle);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::UpdateItem()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginAlbums::UpdateItem(TInt aItemIndex)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::UpdateItem" );
- const TGlxMedia& item = iMediaList->Item(aItemIndex);
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAlbums::UpdateItem,aItemIndex=%d ",aItemIndex);
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- return value->iBitmap->Handle();
- }
- return KErrNotFound;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::ActivateL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::ActivateL( TBool aOn )
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::ActivateL" );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAlbums::ActivateL aOn =%d",aOn);
- SetFocus(aOn);
-
- if (IsMatrixMenuInForegroundL() && aOn )
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- //Update the rest of all the collections on receving the focus...
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- else
- {
- //As the collection is not updated by the contentharvester plugin
- //to update the thumbnails on the focus , need to call the below function
- UpdatePreviewThumbnailListL();
- }
- }
- else if ( !aOn )
- {
- if(!IsMatrixMenuInForegroundL())
- {
- //use case:Matrix Menu is exited, by entering into grid view,application view,capture mode...
- //Need to destroy all the collection's observers and context
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAlbums::ActivateL !aOn =%d and matrix not in foreground",aOn);
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /* aEndIndex */, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleItemModifiedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleAttributesAvailableL" );
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
-
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAlbums::HandleAttributesAvailableL =%d ",aItemIndex);
-
- if (KErrNotFound != aAttributes.Find( thumbnailAttribute, match ))
- {
- const TGlxMedia& item = aList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginAlbums::HandleAttributesAvailableL Thumbnail is present ");
-
- // Update the preview thumbnail
- //remove the observer as client need not listen to the callbacks
- GLX_LOG_INFO("CGlxContentHarvesterPluginAll::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- iMediaList->RemoveMediaListObserver( this );
- }//end of check against value
- }//end of attribute match
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleFocusChangedL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::DestroyMedialist
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::DestroyMedialist" );
- if( iMediaList )
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginAlbums::DestroyMedialist,media list deleted");
- RemoveContextAndObserver();
-
- delete iUriAttributeContext;
- iUriAttributeContext = NULL;
- delete iThumbnailAttributeContext;
- iThumbnailAttributeContext = NULL;
-
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::CreateMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::CreateMedialistL( )
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::CreateMedialistL" );
- if(!iMediaList)
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
-
- iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
- KGlxCollectionPluginAlbumsImplementationUid ),
- iUriAttributeContext,iThumbnailAttributeContext);
-
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::UpdatePreviewThumbnailListL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::UpdatePreviewThumbnailListL( )
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::UpdatePreviewThumbnailListL" );
-
- //when there is an update of content in the collection
- //this function is executed or when the collection recives the focus.
- if(!iMediaList)
- {
- //media list is not created yet,create it.
- CreateMedialistL( );
- UpdateDataL();
- }
- else
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- ContainerCacheCleanupL(iMediaList);
- }
-
- //1.if the content is deleted,then creating a context doesn't fetch the attributes
- //2.if the content is added and the content is not the latest as per the sorted order of the
- // media list,then the thumbnails are not fetched.
- // so show the first available thumbnail in the media list.
-
- UpdateDataL();
-
- //Adding the context doesn't gaurantee we get a call back for
- //Handle attributes available,if the latest item is already fetched.
- //and for the content added for this collection,if it is not latest
- //we will not recieve the attributes .so show the first available thumbnail
- //in the media list.if there is any new latest content added,the thumbnail will be
- //fetched and shown.
-
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::AddContextAndObserverL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::AddContextAndObserverL()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::AddRemoveContextAndObserverL" );
- if(iMediaList)
- {
- iMediaList->AddMediaListObserverL( this );
- iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal);
- iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow);
- }
- }
-
-// ---------------------------------------------------------------------------c
-// CGlxContentHarvesterPluginAlbums::RemoveContextAndObserver
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::RemoveContextAndObserver()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::RemoveContextAndObserver" );
- if(iMediaList)
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iUriAttributeContext);
- iMediaList->RemoveContext(iThumbnailAttributeContext);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAlbums::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::HandleError" );
-
-#ifdef _DEBUG
- if(iMediaList)
- {
- TInt count=iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAlbums::HandleError,count=%d",count);
- for ( TInt i = 0; i < count ; i++ )
- {
- const TGlxMedia& item = iMediaList->Item( i );
- TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
- item.Properties(), KGlxMediaIdThumbnail );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAlbums::HandleError,Error=%d ",thumbnailError);
-
- }
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::Count
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginAlbums::Count()
- {
- TRACER( "CGlxContentHarvesterPluginAlbums::Count" );
- TInt count = KErrNone;
- if(iMediaList)
- {
- count = iMediaList->Count();
- GLX_LOG_INFO1("GlxCHP:Albums::Count(%d)",count);
- }
- return count;
- }
-// End of File
-
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginall.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,499 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage for all collection
- *
- */
-
-// INCLUDE FILES
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-
-#include <glxuistd.h>
-#include <glxicons.mbg> // Glx Icons
-#include <glxthumbnailattributeinfo.h> // for KGlxMediaIdThumbnail
-#include <glxattributecontext.h>
-#include <glxthumbnailcontext.h>
-#include <glxcollectionpluginall.hrh> //for KGlxCollectionPluginAllImplementationUid
-#include <glxtracer.h> //for Traces
-#include <glxlog.h> //for Log
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxmediaid.h>
-#include <glxerrormanager.h>
-
-#include "glxcontentharvesterplugin.hrh"
-#include "glxcontentharvesterpluginall.h"
-
-#include "glxmapconstants.h"
-
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginAll::CGlxContentHarvesterPluginAll(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginAll::CGlxContentHarvesterPluginAll" );
- iCPSInterface = aCPSInterface;
- SetCHPlugin(aCHplugin);
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPluginAll::ConstructL" );
-
- //Call the base class ConstructL,to create the default thumbnail
- CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
-
- iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
- iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
-
- //Register/Subscribe with matrix menu for the notifications
- GetInterfaceForNotificationL();
- SetupPublisherL(KItemIndexAll);
- RequestCpsNotificationL(KItemIndexAll);
- HandleStateChangeL(KItemIndexAll);
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginAll* CGlxContentHarvesterPluginAll::NewLC(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginAll::NewL" );
- CGlxContentHarvesterPluginAll* self = new ( ELeave ) CGlxContentHarvesterPluginAll( aCPSInterface,aCHplugin );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginAll::~CGlxContentHarvesterPluginAll()
- {
- TRACER( "CGlxContentHarvesterPluginAll::~CGlxContentHarvesterPluginAll" );
-
- DestroyMedialist();
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::UpdateDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::UpdateDataL()
- {
- TRACER( "CGlxContentHarvesterPluginAll::UpdateDataL" );
-
- if (!iMediaList)
- {
- return;
- }
-
- if (iMediaList->Count())
- {
- TInt ret = UpdateItem(KPreviewItemIndex);
- if (ret != KErrNotFound)
- {
- //Updates the thumbnail in the collection
- UpdateDataInCPSL(ret);
- }
- }
- else
- {
- // Show previous thumbnail until the new thumbnail is
- // fecthed.Added this check to avoid flicker
- if (iMediaList->Count() == 0)
- {
- //Don't Show the Thumbnail/Show nothing
- GLX_LOG_INFO("CGlxContentHarvesterPluginAll::UpdateDataL() --O");
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleNotifyL()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginAll::HandleNotifyL(
- TInt /* aCmdId*/,
- TInt/* aEventId */,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/ )
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleNotifyL" );
-
- // First time when we enter matrix menu from shortcut or app. launcher, set
- // IsRefreshNeeded flag to ETrue. so that thumbnail attributes are fetched again
- // for all containers. This is to avoid preview thumbnails not getting shown in
- // matirix menu under low memory conditions.
- GetCHPlugin()->SetRefreshNeeded(ETrue);
-
- HandleStateChangeL(KItemIndexAll);
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::UpdateDataInCPSL(TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginAll::UpdateDataInCPSL" );
- //update data in CPS
- _LIT(KExamplePluginPub,"photossuite");
- _LIT(KContentActivation,"allcs");
- _LIT(KContId1,"category1");
-
- if(iCPSInterface && iMediaList )
- {
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
-
- //Shows the thumbnail in the matrix view
- FillInputListWithDataL(inParamList, KExamplePluginPub, KContentActivation ,
- KContId1, aHandle);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::UpdateItem()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginAll::UpdateItem(TInt aItemIndex)
- {
- TRACER( "CGlxContentHarvesterPluginAll::UpdateItem" );
- const TGlxMedia& item = iMediaList->Item(aItemIndex);
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAll::UpdateItem,aItemIndex=%d ",aItemIndex);
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- return value->iBitmap->Handle();
- }
- return KErrNotFound;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::ActivateL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::ActivateL( TBool aOn )
- {
- TRACER( "CGlxContentHarvesterPluginAll::ActivateL" );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAll::ActivateL aOn =%d",aOn);
- SetFocus(aOn);
-
- if (IsMatrixMenuInForegroundL() && aOn )
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- //Update the rest of all the collections on receving the focus...
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- else
- {
- //As the collection is not updated by the contentharvester plugin
- //to update the thumbnails on the focus , need to call the below function
- UpdatePreviewThumbnailListL();
- }
- }
- else if ( !aOn )
- {
- if(!IsMatrixMenuInForegroundL())
- {
- //use case:Matrix Menu is exited, by entering into grid view,application view,capture mode...
- //Need to destroy all the collection's observers and context
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAll::ActivateL !aOn =%d and matrix not in foreground",aOn);
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList*/*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /* aEndIndex */, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleItemModifiedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleAttributesAvailableL" );
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
-
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAll::HandleAttributesAvailableL =%d ",aItemIndex);
- if (KErrNotFound != aAttributes.Find( thumbnailAttribute, match ))
- {
- const TGlxMedia& item = aList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginAll::HandleAttributesAvailableL Thumbnail is present ");
-
- // Update the preview thumbnail
- //remove the observer as client need not listen to the callbacks
- GLX_LOG_INFO("CGlxContentHarvesterPluginAll::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- iMediaList->RemoveMediaListObserver( this );
- }//end of check against value
- }//end of attribute match
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleFocusChangedL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPluginAll::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::DestroyMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPluginAll::DestroyMedialist" );
- if( iMediaList )
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginAll::DestroyMedialist,media list deleted");
- RemoveContextAndObserver();
-
- delete iUriAttributeContext;
- iUriAttributeContext = NULL;
- delete iThumbnailAttributeContext;
- iThumbnailAttributeContext = NULL;
-
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::CreateSingleItemMedialist
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::CreateMedialistL( )
- {
- TRACER( "CGlxContentHarvesterPluginAll::CreateMedialistL" );
- if(!iMediaList)
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
-
- iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
- KGlxCollectionPluginAllImplementationUid ),
- iUriAttributeContext,iThumbnailAttributeContext);
-
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::UpdateMedialistContext
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::UpdatePreviewThumbnailListL( )
- {
- TRACER( "CGlxContentHarvesterPluginAll::UpdatePreviewThumbnailListL" );
-
- //when there is an update of content in the collection
- //this function is executed or when the collection recives the focus.
- if(!iMediaList)
- {
- //medis list is not created yet,create it.
- CreateMedialistL( );
- UpdateDataL();
- }
- else
- {
- UpdateDataL();
-
- //Adding the context doesn't gaurantee we get a call back for
- //Handle attributes available,if the latest item is already fetched.
- //and for the content added for this collection,if it is not latest
- //we will not recieve the attributes .so show the first available thumbnail
- //in the media list.if there is any new latest content added,the thumbnail will be
- //fetched and shown.
-
-
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::AddContextAndObserverL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::AddContextAndObserverL()
- {
- TRACER( "CGlxContentHarvesterPluginAll::AddRemoveContextAndObserverL" );
- if(iMediaList)
- {
- iMediaList->AddMediaListObserverL( this );
- iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal);
- iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::RemoveContextAndObserver
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::RemoveContextAndObserver()
- {
- TRACER( "CGlxContentHarvesterPluginAll::RemoveContextAndObserver" );
- if(iMediaList)
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iUriAttributeContext);
- iMediaList->RemoveContext(iThumbnailAttributeContext);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginAll::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPluginAll::HandleError" );
-
-#ifdef _DEBUG
- if(iMediaList)
- {
- TInt count=iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAll::HandleError,count=%d",count);
- for ( TInt i = 0; i < count ; i++ )
- {
- const TGlxMedia& item = iMediaList->Item( i );
- TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
- item.Properties(), KGlxMediaIdThumbnail );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginAll::HandleError,Error=%d ",thumbnailError);
-
- }
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAll::Count
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginAll::Count()
- {
- TRACER( "CGlxContentHarvesterPluginAll::Count" );
- TInt count = KErrNone;
- if(iMediaList)
- {
- count = iMediaList->Count();
- GLX_LOG_INFO1("GlxCHP:All::Count(%d)",count);
- }
- return count;
- }
-// End of File
-
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginbase.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,578 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage
- *
- */
-
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <featmgr.h>
-#include <apgtask.h>
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-#include <glxuistd.h> // KGlxFetchontextPriorityNormal and KGlxIconsFilename
-#include <AknIconUtils.h>
-#include <data_caging_path_literals.hrh>
-
-#include <glxattributecontext.h>
-#include <glxtracer.h>
-#include <glxlog.h>
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxfilterfactory.h>
-#include <glxuistd.h>
-#include <glxthumbnailcontext.h>
-#include <glxmedialistiterator.h>
-#include <mglxcache.h>
-#include <glxthumbnailattributeinfo.h>
-
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterpluginbase.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-#include "glxcontentharvesterpluginalbums.h"
-
-// Matrixmenu uid - needed to check if photo suite is in foreground
-const TInt KMatrixMenuUid = 0x101F4CD2;
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginBase::CGlxContentHarvesterPluginBase( )
- {
- TRACER( "CGlxContentHarvesterPluginBase::CGlxContentHarvesterPluginBase" );
- // No Implementation
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::ConstructL(TInt aDefaultIconId )
- {
- SetGridIconSizeL();
- TSize gridIconSize = GetGridIconSize();
- TFileName resFile(KDC_APP_BITMAP_DIR);
- resFile.Append(KGlxIconsFilename);
- iBitmap = AknIconUtils::CreateIconL(resFile,aDefaultIconId);
- AknIconUtils::SetSize(iBitmap, gridIconSize);
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginBase::~CGlxContentHarvesterPluginBase()
- {
- TRACER( "CGlxContentHarvesterPluginBase::~CGlxContentHarvesterPluginBase" );
- if ( iCPSNotificationInterface )
- {
- iCPSNotificationInterface->Close();
- }
-
- delete iServiceHandler;
-
- if(iBitmap)
- {
- delete iBitmap;
- iBitmap=NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// SetGridIconSizeL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::SetGridIconSizeL()
- {
- TRACER("CGlxContentHarvesterPluginBase::SetGridIconSizeL()");
- // Sets up TLS, must be done before FeatureManager is used.
- FeatureManager::InitializeLibL();
-
- if(FeatureManager::FeatureSupported( KFeatureIdLayout640_360_Touch ) || FeatureManager::FeatureSupported( KFeatureIdLayout360_640_Touch ))
- {
- iGridIconSize = TSize(111,83);
- }
- else if(FeatureManager::FeatureSupported(KFeatureIdLayout640_480_Touch) || FeatureManager::FeatureSupported(KFeatureIdLayout480_640_Touch) ||
- FeatureManager::FeatureSupported(KFeatureIdLayout640_480) || FeatureManager::FeatureSupported(KFeatureIdLayout480_640))
- {
- iGridIconSize = TSize(146,110);
- }
- else
- {
- iGridIconSize = TSize(146,110);
- }
- // Frees the TLS. Must be done after FeatureManager is used.
- FeatureManager::UnInitializeLib();
- }
-
-// ---------------------------------------------------------------------------
-// GetGridIconSize
-// ---------------------------------------------------------------------------
-//
-TSize CGlxContentHarvesterPluginBase::GetGridIconSize()
- {
- TRACER("CGlxContentHarvesterPluginBase::GetGridIconSize()");
- return iGridIconSize;
- }
-
-// ---------------------------------------------------------------------------
-// GetBitmapHandle
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginBase::GetBitmapHandle() const
- {
- TRACER("CGlxContentHarvesterPluginBase::GetBitmapHandle");
- return iBitmap->Handle();
- }
-
-// ---------------------------------------------------------------------------
-// GetInterfaceForNotificationL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::GetInterfaceForNotificationL()
- {
- TRACER( "CGlxContentHarvesterPluginBase::GetInterfaceForNotificationL" );
- // create Service Handler and keep as long as access to Service needed
- iServiceHandler = CLiwServiceHandler::NewL();
- //keep for convenience, not owned
- iInParamList = &iServiceHandler->InParamListL();
- iOutParamList = &iServiceHandler->OutParamListL();
-
- RCriteriaArray criteriaArray;
- CleanupResetAndDestroyPushL( criteriaArray );
-
- // create Liw criteria
- CLiwCriteriaItem* criterion =
- CLiwCriteriaItem::NewLC( KLiwCmdAsStr, KCPInterface, KCPService );
- criterion->SetServiceClass( TUid::Uid( KLiwClassBase ) );
-
- criteriaArray.AppendL( criterion );
- CleanupStack::Pop( criterion );
-
- // attach Liw criteria
- iServiceHandler->AttachL( criteriaArray );
- // get Service interface
- iServiceHandler->ExecuteServiceCmdL( *criterion,
- *iInParamList,
- *iOutParamList );
-
- CleanupStack::PopAndDestroy( &criteriaArray );
-
- // extract interface from output params
- TInt pos( 0 );
- iOutParamList->FindFirst( pos, KCPInterface );
- if( pos != KErrNotFound )
- {
- iCPSNotificationInterface =
- (*iOutParamList)[pos].Value().AsInterface();
- }
-
- iInParamList->Reset();
- iOutParamList->Reset();
-
- if ( !iCPSNotificationInterface )
- {
- // handle no Service
- User::Leave( KErrNotFound );
- }
- }
-
-// ---------------------------------------------------------------------------
-// RequestCpsNotificationL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::RequestCpsNotificationL(TInt aSuiteItem)
- {
- TRACER( "CGlxContentHarvesterPluginBase::RequestCpsNotificationL" );
-
- TLiwGenericParam cptype( KType, TLiwVariant( KPublisherId ));
- iInParamList->AppendL( cptype );
-
- //create filter
- CLiwDefaultMap* filterMap = CLiwDefaultMap::NewLC();
- filterMap->InsertL( KPublisherId, TLiwVariant( KSuitePublisher ));
-
- switch (aSuiteItem)
- {
- case KItemIndexMonths:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationMonths ) );
- break;
- case KItemIndexAlbums:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationAlbums ) );
- break;
- case KItemIndexTags:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationTags ) );
- break;
- case KItemIndexAll:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationAll ) );
- break;
- }
-
- filterMap->InsertL( KContentId, TLiwVariant( KContentDefault ) );
-
- //we are only interested in update events
- filterMap->InsertL( KOperation, TLiwVariant( KOperationUpdate ) );
-
- TLiwGenericParam filter( KFilter, TLiwVariant( filterMap ));
- iInParamList->AppendL( filter );
-
- iCPSNotificationInterface->ExecuteCmdL( KRequestNotification,
- *iInParamList,
- *iOutParamList,
- KLiwOptASyncronous,
- this );
-
- CleanupStack::PopAndDestroy( filterMap );
- filter.Reset();
- cptype.Reset();
-
- iInParamList->Reset();
- iOutParamList->Reset();
- }
-
-// ---------------------------------------------------------------------------
-// SetupPublisherL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::SetupPublisherL(TInt aSuiteItem)
- {
- TRACER( "CGlxContentHarvesterPluginBase::SetupPublisherL" );
-
- //add mandatory type param
- TLiwGenericParam cptype( KType, TLiwVariant( KPublisherId ));
- iInParamList->AppendL( cptype );
-
- //create publisher definition
- CLiwDefaultMap* filterMap = CLiwDefaultMap::NewLC();
- filterMap->InsertL( KPublisherId, TLiwVariant( KSuitePublisher ));
- switch (aSuiteItem)
- {
- case KItemIndexMonths:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationMonths ) );
- break;
- case KItemIndexAlbums:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationAlbums ) );
- break;
- case KItemIndexTags:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationTags ) );
- break;
- case KItemIndexAll:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationAll ) );
- break;
- }
- filterMap->InsertL( KContentId, TLiwVariant( KContentDefault ) );
- // initial value for activation flag
- filterMap->InsertL( KFlag, TLiwVariant( TUint(0) ) );
-
-
- // prepare Access Control List for the publisher
- CLiwDefaultMap* cpsAclMap = CLiwDefaultMap::NewLC();
- CLiwDefaultMap* cpsAclWriteMap = CLiwDefaultMap::NewLC();
- CLiwDefaultMap* cpsAclReadMap = CLiwDefaultMap::NewLC();
-
- // write policy - allow only MatrixMenu,
- // Matrix has 2 UIDs:
- // - 0x20012474 is used if it is compiled as a standalone application
- // - 0x101F4CD2 is used if it should replace AppShell
- // add both for convenience
- cpsAclWriteMap->InsertL( KUIDs, TLiwVariant( _L("0x101F4CD2:0x20012474") ) );
-
- // read policy - allow only the Content Harvester plug-in,
- // this plug-in runs inside Content Harvester server - UID 0x10282E5A
- cpsAclReadMap->InsertL( KUIDs, TLiwVariant( _L("0x10282E5A") ) );
-
- cpsAclMap->InsertL( KACLWrite, TLiwVariant( cpsAclWriteMap ) );
- cpsAclMap->InsertL( KACLRead, TLiwVariant( cpsAclReadMap ) );
-
- filterMap->InsertL( KAccessList, TLiwVariant( cpsAclMap ) );
-
- // create a dummy data map,
- // mandatory for adding publisher data - can be left empty
- CLiwDefaultMap* cpsDummyDataMap = CLiwDefaultMap::NewLC();
- filterMap->InsertL( KDataMap, TLiwVariant( cpsDummyDataMap ) );
-
- TLiwGenericParam cpsItemParam( KItem, TLiwVariant( filterMap ) );
- iInParamList->AppendL( cpsItemParam );
-
-
- iCPSNotificationInterface->ExecuteCmdL( KAdd,
- *iInParamList,
- *iOutParamList,
- 0,
- NULL );
- CleanupStack::PopAndDestroy( cpsDummyDataMap );
- CleanupStack::PopAndDestroy( cpsAclReadMap );
- CleanupStack::PopAndDestroy( cpsAclWriteMap );
- CleanupStack::PopAndDestroy( cpsAclMap );
- CleanupStack::PopAndDestroy( filterMap );
- cpsItemParam.Reset();
- // filter.Reset();
- cptype.Reset();
-
- iInParamList->Reset();
- iOutParamList->Reset();
- }
-
-// ---------------------------------------------------------------------------
-// HandleStateChangeL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::HandleStateChangeL(TInt aSuiteItem)
- {
- TRACER( "CGlxContentHarvesterPluginBase::HandleStateChangeL" );
-
- TLiwGenericParam cptype( KType, TLiwVariant( KPublisher ));
- iInParamList->AppendL( cptype );
-
- CLiwDefaultMap* filterMap = CLiwDefaultMap::NewLC();
- filterMap->InsertL( KPublisherId, TLiwVariant( KSuitePublisher ));
- switch (aSuiteItem)
- {
- case KItemIndexMonths:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationMonths ) );
- break;
-
- case KItemIndexAlbums:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationAlbums ) );
- break;
-
- case KItemIndexTags:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationTags ) );
- break;
-
- case KItemIndexAll:
- filterMap->InsertL( KContentType, TLiwVariant( KContentActivationAll ) );
- break;
- }
-
- TLiwGenericParam filter( KFilter, TLiwVariant( filterMap ));
- iInParamList->AppendL( filter );
-
-
- iCPSNotificationInterface->ExecuteCmdL( KGetList,
- *iInParamList,
- *iOutParamList,
- 0,
- NULL );
-
- CleanupStack::PopAndDestroy( filterMap );
-
- filter.Reset();
- cptype.Reset();
-
- TInt posStat( 0 );
- iOutParamList->FindFirst( posStat, KResults );
- if( posStat != KErrNotFound )
- {
- // status info present - extract and return
- CLiwIterable* results = (*iOutParamList)[posStat].Value().AsIterable();
- TLiwVariant cpdata;
- if ( results->NextL( cpdata ) )
- {
- const CLiwMap* map = cpdata.AsMap();
- TLiwVariant dataMapVar;
- if ( map->FindL( _L8("flag"), dataMapVar ) )
- {
- ActivateL(dataMapVar.AsTInt32());
- }
- dataMapVar.Reset();
- }
- cpdata.Reset();
- }
- else
- {
- // no return value
- // this will happen if suite was never activated/deactivated before
- // handle gracefuly - ignore and wait for action ;]
- }
-
- iInParamList->Reset();
- iOutParamList->Reset();
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginBase::FillInputListWithDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::FillInputListWithDataL(
- CLiwGenericParamList* aInParamList,
- const TDesC& aPublisherId, const TDesC& aContentType,
- const TDesC& aContentId, TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginBase::FillInputListWithDataL" );
-
- aInParamList->Reset();
-
- TLiwGenericParam cptype( KType, TLiwVariant( KCpData ));
- aInParamList->AppendL( cptype );
-
- CLiwDefaultMap* cpdatamap = CLiwDefaultMap::NewLC();
- CLiwDefaultMap* map = CLiwDefaultMap::NewLC();
-
- if(aHandle)
- {
- map->InsertL( KFirstIcon, TLiwVariant( (TInt32)aHandle) );
- }
-
- cpdatamap->InsertL( KPublisherId, TLiwVariant( aPublisherId ));
- cpdatamap->InsertL( KContentType, TLiwVariant( aContentType ));
- cpdatamap->InsertL( KContentId, TLiwVariant( aContentId ));
- cpdatamap->InsertL( KDataMap, TLiwVariant(map) );
-
- TLiwGenericParam item( KItem, TLiwVariant( cpdatamap ));
- aInParamList->AppendL( item );
- CleanupStack::PopAndDestroy( map );
- CleanupStack::PopAndDestroy( cpdatamap );
- item.Reset();
- cptype.Reset();
-
- }
-
-// ---------------------------------------------------------------------------
-// CreateMedialistAndAttributeContextL
-// ---------------------------------------------------------------------------
-//
-MGlxMediaList* CGlxContentHarvesterPluginBase::CreateMedialistAndAttributeContextL(
- const TGlxMediaId& aPluginId,
- CGlxAttributeContext* aUriAttributeContext,
- CGlxAttributeContext* aThumbnailAttributeContext) const
- {
- TRACER( "CGlxContentHarvesterPluginBase::CreateMedialistAndThumbnailContextL" );
-
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL( path );
- path->AppendL( aPluginId.Value() );
-
- CMPXFilter* filter = NULL;
- filter = TGlxFilterFactory::CreatePreviewFilterL();
- CleanupStack::PushL( filter );
-
- MGlxMediaList* mediaList = MGlxMediaList::InstanceL( *path, KGlxIdNone , filter);
- CleanupStack::PopAndDestroy( filter );
- CleanupStack::PopAndDestroy( path );
-
- // Two different contexts are added. One for URI with high priority
- // and for Thumbnail with low priority. Because URI attribute should be
- // fetched first before placing thumbnail fetch request
-
- aUriAttributeContext->AddAttributeL(KMPXMediaGeneralUri);
-
- TMPXAttribute attr( KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId(ETrue,
- iGridIconSize.iWidth,iGridIconSize.iHeight) );
-
- aThumbnailAttributeContext->SetDefaultSpec(iGridIconSize.iWidth,
- iGridIconSize.iHeight);
-
- aThumbnailAttributeContext->AddAttributeL(attr);
-
- return mediaList;
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginBase::Focused
-// ---------------------------------------------------------------------------
-//
-TBool CGlxContentHarvesterPluginBase::Focused()
- {
- TRACER( "CGlxContentHarvesterPluginBase::Focused" );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginBase::Focused(%d)", iIsFocused);
- return iIsFocused;
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginBase::SetFocus
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::SetFocus(TBool aFocus )
- {
- TRACER( "CGlxContentHarvesterPluginBase::SetFocus" );
- iIsFocused=aFocus;
- }
-
-// ---------------------------------------------------------------------------
-// ContainerCacheCleanupL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::ContainerCacheCleanupL(MGlxMediaList* aMediaList)
- {
- TRACER( "CGlxContentHarvesterPluginBase::ContainerCacheCleanupL" );
-
- if ( IsMatrixMenuInForegroundL() )
- {
- MGlxCache* cacheManager = MGlxCache::InstanceL();
- for(TInt i=0 ; i< aMediaList->Count();i++)
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginBase::ForceCleanupMedia(%d)", i);
- cacheManager->ForceCleanupMedia(aMediaList->IdSpaceId(i),
- aMediaList->Item(i).Id());
- }
- cacheManager->Close();
- }
- }
-
-// ---------------------------------------------------------------------------
-// IsMatrixMenuInForegroundL
-// ---------------------------------------------------------------------------
-//
-TBool CGlxContentHarvesterPluginBase::IsMatrixMenuInForegroundL()
- {
- TRACER( "CGlxContentHarvesterPluginBase::IsMatrixMenuInForegroundL" );
-
- RWsSession wssession;
- User::LeaveIfError(wssession.Connect());
- CleanupClosePushL(wssession);
-
- TApaTaskList taskList( wssession );
- TApaTask task = taskList.FindApp( TUid::Uid( KMatrixMenuUid ) );
- // get fopreground app
- TApaTask taskForeGround = taskList.FindByPos(0);
-
- if ( task.Exists() && task.ThreadId() == taskForeGround.ThreadId() )
- {
- CleanupStack::PopAndDestroy( &wssession );
- return ETrue;
- }
- CleanupStack::PopAndDestroy( &wssession );
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// SetCHPlugin
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginBase::SetCHPlugin(MGlxContentHarvesterPlugin* aCHplugin)
- {
- iCHplugin = aCHplugin;
- }
-
-// ---------------------------------------------------------------------------
-// GetCHPlugin
-// ---------------------------------------------------------------------------
-//
-MGlxContentHarvesterPlugin* CGlxContentHarvesterPluginBase::GetCHPlugin()
- {
- return iCHplugin;
- }
-
-// EOF
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugincaptured.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,616 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage for captured collection
- *
- */
-
-// INCLUDE FILES
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <LiwServiceHandler.h>
-
-#include <glxuistd.h>
-#include <glxicons.mbg> // Glx Icons
-#include <glxcollectionplugincamera.hrh>
-#include <glxthumbnailattributeinfo.h> // for KGlxMediaIdThumbnail
-#include <glxattributecontext.h>
-#include <glxthumbnailcontext.h>
-#include <glxtracer.h>
-#include <glxlog.h>
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxmediaid.h>
-#include <glxerrormanager.h>
-
-#include "glxcontentharvesterplugincaptured.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-LOCAL_C TInt TimerCallbackL( TAny* aPtr )
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::TimerCallbackL" );
- static_cast<CGlxContentHarvesterPluginCaptured*>(aPtr)->UpdateDataL();
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginCaptured::CGlxContentHarvesterPluginCaptured(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
-
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::CGlxContentHarvesterPluginCaptured" );
- iCPSInterface = aCPSInterface;
- SetCHPlugin(aCHplugin);
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::ConstructL" );
-
- //Call the base class ConstructL,to create the default thumbnail
- CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
-
- iPeriodic = CPeriodic::NewL( CActive::EPriorityLow );
-
- iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
- iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
-
- //Register/Subscribe with matrix menu for the notifications
- GetInterfaceForNotificationL();
- SetupPublisherL(KItemIndexCaptured);
- RequestCpsNotificationL(KItemIndexCaptured);
- HandleStateChangeL(KItemIndexCaptured);
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginCaptured* CGlxContentHarvesterPluginCaptured::NewLC(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::NewL" );
- CGlxContentHarvesterPluginCaptured* self = new ( ELeave ) CGlxContentHarvesterPluginCaptured( aCPSInterface,aCHplugin );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginCaptured::~CGlxContentHarvesterPluginCaptured()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::~CGlxContentHarvesterPluginCaptured" );
-
- DestroyMedialist();
-
- if ( iPeriodic )
- {
- iPeriodic->Cancel();
- }
- delete iPeriodic;
-
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::UpdateDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::UpdateDataL()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::UpdateDataL" );
-
- if (!iMediaList)
- {
- return;
- }
-
- if (iMediaList->Count() && iPreviewItemCount.Count())
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::UpdateDataL(),iProgressIndex=%d",iProgressIndex);
- TInt ret = UpdateItem(iPreviewItemCount[iProgressIndex]);
- if (ret != KErrNotFound)
- {
- //Updates the thumbnail in the collection
- UpdateDataInCPSL(ret);
- }
- else
- {
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- else
- {
- // Show previous thumbnail until the new thumbnail is
- // fecthed.Added this check to avoid flicker
- if (iMediaList->Count() == 0)
- {
- //Don't Show the Thumbnail/Show nothing
- GLX_LOG_INFO("CGlxContentHarvesterPluginCaptured::UpdateDataL() --O");
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleNotifyL()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginCaptured::HandleNotifyL(
- TInt /* aCmdId*/,
- TInt/* aEventId */,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/ )
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleNotifyL" );
-
- HandleStateChangeL(KItemIndexCaptured);
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleItemChanged()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleItemChanged()
- {
- TRACER("CGlxContentHarvesterPluginCaptured::HandleItemChanged");
-
- iProgressIndex = 0;
- iPreviewItemCount.Reset();
-
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- if(iMediaList)
- {
- TInt count = iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured:: HandleItemChanged ,count=%d",count);
-
- TBool inFocus = IsFocused();
- for(TInt aItemIndex = 0; aItemIndex < count ; aItemIndex++)
- {
- const TGlxMedia& item = iMediaList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- iPreviewItemCount.InsertInOrder(aItemIndex);
- if(!inFocus)
- {
- //if the collection is NOT in Focus,retrive only one thumbnail and break
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::HandleItemChanged,iRange=1,aItemIndex=%d",aItemIndex);
- break;
- }
- else if(iPreviewItemCount.Count() == KPreviewThumbnailFetchCount ||
- iPreviewItemCount.Count() == count )
- {
- //if the collection is not in Focus,retrive 15 thumbnail and break
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::HandleItemChanged,iRange=15,aItemIndex=%d",aItemIndex);
- break;
- }
-
- }
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::UpdateDataInCPSL(TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::UpdateDataInCPSL" );
- //update data in CPS
- _LIT(KExamplePluginPub,"photossuite");
- _LIT(KContTypeText,"captured");
- _LIT(KContId1,"category1");
-
- if(iCPSInterface && iMediaList )
- {
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
-
- FillInputListWithDataL(inParamList, KExamplePluginPub, KContTypeText ,
- KContId1, aHandle);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::UpdateItem()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginCaptured::UpdateItem(TInt aItemIndex)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::UpdateItem" );
- const TGlxMedia& item = iMediaList->Item(aItemIndex);
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::UpdateItem,aItemIndex=%d ",aItemIndex);
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::UpdateItem,iProgressIndex=%d ",iProgressIndex);
- iProgressIndex++;
- if (iProgressIndex >= KPreviewThumbnailFetchCount ||
- iProgressIndex >= iPreviewItemCount.Count() ||
- iProgressIndex >= iMediaList->Count())
- {
- iProgressIndex = 0;
- }
- return value->iBitmap->Handle();
- }
- return KErrNotFound;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::ActivateL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::ActivateL( TBool aOn )
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::ActivateL" );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::ActivateL aOn =%d",aOn);
- SetFocus(aOn);
-
- if (IsMatrixMenuInForegroundL() && aOn && !iPeriodic->IsActive() )
- {
-
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- //Update the rest of all the collections on receving the focus...
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- else
- {
- //As the collection is not updated by the contentharvester plugin
- //to update the thumbnails on the focus , need to call the below function
- UpdatePreviewThumbnailListL();
- }
-
- iPeriodic->Start( KTimerInterval,
- KTimerInterval,
- TCallBack( TimerCallbackL, this ) );
- }
- else if ( !aOn )
- {
- if(!IsMatrixMenuInForegroundL())
- {
- //use case:Matrix Menu is exited, by entering into grid view,application view,capture mode...
- //Need to destroy all the collection's observers and context
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::ActivateL !aOn =%d and matrix not in foreground",aOn);
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- iPeriodic->Cancel();
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /* aEndIndex */, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleItemModifiedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL" );
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
-
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL =%d ",aItemIndex);
- if (KErrNotFound != aAttributes.Find( thumbnailAttribute, match ))
- {
- const TGlxMedia& item = aList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL Thumbnail is present ");
- iPreviewItemCount.InsertInOrder(aItemIndex);
-
- //if the collection on the matrix menu is not focused,then show only one thumbnail
- if(!IsFocused())
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- //if one thumbnail is fetched,it is sufficent when the collection is not in focus.
- //remove the observer as client need not listen to the callbacks
- iMediaList->RemoveMediaListObserver( this );
- }
- else if (iPreviewItemCount.Count() == KPreviewThumbnailFetchCount ||
- iPreviewItemCount.Count() == aList->Count() )
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::HandleAttributesAvailableL,media list count=%d",aList->Count());
- //if the PreviewItemCount equals 15 or if it is eqaul to the total count
- //remove the observer as client need not listen to the callbacks
- iMediaList->RemoveMediaListObserver( this );
- }
- }//end of check against value
- }//end of attribute match
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleFocusChangedL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::DestroyMedialist
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::DestroyMedialist" );
- if( iMediaList )
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginCaptured::DestroyMedialist,media list deleted");
- RemoveContextAndObserver();
-
- delete iUriAttributeContext;
- iUriAttributeContext = NULL;
- delete iThumbnailAttributeContext;
- iThumbnailAttributeContext = NULL;
-
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::CreateMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::CreateMedialistL( )
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::CreateMedialistL" );
- if(!iMediaList)
- {
- //if the collection is in focus then , create media list with context of 15 items else
- // with context of single item.
- if(IsFocused())
- {
- iThumbnailIterator.SetRange( KPreviewThumbnailFetchCount );
- }
- else
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- }
-
- iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
- KGlxCollectionPluginCameraImplementationUid ),
- iUriAttributeContext,iThumbnailAttributeContext);
-
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::UpdatePreviewThumbnailListL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::UpdatePreviewThumbnailListL( )
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::UpdatePreviewThumbnailListL" );
-
- //when there is an update of content in the collection
- //this function is executed or when the collection recives the focus.
- if(!iMediaList)
- {
- //medis list is not created yet,create it.
- CreateMedialistL( );
- //This is called to show the preview thumbnails. If no thumbnails are
- //present, display nothing
- UpdateDataL();
- }
- else if(IsFocused())
- {
- //1.This loop is executed,when the collection gets focus
- //2.This loop is executed,when the contents are updated for this collection
- //and this collection has focus,so 15 thumbnails are fetched.
- HandleItemChanged();
- iThumbnailIterator.SetRange( KPreviewThumbnailFetchCount );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
- else
- {
- //1.This loop is executed,when the contents are updated for this collection
- //and this collection doesn't have the focus,so only one thumbnail is fetched.
-
- //here we need to fetch only one item
- //1.if the content is deleted,then creating a context doesn't fetch the attributes
- //2.if the content is added and the content is not the latest as per the sorted order of the
- // media list,then the thumbnails are not fetched.
- // so show the first available thumbnail in the media list.
-
- HandleItemChanged();
- UpdateDataL();
-
- //Adding the context doesn't gaurantee we get a call back for
- //Handle attributes available,if the latest item is already fetched.
- //and for the content added for this collection,if it is not latest
- //we will not recieve the attributes .so show the first available thumbnail
- //in the media list.if there is any new latest content added,the thumbnail will be
- //fetched and shown.
-
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::AddContextAndObserverL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::AddContextAndObserverL()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::AddContextAndObserverL" );
- if(iMediaList)
- {
- iMediaList->AddMediaListObserverL( this );
- iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal);
- iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::RemoveContextAndObserver
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::RemoveContextAndObserver()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::RemoveContextAndObserver" );
- if(iMediaList)
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iUriAttributeContext);
- iMediaList->RemoveContext(iThumbnailAttributeContext);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginCaptured::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::HandleError" );
-
-#ifdef _DEBUG
- if(iMediaList)
- {
- TInt count=iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::HandleError,count=%d",count);
- for ( TInt i = 0; i < count ; i++ )
- {
- const TGlxMedia& item = iMediaList->Item( i );
- TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
- item.Properties(), KGlxMediaIdThumbnail );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginCaptured::HandleError,Error=%d ",thumbnailError);
-
- }
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginCaptured::Count
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginCaptured::Count()
- {
- TRACER( "CGlxContentHarvesterPluginCaptured::Count" );
- TInt count = KErrNone;
- if(iMediaList)
- {
- count = iMediaList->Count();
- GLX_LOG_INFO1("GlxCHP:Captured::Count(%d)",count);
- }
- return count;
- }
-// End of File
-
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugindownloads.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,618 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage for downloads collection
- *
- */
-
-// INCLUDE FILES
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <LiwServiceHandler.h>
-
-#include <glxuistd.h>
-#include <glxicons.mbg> // Glx Icons
-#include <glxcollectionplugindownloads.hrh>
-#include <glxthumbnailattributeinfo.h> // for KGlxMediaIdThumbnail
-#include <glxattributecontext.h>
-#include <glxthumbnailcontext.h>
-#include <glxtracer.h>
-#include <glxlog.h> // For Log
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxmediaid.h>
-#include <glxerrormanager.h>
-
-#include "glxcontentharvesterplugindownloads.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-
-
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-LOCAL_C TInt TimerCallbackL( TAny* aPtr )
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::TimerCallbackL" );
- static_cast<CGlxContentHarvesterPluginDownloads*>(aPtr)->UpdateDataL();
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginDownloads::CGlxContentHarvesterPluginDownloads(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
-
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::CGlxContentHarvesterPluginDownloads" );
- iCPSInterface = aCPSInterface;
- SetCHPlugin(aCHplugin);
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::ConstructL" );
-
- //Call the base class ConstructL,to create the default thumbnail
- CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
-
- iPeriodic = CPeriodic::NewL( CActive::EPriorityLow );
-
- iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
- iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
-
- //Register/Subscribe with matrix menu for the notifications
- GetInterfaceForNotificationL();
- SetupPublisherL(KItemIndexDownloads);
- RequestCpsNotificationL(KItemIndexDownloads);
- HandleStateChangeL(KItemIndexDownloads);
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginDownloads* CGlxContentHarvesterPluginDownloads::NewLC(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::NewL" );
- CGlxContentHarvesterPluginDownloads* self = new ( ELeave ) CGlxContentHarvesterPluginDownloads( aCPSInterface,aCHplugin );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginDownloads::~CGlxContentHarvesterPluginDownloads()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::~CGlxContentHarvesterPluginDownloads" );
-
- DestroyMedialist();
- if ( iPeriodic )
- {
- iPeriodic->Cancel();
- }
- delete iPeriodic;
-
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::UpdateDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::UpdateDataL()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::UpdateDataL" );
-
- if (!iMediaList)
- {
- return;
- }
-
- if (iMediaList->Count() && iPreviewItemCount.Count())
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::UpdateDataL(),iProgressIndex=%d",iProgressIndex);
- TInt ret = UpdateItem(iPreviewItemCount[iProgressIndex]);
- if(ret != KErrNotFound)
- {
- //Updates the thumbnail in the collection
- UpdateDataInCPSL(ret);
- }
- else
- {
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- else
- {
- // Show previous thumbnail until the new thumbnail is
- // fecthed.Added this check to avoid flicker
- if(iMediaList->Count() == 0)
- {
- //Don't Show the Thumbnail/Show nothing
- GLX_LOG_INFO("CGlxContentHarvesterPluginDownloads::UpdateDataL() --O");
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleNotifyL()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginDownloads::HandleNotifyL(
- TInt /* aCmdId*/,
- TInt/* aEventId */,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/ )
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleNotifyL" );
- HandleStateChangeL(KItemIndexDownloads);
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleItemChanged()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleItemChanged()
- {
- TRACER("CGlxContentHarvesterPluginDownloads::HandleItemChanged");
-
- iProgressIndex = 0;
- iPreviewItemCount.Reset();
-
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- if(iMediaList)
- {
-
- TInt count = iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads:: HandleItemChanged ,count=%d",count);
-
- TBool inFocus = IsFocused();
- for(TInt aItemIndex = 0; aItemIndex < count; aItemIndex++)
- {
- const TGlxMedia& item = iMediaList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- iPreviewItemCount.InsertInOrder(aItemIndex);
- if(!inFocus)
- {
- //if the collection is not in Focus,retrive only one thumbnail and break
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::HandleItemChanged,Range=1,aItemIndex=%d",aItemIndex);
- break;
- }
- else if(iPreviewItemCount.Count() == KPreviewThumbnailFetchCount ||
- iPreviewItemCount.Count() == count )
- {
- //if the collection is not in Focus,retrive 15 thumbnail and break
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::HandleItemChanged,Range=15,aItemIndex=%d",aItemIndex);
- break;
- }
-
- }
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::UpdateDataInCPSL(TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::UpdateDataInCPSL" );
- //update data in CPS
- _LIT(KExamplePluginPub,"photossuite");
- _LIT(KContentActivation,"downloads");
- _LIT(KContId1,"category1");
-
- if(iCPSInterface && iMediaList )
- {
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
-
- FillInputListWithDataL(inParamList, KExamplePluginPub, KContentActivation ,
- KContId1, aHandle);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::UpdateItem()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginDownloads::UpdateItem(TInt aItemIndex)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::UpdateItem" );
- const TGlxMedia& item = iMediaList->Item(aItemIndex);
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::UpdateItem,aItemIndex=%d ",aItemIndex);
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::UpdateItem,iProgressIndex=%d ",iProgressIndex);
- iProgressIndex++;
- if (iProgressIndex >= KPreviewThumbnailFetchCount ||
- iProgressIndex >= iPreviewItemCount.Count() ||
- iProgressIndex >= iMediaList->Count())
- {
- iProgressIndex = 0;
- }
- return value->iBitmap->Handle();
- }
- return KErrNotFound;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::ActivateL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::ActivateL( TBool aOn )
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::ActivateL" );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::ActivateL aOn =%d",aOn);
- SetFocus(aOn);
-
- if (IsMatrixMenuInForegroundL() && aOn && !iPeriodic->IsActive() )
- {
-
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- //Update the rest of all the collections on receving the focus...
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- else
- {
- //As the collection is not updated by the contentharvester plugin
- //to update the thumbnails on the focus , need to call the below function
- UpdatePreviewThumbnailListL();
- }
-
- iPeriodic->Start( KTimerInterval,
- KTimerInterval,
- TCallBack( TimerCallbackL, this ) );
- }
- else if ( !aOn )
- {
- if(!IsMatrixMenuInForegroundL())
- {
- //use case:Matrix Menu is exited, by entering into grid view,application view,capture mode...
- //Need to destroy all the collection's observers and context
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::ActivateL !aOn =%d and matrix not in foreground",aOn);
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- iPeriodic->Cancel();
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /* aEndIndex */, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleItemModifiedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL" );
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
-
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL =%d ",aItemIndex);
- if (KErrNotFound != aAttributes.Find( thumbnailAttribute, match ))
- {
- const TGlxMedia& item = aList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL Thumbnail is present ");
- iPreviewItemCount.InsertInOrder(aItemIndex);
-
- //if the collection on the matrix menu is not focused,then show only one thumbnail
- if(!IsFocused())
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- //if one thumbnail is fetched,it is sufficent when the collection is not in focus.
- //remove the observer as client need not listen to the callbacks
- iMediaList->RemoveMediaListObserver( this );
- }
- else if (iPreviewItemCount.Count() == KPreviewThumbnailFetchCount ||
- iPreviewItemCount.Count() == aList->Count() )
- {
- //if the PreviewItemCount equals 15 or if it is eqaul to the total count
- //remove the observer as client need not listen to the callbacks
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::HandleAttributesAvailableL,media list count=%d",aList->Count());
- iMediaList->RemoveMediaListObserver( this );
- }
- }//end of check against value
- }//end of attribute match
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleFocusChangedL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::DestroyMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::DestroyMedialist" );
- if( iMediaList )
- {
- RemoveContextAndObserver();
-
- delete iUriAttributeContext;
- iUriAttributeContext = NULL;
- delete iThumbnailAttributeContext;
- iThumbnailAttributeContext = NULL;
-
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::CreateMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::CreateMedialistL( )
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::CreateMedialistL" );
- if(!iMediaList)
- {
- //if the collection is in focus then , create media list with context of 15 items else
- // with context of single item.
- if(IsFocused())
- {
- iThumbnailIterator.SetRange( KPreviewThumbnailFetchCount );
- }
- else
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- }
-
- iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
- KGlxCollectionPluginDownloadsImplementationUid ),
- iUriAttributeContext,iThumbnailAttributeContext);
-
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::UpdatePreviewThumbnailListL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::UpdatePreviewThumbnailListL( )
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::UpdatePreviewThumbnailListL" );
-
- //when there is an update of content in the collection
- //this function is executed or when the collection recives the focus.
- if(!iMediaList)
- {
- //medis list is not created yet,create it.
- CreateMedialistL( );
- //This is called to show the preview thumbnails. If no thumbnails are
- //present, display nothing
- UpdateDataL();
- }
- else if(IsFocused())
- {
- //1.This loop is executed,when the collection gets focus
- //2.This loop is executed,when the contents are updated for this collection
- //and this collection has focus,so 15 thumbnails are fetched.
- HandleItemChanged();
- iThumbnailIterator.SetRange( KPreviewThumbnailFetchCount );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
- else
- {
- //1.This loop is executed,when the contents are updated for this collection
- //and this collection doesn't have the focus,so only one thumbnail is fetched.
-
- //here we need to fetch only one item
- //1.if the content is deleted,then creating a context doesn't fetch the attributes
- //2.if the content is added and the content is not the latest as per the sorted order of the
- // media list,then the thumbnails are not fetched.
- // so show the first available thumbnail in the media list.
-
- HandleItemChanged();
- UpdateDataL();
-
- //Adding the context doesn't gaurantee we get a call back for
- //Handle attributes available,if the latest item is already fetched.
- //and for the content added for this collection,if it is not latest
- //we will not recieve the attributes .so show the first available thumbnail
- //in the media list.if there is any new latest content added,the thumbnail will be
- //fetched and shown.
-
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::AddContextAndObserverL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::AddContextAndObserverL()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::AddRemoveContextAndObserverL" );
- if(iMediaList)
- {
- iMediaList->AddMediaListObserverL( this );
- iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal);
- iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::RemoveContextAndObserver
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::RemoveContextAndObserver()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::RemoveContextAndObserver" );
- if(iMediaList)
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iUriAttributeContext);
- iMediaList->RemoveContext(iThumbnailAttributeContext);
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginDownloads::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::HandleError" );
-
-#ifdef _DEBUG
- if(iMediaList)
- {
- TInt count=iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::HandleError,count=%d",count);
- for ( TInt i = 0; i < count ; i++ )
- {
- const TGlxMedia& item = iMediaList->Item( i );
- TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
- item.Properties(), KGlxMediaIdThumbnail );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginDownloads::HandleError,Error=%d ",thumbnailError);
-
- }
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginDownloads::Count
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginDownloads::Count()
- {
- TRACER( "CGlxContentHarvesterPluginDownloads::Count" );
- TInt count = KErrNone;
- if(iMediaList)
- {
- count = iMediaList->Count();
- GLX_LOG_INFO1("GlxCHP:Downloads::Count(%d)",count);
- }
- return count;
- }
-// End of File
-
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginmonths.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,503 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage for months collection
- *
- */
-
-// INCLUDE FILES
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-
-#include <glxuistd.h>
-#include <glxicons.mbg> // Glx Icons
-#include <glxcollectionpluginmonths.hrh>
-#include <glxthumbnailattributeinfo.h> // for KGlxMediaIdThumbnail
-#include <glxattributecontext.h>
-#include <glxthumbnailcontext.h>
-
-#include <glxtracer.h>
-#include <glxlog.h>
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxmediaid.h>
-#include <glxerrormanager.h>
-
-#include "glxcontentharvesterpluginmonths.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginMonths::CGlxContentHarvesterPluginMonths(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
-
- {
- TRACER( "CGlxContentHarvesterPluginMonths::CGlxContentHarvesterPluginMonths" );
- iCPSInterface = aCPSInterface;
- SetCHPlugin(aCHplugin);
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::ConstructL" );
-
- //Call the base class ConstructL to create default bitmap
- CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
-
- iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
- iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
-
- //Register/Subscribe with matrix menu for the notifications
- GetInterfaceForNotificationL();
- SetupPublisherL(KItemIndexMonths);
- RequestCpsNotificationL(KItemIndexMonths);
- HandleStateChangeL(KItemIndexMonths);
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginMonths* CGlxContentHarvesterPluginMonths::NewLC(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin *aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginMonths::NewL" );
- CGlxContentHarvesterPluginMonths* self = new ( ELeave ) CGlxContentHarvesterPluginMonths( aCPSInterface,aCHplugin );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginMonths::~CGlxContentHarvesterPluginMonths()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::~CGlxContentHarvesterPluginMonths" );
- DestroyMedialist();
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::UpdateDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::UpdateDataL()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::UpdateDataL" );
-
- if (!iMediaList)
- {
- return;
- }
-
- if (iMediaList->Count())
- {
- TInt ret = UpdateItem(KPreviewItemIndex);
- if(ret != KErrNotFound)
- {
- //Updates the thumbnail in the collection
- UpdateDataInCPSL(ret);
- }
- }
- else
- {
- // Show previous thumbnail until the new thumbnail is
- // fecthed.Added this check to avoid flicker
- if(!GetCHPlugin()->IsRefreshNeeded() || (iMediaList->Count() == 0))
- {
- //Don't Show the Thumbnail/Show nothing
- GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::UpdateDataL() --O");
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleNotifyL()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginMonths::HandleNotifyL(
- TInt /* aCmdId*/,
- TInt/* aEventId */,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/ )
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleNotifyL" );
- HandleStateChangeL(KItemIndexMonths);
- return KErrNone;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::UpdateDataInCPSL(TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::UpdateDataInCPSL" );
- //update data in CPS
- _LIT(KExamplePluginPub,"photossuite");
- _LIT(KContTypeText,"months");
- _LIT(KContId1,"category1");
-
- if(iCPSInterface && iMediaList )
- {
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
-
- FillInputListWithDataL(inParamList, KExamplePluginPub, KContTypeText ,
- KContId1, aHandle);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::UpdateItem()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginMonths::UpdateItem(TInt aItemIndex)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::UpdateItem" );
- const TGlxMedia& item = iMediaList->Item(aItemIndex);
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::UpdateItem,aItemIndex=%d ",aItemIndex);
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- return value->iBitmap->Handle();
- }
- return KErrNotFound;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::ActivateL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::ActivateL( TBool aOn )
- {
- TRACER( "CGlxContentHarvesterPluginMonths::ActivateL" );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::ActivateL aOn =%d",aOn);
- SetFocus(aOn);
-
- if (IsMatrixMenuInForegroundL() && aOn )
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- //Update the rest of all the collections on receving the focus...
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- else
- {
- //As the collection is not updated by the contentharvester plugin
- //to update the thumbnails on the focus , need to call the below function
- UpdatePreviewThumbnailListL();
- }
- }
- else if ( !aOn )
- {
- if(!IsMatrixMenuInForegroundL())
- {
- //use case:Matrix Menu is exited, by entering into grid view,application view,capture mode...
- //Need to destroy all the collection's observers and context
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::ActivateL !aOn =%d and matrix not in foreground",aOn);
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /* aEndIndex */, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleItemModifiedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL" );
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
-
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL =%d ",aItemIndex);
- if (KErrNotFound != aAttributes.Find( thumbnailAttribute, match ))
- {
- const TGlxMedia& item = aList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL Thumbnail is present ");
-
- // Update the preview thumbnail
- //remove the observer as client need not listen to the callbacks
- GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- iMediaList->RemoveMediaListObserver( this );
- }//end of check against value
- }//end of attribute match
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleFocusChangedL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPluginMonths::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::DestroyMedialist
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::DestroyMedialist" );
- if( iMediaList )
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginMonths::DestroyMedialist,media list deleted");
- RemoveContextAndObserver();
-
- delete iUriAttributeContext;
- iUriAttributeContext = NULL;
- delete iThumbnailAttributeContext;
- iThumbnailAttributeContext = NULL;
-
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::CreateMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::CreateMedialistL( )
- {
- TRACER( "CGlxContentHarvesterPluginMonths::CreateMedialistL" );
- if(!iMediaList)
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
-
- iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
- KGlxCollectionPluginMonthsImplementationUid ),
- iUriAttributeContext,iThumbnailAttributeContext);
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::UpdatePreviewThumbnailListL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::UpdatePreviewThumbnailListL( )
- {
- TRACER( "CGlxContentHarvesterPluginMonths::UpdatePreviewThumbnailListL" );
-
- //when there is an update of content in the collection
- //this function is executed or when the collection recives the focus.
- if(!iMediaList)
- {
- //media list is not created yet,create it.
- CreateMedialistL( );
- UpdateDataL();
- }
- else
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- ContainerCacheCleanupL(iMediaList);
- }
-
- //1.if the content is deleted,then creating a context doesn't fetch the attributes
- //2.if the content is added and the content is not the latest as per the sorted order of the
- // media list,then the thumbnails are not fetched.
- // so show the first available thumbnail in the media list.
-
- UpdateDataL();
-
- //Adding the context doesn't gaurantee we get a call back for
- //Handle attributes available,if the latest item is already fetched.
- //and for the content added for this collection,if it is not latest
- //we will not recieve the attributes .so show the first available thumbnail
- //in the media list.if there is any new latest content added,the thumbnail will be
- //fetched and shown.
-
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::AddContextAndObserverL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::AddContextAndObserverL()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::AddRemoveContextAndObserverL" );
- if(iMediaList)
- {
- iMediaList->AddMediaListObserverL( this );
- iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal);
- iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginAlbums::RemoveContextAndObserver
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::RemoveContextAndObserver()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::RemoveContextAndObserver" );
- if(iMediaList)
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iUriAttributeContext);
- iMediaList->RemoveContext(iThumbnailAttributeContext);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginMonths::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPluginMonths::HandleError" );
-
-#ifdef _DEBUG
- if(iMediaList)
- {
- TInt count=iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::HandleError,count=%d",count);
- for ( TInt i = 0; i < count ; i++ )
- {
- const TGlxMedia& item = iMediaList->Item( i );
- TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
- item.Properties(), KGlxMediaIdThumbnail );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginMonths::HandleError,Error=%d ",thumbnailError);
-
- }
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginMonths::Count
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginMonths::Count()
- {
- TRACER( "CGlxContentHarvesterPluginMonths::Count" );
- TInt count = KErrNone;
- if(iMediaList)
- {
- count = iMediaList->Count();
- GLX_LOG_INFO1("GlxCHP:Months::Count(%d)",count);
- }
- return count;
- }
-// End of File
-
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterpluginproxy.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2008-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: A Proxy file.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include <ecom/implementationproxy.h>
-
-#include "glxcontentharvesterplugin.h"
-#include "glxcontentharvesterplugin.hrh"
-
-
-#if (!defined IMPLEMENTATION_PROXY_ENTRY)
- typedef TAny* TProxyNewLPtr;
-#define IMPLEMENTATION_PROXY_ENTRY( aUid, aFuncPtr )
- { { aUid },( TProxyNewLPtr )( aFuncPtr ) }
-#endif
-
-// ----------------------------------------------------------------------------
-// Map the interface UIDs to the implementation
-// ----------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( KGlxCHPluginImplUid, CGlxContentHarvesterPlugin::NewL)
- };
-
-// ----------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Exported proxy for instantiation method resolution
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy*
-ImplementationGroupProxy(TInt& aTableCount)
- {
-
- aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
-
- return ImplementationTable;
- }
-
-// End of File
--- a/photosgallery/contentharvesterplugin/src/glxcontentharvesterplugintags.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
-/*
- * Copyright (c) 2008-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: Updates CPS storage for all collection
- *
- */
-
-// INCLUDE FILES
-
-#include <mmf/common/mmfcontrollerpluginresolver.h>
-#include <liwservicehandler.h>
-
-#include <glxuistd.h>
-#include <glxicons.mbg> // Glx Icons
-#include <glxcollectionplugintags.hrh>
-#include <glxthumbnailattributeinfo.h> // for KGlxMediaIdThumbnail
-#include <glxattributecontext.h>
-#include <glxthumbnailcontext.h>
-#include <glxtracer.h>
-#include <glxlog.h>
-#include <mglxmedialist.h> // for MGlxMediaList
-#include <glxcollectiongeneraldefs.h>
-#include <glxgallery.hrh> // for KGlxGalleryApplicationUid
-#include <glxmediaid.h>
-#include <glxerrormanager.h>
-
-#include "glxcontentharvesterplugintags.h"
-#include "glxcontentharvesterplugin.hrh"
-#include "glxmapconstants.h"
-
-
-// ============================ MEMBER FUNCTIONS ==============================
-
-// ----------------------------------------------------------------------------
-// Constructor
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginTags::CGlxContentHarvesterPluginTags(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin )
-
- {
- TRACER( "CGlxContentHarvesterPluginTags::CGlxContentHarvesterPluginTags" );
- iCPSInterface = aCPSInterface;
- SetCHPlugin(aCHplugin);
- }
-
-// ----------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::ConstructL()
- {
- TRACER( "CGlxContentHarvesterPluginTags::ConstructL" );
-
- //Call the base class ConstructL to create default bitmap
- CGlxContentHarvesterPluginBase::ConstructL(EMbmGlxiconsQgn_prop_image_notcreated);
-
- iUriAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
- iThumbnailAttributeContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
-
- //Register/Subscribe with matrix menu for the notifications
- GetInterfaceForNotificationL();
- SetupPublisherL(KItemIndexTags);
- RequestCpsNotificationL(KItemIndexTags);
- HandleStateChangeL(KItemIndexTags);
- }
-
-// ----------------------------------------------------------------------------
-// Two-phased constructor.
-// ----------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginTags* CGlxContentHarvesterPluginTags::NewLC(
- MLiwInterface* aCPSInterface,
- MGlxContentHarvesterPlugin* aCHplugin )
- {
- TRACER( "CGlxContentHarvesterPluginTags::NewL" );
- CGlxContentHarvesterPluginTags* self = new ( ELeave )CGlxContentHarvesterPluginTags( aCPSInterface,aCHplugin );
-
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxContentHarvesterPluginTags::~CGlxContentHarvesterPluginTags()
- {
- TRACER( "CGlxContentHarvesterPluginTags::~CGlxContentHarvesterPluginTags" );
-
- DestroyMedialist();
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::UpdateDataL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::UpdateDataL()
- {
- TRACER( "CGlxContentHarvesterPluginTags::UpdateDataL" );
-
- if (!iMediaList)
- {
- return;
- }
-
- if (iMediaList->Count())
- {
- TInt ret = UpdateItem(KPreviewItemIndex);
- if (ret != KErrNotFound)
- {
- //Updates the thumbnail in the collection
- UpdateDataInCPSL(ret);
- }
- }
- else
- {
- // Show previous thumbnail until the new thumbnail is
- // fecthed.Added this check to avoid flicker
- if (!GetCHPlugin()->IsRefreshNeeded() || (iMediaList->Count() == 0))
- {
- //Don't Show the Thumbnail/Show nothing
- GLX_LOG_INFO("CGlxContentHarvesterPluginTags::UpdateDataL() --O");
- UpdateDataInCPSL(GetBitmapHandle());
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleNotifyL()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginTags::HandleNotifyL(
- TInt /* aCmdId*/,
- TInt/* aEventId */,
- CLiwGenericParamList& /*aEventParamList*/,
- const CLiwGenericParamList& /*aInParamList*/ )
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleNotifyL" );
- HandleStateChangeL(KItemIndexTags);
- return KErrNone;
- }
-
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::UpdateDataInCPSL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::UpdateDataInCPSL(TInt aHandle)
- {
- TRACER( "CGlxContentHarvesterPluginTags::UpdateDataInCPSL" );
- //update data in CPS
- _LIT(KExamplePluginPub,"photossuite");
- _LIT(KContTypeText,"tags");
- _LIT(KContId1,"category1");
-
- if(iCPSInterface && iMediaList )
- {
- CLiwGenericParamList* inParamList = CLiwGenericParamList::NewLC();
- CLiwGenericParamList* outParamList = CLiwGenericParamList::NewLC();
-
- FillInputListWithDataL(inParamList, KExamplePluginPub, KContTypeText ,
- KContId1, aHandle);
-
- iCPSInterface->ExecuteCmdL( KAdd, *inParamList, *outParamList );
- CleanupStack::PopAndDestroy(outParamList);
- CleanupStack::PopAndDestroy(inParamList);
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::UpdateItem()
-// ----------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginTags::UpdateItem(TInt aItemIndex)
- {
- TRACER( "CGlxContentHarvesterPluginTags::UpdateItem" );
- const TGlxMedia& item = iMediaList->Item(aItemIndex);
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::UpdateItem,aItemIndex=%d ",aItemIndex);
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- return value->iBitmap->Handle();
- }
- return KErrNotFound;
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::ActivateL()
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::ActivateL( TBool aOn )
- {
- TRACER( "CGlxContentHarvesterPluginTags::ActivateL" );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::ActivateL aOn =%d",aOn);
- SetFocus(aOn);
-
- if (IsMatrixMenuInForegroundL() && aOn )
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- //Update the rest of all the collections on receving the focus...
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- else
- {
- //As the collection is not updated by the contentharvester plugin
- //to update the thumbnails on the focus , need to call the below function
- UpdatePreviewThumbnailListL();
- }
- }
- else if ( !aOn )
- {
- if(!IsMatrixMenuInForegroundL())
- {
- //use case:Matrix Menu is exited, by entering into grid view,application view,capture mode...
- //Need to destroy all the collection's observers and context
- GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::ActivateL !aOn =%d and matrix not in foreground",aOn);
- GetCHPlugin()->UpdatePlugins(aOn);
- }
- }
- }
-
-// ----------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleItemAddedL
-// ----------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleItemAddedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleMediaL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleMediaL(TInt /*aListIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleMediaL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleItemRemovedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleItemRemovedL(TInt /*aStartIndex*/,
- TInt /* aEndIndex */, MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleItemRemovedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleItemModifiedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleItemModifiedL(
- const RArray<TInt>& /*aItemIndexes*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleItemModifiedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleAttributesAvailableL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleAttributesAvailableL(TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleAttributesAvailableL" );
- TSize gridIconSize = GetGridIconSize();
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, gridIconSize.iWidth, gridIconSize.iHeight ) );
-
- TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
-
- GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::HandleAttributesAvailableL =%d ",aItemIndex);
- if (KErrNotFound != aAttributes.Find( thumbnailAttribute, match ))
- {
- const TGlxMedia& item = aList->Item( aItemIndex );
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute( thumbnailAttribute );
- if (value)
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginTags::HandleAttributesAvailableL Thumbnail is present ");
-
- // Update the preview thumbnail
- //remove the observer as client need not listen to the callbacks
- GLX_LOG_INFO("CGlxContentHarvesterPluginTags::HandleAttributesAvailableL,one thumbnail fetched");
- UpdateDataInCPSL( value->iBitmap->Handle());
- iMediaList->RemoveMediaListObserver( this );
- }//end of check against value
- }//end of attribute match
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleFocusChangedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleFocusChangedL(
- NGlxListDefs::TFocusChangeType /*aType*/,
- TInt /*aNewIndex*/,
- TInt /*aOldIndex*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleFocusChangedL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleItemSelectedL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleItemSelectedL(TInt /*aIndex*/,
- TBool /*aSelected*/,
- MGlxMediaList* /*aList*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleItemSelectedL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleMessageL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleMessageL(const CMPXMessage& /*aMessage*/,
- MGlxMediaList* /*aList*/)
- {
- // Do nothing
- TRACER( "CGlxContentHarvesterPluginTags::HandleMessageL" );
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::DestroyMedialist
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::DestroyMedialist()
- {
- TRACER( "CGlxContentHarvesterPluginTags::DestroyMedialist" );
- if( iMediaList )
- {
- GLX_LOG_INFO("CGlxContentHarvesterPluginTags::DestroyMedialist,media list deleted");
- RemoveContextAndObserver();
-
- delete iUriAttributeContext;
- iUriAttributeContext = NULL;
- delete iThumbnailAttributeContext;
- iThumbnailAttributeContext = NULL;
-
- iMediaList->Close();
- iMediaList = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::CreateMedialistL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::CreateMedialistL( )
- {
- TRACER( "CGlxContentHarvesterPluginTags::CreateMedialistL" );
- if(!iMediaList)
- {
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
-
- iMediaList = CreateMedialistAndAttributeContextL( TGlxMediaId(
- KGlxTagCollectionPluginImplementationUid ),
- iUriAttributeContext, iThumbnailAttributeContext);
-
- AddContextAndObserverL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::UpdatePreviewThumbnailListL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::UpdatePreviewThumbnailListL( )
- {
- TRACER( "CGlxContentHarvesterPluginTags::UpdatePreviewThumbnailListL" );
-
- //when there is an update of content in the collection
- //this function is executed or when the collection recives the focus.
- if(!iMediaList)
- {
- //media list is not created yet,create it.
- CreateMedialistL( );
- UpdateDataL();
- }
- else
- {
- if(GetCHPlugin()->IsRefreshNeeded())
- {
- ContainerCacheCleanupL(iMediaList);
- }
-
- //1.if the content is deleted,then creating a context doesn't fetch the attributes
- //2.if the content is added and the content is not the latest as per the sorted order of the
- // media list,then the thumbnails are not fetched.
- // so show the first available thumbnail in the media list.
-
- UpdateDataL();
-
- //Adding the context doesn't gaurantee we get a call back for
- //Handle attributes available,if the latest item is already fetched.
- //and for the content added for this collection,if it is not latest
- //we will not recieve the attributes .so show the first available thumbnail
- //in the media list.if there is any new latest content added,the thumbnail will be
- //fetched and shown.
-
- iThumbnailIterator.SetRange( KSinglePreviewThumbnail );
- RemoveContextAndObserver();
- AddContextAndObserverL();
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::AddContextAndObserverL
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::AddContextAndObserverL()
- {
- TRACER( "CGlxContentHarvesterPluginTags::AddRemoveContextAndObserverL" );
- if(iMediaList)
- {
- iMediaList->AddMediaListObserverL( this );
- iMediaList->AddContextL(iUriAttributeContext, KGlxFetchContextPriorityNormal);
- iMediaList->AddContextL(iThumbnailAttributeContext, KGlxFetchContextPriorityLow);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::RemoveContextAndObserver
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::RemoveContextAndObserver()
- {
- TRACER( "CGlxContentHarvesterPluginTags::RemoveContextAndObserver" );
- if(iMediaList)
- {
- iMediaList->RemoveMediaListObserver( this );
- iMediaList->RemoveContext(iUriAttributeContext);
- iMediaList->RemoveContext(iThumbnailAttributeContext);
- }
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::HandleError
-// ---------------------------------------------------------------------------
-//
-void CGlxContentHarvesterPluginTags::HandleError(TInt /*aError*/)
- {
- TRACER( "CGlxContentHarvesterPluginTags::HandleError" );
-
-#ifdef _DEBUG
- if(iMediaList)
- {
- TInt count=iMediaList->Count();
- GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::HandleError,count=%d",count);
- for ( TInt i = 0; i < count ; i++ )
- {
- const TGlxMedia& item = iMediaList->Item( i );
- TInt thumbnailError = GlxErrorManager::HasAttributeErrorL(
- item.Properties(), KGlxMediaIdThumbnail );
- GLX_LOG_INFO1("CGlxContentHarvesterPluginTags::HandleError,Error=%d ",thumbnailError);
-
- }
- }
-#endif
- }
-
-// ---------------------------------------------------------------------------
-// CGlxContentHarvesterPluginTags::Count
-// ---------------------------------------------------------------------------
-//
-TInt CGlxContentHarvesterPluginTags::Count()
- {
- TRACER( "CGlxContentHarvesterPluginTags::Count" );
- TInt count = KErrNone;
- if(iMediaList)
- {
- count = iMediaList->Count();
- GLX_LOG_INFO1("GlxCHP:Tags::Count(%d)",count);
- }
- return count;
- }
-// End of File
-
--- a/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/controllers/fetcher/src/glxfetchercontainer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -400,7 +400,7 @@
TMPXGeneralCategory cat = item.Category();
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
iHgGrid->ItemL(aIndex).SetFlags(
CHgItem::EHgItemFlagsDrmRightsValid);
--- a/photosgallery/gallery/loc/photos.loc Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/gallery/loc/photos.loc Wed Mar 31 21:31:03 2010 +0300
@@ -1018,6 +1018,11 @@
//
#define qtn_lgal_options_sort "Sort by"
+// d:Pop-up displayed when a large amount of images/videos are inserted into the device.
+// l:popup_note_wait_window
+// r:11.0
+#define qtn_lgal_refreshing_media_note "Refreshing your media"
+
//-----------------------------------------------------------------------------
// single line metapane strings
//-----------------------------------------------------------------------------
--- a/photosgallery/gallery/rom/gallery.iby Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2008-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: (ROM) Image description file for Media gallery
-*
-*/
-
-
-
-
-#ifndef GLX_IBY
-#define GLX_IBY
-
-#include <data_caging_paths_for_iby.hrh>
-
-S60_APP_EXE( viewer.exe )
-// S60_APP_AIF_ICONS( ?myapp )
-// S60_APP_AIF_RSC( ?myapp )
-// SCALABLE_IMAGE( APP_BITMAP_DIR, APP_BITMAP_DIR, ?myapp )
-
-// DLLs
-// file=\epoc32\release\armv5\urel\viewer.exe sys\bin\viewer.exe
-// ABI_DIR\BUILD_DIR\?myapp_engine_1.dll SHARED_LIB_DIR\?myapp_engine_1.dll
-// file=ABI_DIR\BUILD_DIR\?myapp_engine_2.dll SHARED_LIB_DIR\?myapp_engine_2.dll
-
-// configuration files
-// data=\epoc32\data\c\private\?uid3\?inifile.ini private\?uid3\?inifile.ini
-// data=\epoc32\data\c\private\?uid3\?datafile.dat private\?uid3\?datafile.dat
-// data=DATAZ_\RESOURCE_FILES_DIR\?myapp.rsc RESOURCE_FILES_DIR\?myapp.rsc
-data=\epoc32\data\z\private\10003a3f\import\apps\Viewer_reg.rsc private\10003a3f\import\apps\Viewer_reg.rsc
-data=DATAZ_\RESOURCE_FILES_DIR\Viewer_loc.Rsc RESOURCE_FILES_DIR\Viewer_loc.Rsc
-data=DATAZ_\RESOURCE_FILES_DIR\Viewer.Rsc RESOURCE_FILES_DIR\Viewer.Rsc
-//data=\epoc32\data\z\private\10003a3f\import\apps\Viewer_reg.rsc private\10003a3f\import\apps\Viewer_reg.rsc
-//data=\epoc32\data\z\resource\apps\Viewer_loc.Rsc resource\apps\Viewer_loc.Rsc
-//data=\epoc32\data\z\resource\apps\Viewer.Rsc resource\apps\Viewer.Rsc
-
-// AUTO-BITMAP must be used and only used for MBM-files for file
-// compression. Example:
-AUTO-BITMAP=ZSYSTEM\apps\?myapp\?myapp.mbm system\apps\?myapp\?myapp.mbm
-
-// ECOM plugin
-// ECOM_PLUGIN( ?myplugin.dll, ?myplugin.rsc )
-// DLLs that are also part of the plugin
-// file=ABI_DIR\BUILD_DIR\?myplugin_dll_1.dll SHARED_LIB_DIR\?myplugin_dll_1.dll
-// file=ABI_DIR\BUILD_DIR\?myplugin_dll_2.dll SHARED_LIB_DIR\?myplugin_dll_2.dll
-
-// STUB_SIS File
-data=ZSYSTEM\install\glxgallery_stub.SIS System\Install\glxgallery_stub.SIS
-#endif // GLX_IBY
--- a/photosgallery/gallery/src/glxappui.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/gallery/src/glxappui.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -80,14 +80,6 @@
const TInt KGlxMemoryForOOMFwk = 1048576 ; // 1 MB
const TInt KGlxThumbNailRepresentation = 2; // Thumbnail Representation; Could be 3 also
-_LIT8( KPhotosCaptured, "Captured" );
-_LIT8( KPhotosMonths, "Months" );
-_LIT8( KPhotosTags, "Tags" );
-_LIT8( KPhotosAlbums, "Albums" );
-_LIT8( KPhotosAllValue,"Allcs");
-
-const TInt KCapturedAlbumId = 2 ;
-
/**
* Start Delay for the periodic timer, in microseconds
*/
@@ -221,27 +213,10 @@
{
case KGlxActivationCmdShowLastModified:
case KGlxActivationCameraAlbum:
+ case KGlxActivationCmdShowAll:
HandleActivationMessageL(aMessageParameters);
break;
- case KGlxActivationPhotosMenu:
- case KGlxActivationCameraView:
- case KGlxActivationMonthsView:
- case KGlxActivationAlbumsView:
- case KGlxActivationTagsView:
- case KGlxActivationAllView:
- {
- TApaTaskList taskList( iCoeEnv->WsSession() );
- TApaTask task = taskList.FindApp( TUid::Uid( KGlxGalleryApplicationUid ) );
- TApaTask taskForeGround = taskList.FindByPos(0); // get fopreground app
- if ( task.Exists() && task.ThreadId() != taskForeGround.ThreadId() )
- {
- // No matter which collection is selected,
- // Photos is running in background, bring to foreground
- iEikonEnv->RootWin().SetOrdinalPosition(0);
- }
- }
- break;
default:
//To prevent Continues Activation of the Same View; Same is Triggered in ProcessCommandParametersL
HandleActivationMessageL(aMessageParameters);
@@ -480,7 +455,7 @@
HandleActivationMessageL( aData );
}
- // Introduced to fix bug EMJN-78GH6N. Rowland Cook 10/12/2007
+ // Introduced to fix bug EMJN-78GH6N.
if (0 != iEikonEnv->RootWin().OrdinalPosition())
{
iEikonEnv->RootWin().SetOrdinalPosition(0);
@@ -520,75 +495,28 @@
switch ( msgUid.iUid )
{
case KGlxActivationCmdShowLastModified:
- // Go to camera album full screen view
- GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: show last modified");
+ case KGlxActivationCameraAlbum:
+ case KGlxActivationCmdShowAll:
+ {
+ // Go to All grid view
+ GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: All Grid View");
// Send the command to reset the view
ProcessCommandL(EGlxCmdResetView);
- // Not using KGlxCollectionPluginCameraImplementationUid
iNavigationalState->SetBackExitStatus(ETrue);
- path->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
- path->AppendL(KCapturedAlbumId);
- SetActivationParamL(KGlxActivationFullScreen);
+ path->AppendL(KGlxCollectionPluginAllImplementationUid);
+ }
break;
- case KGlxActivationCameraAlbum:
- // Go to camera album tile view
- GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: camera album");
- iNavigationalState->SetBackExitStatus(ETrue);
- path->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
- path->AppendL(KCapturedAlbumId);
- break;
-
- case KGlxActivationPhotosMenu:
- // Open the main view
- GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: photos menu");
- break;
-
- case KGlxActivationAllView:
- GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: Show all photos");
- // Send the command to reset the view
- ProcessCommandL(EGlxCmdResetView);
- path->AppendL(KGlxCollectionPluginAllImplementationUid);
- break;
-
default:
GLX_LOG_INFO("CGlxAppUi::HandleActivationMessageL: unknown command");
-
-
- if(0 == aData.CompareC(KPhotosCaptured))
- {
- path->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
- path->AppendL(KCapturedAlbumId);
- }
- else if(0 == aData.CompareC(KPhotosAllValue))
- {
- path->AppendL(KGlxCollectionPluginAllImplementationUid);
- }
- else if(0 == aData.CompareC(KPhotosMonths))
- {
- path->AppendL(KGlxCollectionPluginMonthsImplementationUid);
- }
- else if(0 == aData.CompareC(KPhotosAlbums))
- {
- path->AppendL(KGlxCollectionPluginAlbumsImplementationUid);
- }
- else if(0 == aData.CompareC(KPhotosTags))
- {
- path->AppendL(KGlxTagCollectionPluginImplementationUid);
- }
- else
- {
- User::Leave(KErrNotSupported);
- }
- iNavigationalState->SetBackExitStatus(ETrue);
- break;
+ User::Leave(KErrNotSupported);
}
CleanupStack::PopAndDestroy(&stream);
iNavigationalState->SetStartingLevel(path->Levels());
iNavigationalState->NavigateToL( *path );
CleanupStack::PopAndDestroy(path);
- // Introduced to fix bug EMJN-78GH6N. Rowland Cook 10/12/2007
+ // Introduced to fix bug EMJN-78GH6N.
if (0 != iEikonEnv->RootWin().OrdinalPosition())
{
iEikonEnv->RootWin().SetOrdinalPosition(0);
--- a/photosgallery/gallery/src/glxdocument.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/gallery/src/glxdocument.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -110,7 +110,7 @@
// Reset old data
ResetDocument();
iImageViewerInstance->SetImageFileHandleL(aFile);
- CleanupStack::PopAndDestroy(); // Close aFile
+ CleanupStack::PopAndDestroy( &aFile );
}
// ----------------------------------------------------------------------------
--- a/photosgallery/help/inc/lgal.hlp.hrh Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/help/inc/lgal.hlp.hrh Wed Mar 31 21:31:03 2010 +0300
@@ -39,5 +39,5 @@
_LIT(KLGAL_HLP_ALL_FULLSCREEN, "LGAL_HLP_ALL_FULLSCREEN"); //
_LIT(KLGAL_HLP_ALBUM_FULLSCREEN, "LGAL_HLP_ALBUM_FULLSCREEN"); //
_LIT(KLGAL_HLP_TAGS_FULLSCREEN, "LGAL_HLP_TAGS_FULLSCREEN"); //
-
+_LIT(KLGAL_HLP_IMAGE_VIEWER, "LGAL_HLP_IMAGE_VIEWER"); //
#endif
\ No newline at end of file
--- a/photosgallery/imgvwr/src/glxivwrdocument.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/imgvwr/src/glxivwrdocument.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -115,7 +115,7 @@
// Make sure that aFile is closed in leave situation
CleanupClosePushL( aFile );
iImageViewerInstance->SetImageFileHandleL(aFile);
- CleanupStack::PopAndDestroy(); // Close aFile
+ CleanupStack::PopAndDestroy( &aFile );
// Open the viewer
static_cast<CGlxIVwrAppUi*>(iAppUi)->HandleOpenFileL();
--- a/photosgallery/inc/glxfiltergeneraldefs.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/inc/glxfiltergeneraldefs.h Wed Mar 31 21:31:03 2010 +0300
@@ -78,7 +78,7 @@
const TMPXAttributeData KGlxFilterGeneralMinCount = { KGlxFilterIdGeneral, EGlxFilterMinItemCount }; // TInt
const TMPXAttributeData KGlxFilterGeneralItemId = { KGlxFilterIdGeneral, EGlxFilterContainsItem }; // TMPXItemId
const TMPXAttributeData KGlxFilterGeneralExcludeAnimation = { KGlxFilterIdGeneral, EGlxFilterExcludeAnimation }; // TBool
-const TMPXAttributeData KGlxFilterGeneralLastCaptureDate = { KGlxFilterIdGeneral, EGlxFilterLastCaptureDate }; // TBool ?
+const TMPXAttributeData KGlxFilterGeneralLastCaptureDate = { KGlxFilterIdGeneral, EGlxFilterLastCaptureDate }; // TBool
const TMPXAttributeData KGlxFilterGeneralThumbnailLoadability = { KGlxFilterIdGeneral, EGlxFilterThumbnailLoadability }; // TSize
const TMPXAttributeData KGlxFilterGeneralMPXCollectionPath = { KGlxFilterIdGeneral, EGlxFilterMPXCollectionPath }; // CMPXCollectionPath
const TMPXAttributeData KGlxFilterGeneralItemType = { KGlxFilterIdGeneral, EGlxFilterItemType }; // TGlxFilterItemType
@@ -87,6 +87,7 @@
const TMPXAttributeData KGlxFilterGeneralOrigin = { KGlxFilterIdGeneral, EGlxFilterOrigin }; /// TGlxFilterOrigin
const TMPXAttributeData KGlxFilterGeneralNoDRM = { KGlxFilterIdGeneral, EGlxFilterNoDRM }; /// TBool
const TMPXAttributeData KGlxFilterGeneralNavigationalStateOnly = { KGlxFilterIdGeneral, 0x4000 }; /// TBool
+const TMPXAttributeData KGlxFilterGeneralMaxCount = { KGlxFilterIdGeneral, 0x8000 }; // TInt
enum TGlxFilterSortOrder
{
--- a/photosgallery/inc/glxfilterproperties.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/inc/glxfilterproperties.h Wed Mar 31 21:31:03 2010 +0300
@@ -44,6 +44,7 @@
iContainsItem(0),
iExcludeAnimation(EFalse),
iLastCaptureDate(EFalse),
+ iMaxCount(KMaxTUint),
iThumbnailLoadability(0,0),
iPath(NULL),
iItemType(EGlxFilterVideoAndImages),
@@ -63,6 +64,7 @@
TGlxMediaId iContainsItem;
TBool iExcludeAnimation;
TBool iLastCaptureDate;
+ TInt iMaxCount;
TSize iThumbnailLoadability;
CMPXCollectionPath* iPath;
TGlxFilterItemType iItemType;
--- a/photosgallery/inc/glxlogattribute.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/inc/glxlogattribute.h Wed Mar 31 21:31:03 2010 +0300
@@ -250,6 +250,10 @@
{
attributeName.Append(_L8("KGlxFilterGeneralMinCount"));
}
+ else if (aAttribute == KGlxFilterGeneralMaxCount)
+ {
+ attributeName.Append(_L8("KGlxFilterGeneralMaxCount"));
+ }
else if (aAttribute == KGlxFilterGeneralItemId)
{
attributeName.Append(_L8("KGlxFilterGeneralItemId"));
--- a/photosgallery/inc/photos.hlp.hrh Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/inc/photos.hlp.hrh Wed Mar 31 21:31:03 2010 +0300
@@ -42,6 +42,7 @@
_LIT(LGAL_HLP_ALL_FULLSCREEN,"LGAL_HLP_ALL_FULLSCREEN");
_LIT(LGAL_HLP_DETAILS_VIEW,"LGAL_HLP_DETAILS_VIEW");
_LIT(LGAL_HLP_FETCHER,"LGAL_HLP_FETCHER");
+_LIT(LGAL_HLP_IMAGE_VIEWER, "LGAL_HLP_IMAGE_VIEWER");
#endif
--- a/photosgallery/logging/client/src/glxlogchunk.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/logging/client/src/glxlogchunk.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -152,7 +152,7 @@
// assign the addres to TInt
TUint32 new_value = reinterpret_cast< TUint32 >( aValue );
// ensure we're byte aligned - ARM requires 32 bit alignment to machine word
- // boundary!!
+ // boundary
TInt remainder = new_value % KBytesInAWord;
if ( remainder > 0 )
{
@@ -191,7 +191,7 @@
// assign the addres to TInt
TUint32 new_value = reinterpret_cast< TUint32 >( aValue );
// ensure we're byte aligned - ARM requires 32 bit alignment to machine word
- // boundary!!
+ // boundary
TInt remainder = new_value % KBytesInAWord;
if ( remainder > 0 )
{
@@ -240,7 +240,7 @@
// no id set, so reserve this for us and use this chunk
iLogUtility.SetId( aId );
}
- // check if our id was there?
+ // check if our id was there
else if( id != aId )
{
// not our chunk, try second chunk in read-write mode
@@ -397,10 +397,10 @@
TPtr8 logEntryPtr( 0, 0 );
TInt logEntrySize = 0;
- // what's previously been logged to the file?
+ // Holds what's previously been logged to the file
TUint8* lastLoggedAddress = aUtility.LastLoggedAddress();
- // how much more has been added to the chunk?
+ // Holds how much more has been added to the chunk
TUint8* currentAddress = aUtility.CurrentAddress();
// write each of the chunk's logged entries to the file
--- a/photosgallery/photossuite/bwins/dummyCu.def Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- ?E32Main@@YAHXZ @ 1 NONAME ; int E32Main(void)
-
--- a/photosgallery/photossuite/data/photos_items.xml Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,524 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd" genre="photossuite">
-
- <!-- ALL ITEM -->
-
- <mm:item count="1" template="logical_template_6a" id="photossuite_allcs">
-
- <!-- QUERIES -->
-
- <mm:query namespace="cps_photos_publisher" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="allcs"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
- <mm:query namespace="cps_photos_publisher1" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuiteAllcs"/>
- <mm:key name="content_type" type="string" value="allcs1"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
- <!-- NOTIFICATION REQUESTS -->
-
- <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="RequestNotification">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="allcs"/>
- </mm:key>
- </mm:command>
- </mm:notify_request>
-
- <!-- OUTPUTS -->
-
- <!-- TITLE -->
-
- <mm:output alias="mul_title" type="string" value="photos_texts:R_LGAL_LIST_TITLE_ALL_NSERIES"/>
-
- <!-- SUBTITLE-->
-
- <mm:output alias="mul_detail">
- <mm:text value="cps_photos_publisher1:results/[$index]/data_map/AllcsSubtitle"/>
- </mm:output>
-
- <!--ICONS-->
-
- <mm:output alias="mul_icon">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/first_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_2">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/second_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_3">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/third_icon"></mm:image>
- </mm:output>
-
- <!-- MENU ITEMS -->
-
- <mm:menuitem name="photos_texts:R_OPTIONS_HELP" event="custom:help" position="2" />
-
-
- <!-- EVENTS -->
-
- <mm:event event="key:select">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x10282E5F"/>
- <mm:key name="data" type="map">
- <mm:key name="type" type="string" value="launch_application"/>
- <mm:key name="launch_method" type="string" value="message_with_tail"/>
- <mm:key name="application_uid" type="integer" value="0x200009EE"/>
- <mm:key name="additional_data" type="string8" value="Allcs"/>
- <mm:key name="message_uid" type="integer" value="0x2000A7C1"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:focus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="allcs"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="1"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:unfocus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="allcs"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="0"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="custom:help">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x2001B285"/>
- <mm:key name="data">
- <mm:key name="help_uid" type="integer64" value="0x200009EE"/>
- <mm:key name="help_topic" type="string" value="LGAL_HLP_DOWNLOADS_GRID"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- </mm:item>
-
- <!-- MONTHS ITEM -->
-
- <mm:item count="1" template="logical_template_6a" id="photossuite_months">
-
- <!-- QUERIES -->
-
- <mm:query namespace="cps_photos_publisher" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="months"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
- <mm:query namespace="cps_photos_publisher1" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuiteMonths"/>
- <mm:key name="content_type" type="string" value="months1"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
- <!-- NOTIFICATION REQUESTS -->
-
- <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="RequestNotification">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="months"/>
- </mm:key>
- </mm:command>
- </mm:notify_request>
-
- <!-- OUTPUTS -->
-
- <!-- TITLE-->
-
- <mm:output alias="mul_title" type="string" value="photos_texts:R_LGAL_LIST_TITLE_MONTHS_NSERIES"/>
-
- <!-- SUBTITLE-->
-
- <mm:output alias="mul_detail">
- <mm:text value="cps_photos_publisher1:results/[$index]/data_map/MonthsSubtitle"/>
- </mm:output>
-
- <!--ICONS-->
-
- <mm:output alias="mul_icon">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/first_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_2">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/second_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_3">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/third_icon"></mm:image>
- </mm:output>
-
- <!-- MENU ITEMS -->
-
- <mm:menuitem name="photos_texts:R_OPTIONS_HELP" event="custom:help" position="2" />
-
- <!-- EVENTS -->
-
- <mm:event event="key:select">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x10282E5F"/>
- <mm:key name="data" type="map">
- <mm:key name="type" type="string" value="launch_application"/>
- <mm:key name="launch_method" type="string" value="message_with_tail"/>
- <mm:key name="application_uid" type="integer" value="0x200009EE"/>
- <mm:key name="additional_data" type="string8" value="Months"/>
- <mm:key name="message_uid" type="integer" value="0x2000a769"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:focus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="months"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="1"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:unfocus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="months"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="0"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
-
- <mm:event event="custom:help">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x2001B285"/>
- <mm:key name="data">
- <mm:key name="help_uid" type="integer64" value="0x200009EE"/>
- <mm:key name="help_topic" type="string" value="LGAL_HLP_MONTH_LIST"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- </mm:item>
-
- <!-- ALBUMS ITEM -->
-
- <mm:item count="1" template="logical_template_6a" id="photossuite_albums">
-
- <!-- QUERIES -->
-
- <mm:query namespace="cps_photos_publisher" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="albums"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
-
- <mm:query namespace="cps_photos_publisher1" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuiteAlbums"/>
- <mm:key name="content_type" type="string" value="albums1"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
- <!-- NOTIFICATION REQUESTS -->
-
- <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="RequestNotification">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="albums"/>
- </mm:key>
- </mm:command>
- </mm:notify_request>
-
- <!-- OUTPUTS -->
-
- <!-- TITLE-->
-
- <mm:output alias="mul_title" type="string" value="photos_texts:R_LGAL_LIST_TITLE_ALBUMS_NSERIES"/>
-
- <!-- SUBTITLE-->
-
- <mm:output alias="mul_detail">
- <mm:text value="cps_photos_publisher1:results/[$index]/data_map/AlbumsSubtitle"/>
- </mm:output>
-
- <!--ICONS-->
-
- <mm:output alias="mul_icon">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/first_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_2">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/second_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_3">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/third_icon"></mm:image>
- </mm:output>
-
- <!-- MENU ITEMS -->
-
- <mm:menuitem name="photos_texts:R_OPTIONS_HELP" event="custom:help" position="2" />
-
- <!-- EVENTS -->
-
- <mm:event event="key:select">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x10282E5F"/>
- <mm:key name="data" type="map">
- <mm:key name="type" type="string" value="launch_application"/>
- <mm:key name="launch_method" type="string" value="message_with_tail"/>
- <mm:key name="application_uid" type="integer" value="0x200009EE"/>
- <mm:key name="additional_data" type="string8" value="Albums"/>
- <mm:key name="message_uid" type="integer" value="0x20007197"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:focus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="albums"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="1"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:unfocus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="albums"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="0"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="custom:help">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x2001B285"/>
- <mm:key name="data">
- <mm:key name="help_uid" type="integer64" value="0x200009EE"/>
- <mm:key name="help_topic" type="string" value="LGAL_HLP_ALBUM_LIST"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- </mm:item>
-
- <!-- TAGS ITEM -->
-
- <mm:item count="1" template="logical_template_6a" id="photossuite_tags">
-
- <!-- QUERIES -->
-
- <mm:query namespace="cps_photos_publisher" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="tags"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
-
- <mm:query namespace="cps_photos_publisher1" service="Service.ContentPublishing" interface="IDataSource">
- <mm:command mode="sync" name="GetList">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuiteTags"/>
- <mm:key name="content_type" type="string" value="tags1"/>
- </mm:key>
- <mm:key name="sort_order" type="string" value="recent"/>
- </mm:command>
- </mm:query>
-
- <!-- NOTIFICATION REQUESTS -->
-
- <mm:notify_request service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="RequestNotification">
- <mm:key name="type" type="string" value="cp_data"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="tags"/>
- </mm:key>
- </mm:command>
- </mm:notify_request>
-
- <!-- OUTPUTS -->
-
- <!-- TITLE -->
-
- <mm:output alias="mul_title" type="string" value="photos_texts:R_LGAL_LIST_TITLE_TAGS_NSERIES"/>
-
- <!-- SUBTITLE-->
-
- <mm:output alias="mul_detail">
- <mm:text value="cps_photos_publisher1:results/[$index]/data_map/TagsSubtitle"/>
- </mm:output>
-
- <!--ICONS-->
-
- <mm:output alias="mul_icon">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/first_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_2">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/second_icon"></mm:image>
- </mm:output>
-
- <mm:output alias="mul_icon_3">
- <mm:image bitmap="cps_photos_publisher:results/[$index]/data_map/third_icon"></mm:image>
- </mm:output>
-
- <!-- MENU ITEMS -->
-
- <mm:menuitem name="photos_texts:R_OPTIONS_HELP" event="custom:help" position="2" />
-
- <!-- EVENTS -->
-
- <mm:event event="key:select">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x10282E5F"/>
- <mm:key name="data" type="map">
- <mm:key name="type" type="string" value="launch_application"/>
- <mm:key name="launch_method" type="string" value="message_with_tail"/>
- <mm:key name="application_uid" type="integer" value="0x200009EE"/>
- <mm:key name="additional_data" type="string8" value="Tags"/>
- <mm:key name="message_uid" type="integer" value="0x200071AE"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:focus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="tags"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="1"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="item:unfocus">
- <mm:action service="Service.ContentPublishing" interface="IDataSource">
- <mm:command name="Add">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="item">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="tags"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="flag" type="integer" value="0"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- <mm:event event="custom:help">
- <mm:action service="Service.ActionHandler" interface="IDataAction">
- <mm:command name="Execute">
- <mm:key name="plugin_id" type="uid" value="0x2001B285"/>
- <mm:key name="data">
- <mm:key name="help_uid" type="integer64" value="0x200009EE"/>
- <mm:key name="help_topic" type="string" value="LGAL_HLP_TAGS_BROWSER"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event>
-
- </mm:item>
-
-</mm:content>
--- a/photosgallery/photossuite/data/photossuite.rss Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2008-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: Resource definitions for Photos Suite
-*
-*/
-
-NAME PHTS
-
-#include <eikon.rh>
-#include <avkon.loc>
-#include <photos.loc>
-
-RESOURCE RSS_SIGNATURE { }
-RESOURCE TBUF { buf=""; }
-
-// from avkon.loc
-RESOURCE TBUF R_OPTIONS_OPEN { buf = qtn_options_open; }
-RESOURCE TBUF R_OPTIONS_HELP { buf = qtn_options_help; }
-
-// photos specific
-RESOURCE TBUF R_LGAL_TITLE_MAIN_VIEW { buf = qtn_lgal_title_main_view; }
-//RESOURCE TBUF R_LGAL_LIST_TITLE_CAPTURED_NSERIES { buf = qtn_lgal_list_title_captured; }
-RESOURCE TBUF R_LGAL_LIST_TITLE_MONTHS_NSERIES { buf = qtn_lgal_list_title_months; }
-RESOURCE TBUF R_LGAL_LIST_TITLE_ALBUMS_NSERIES { buf = qtn_lgal_list_title_albums; }
-RESOURCE TBUF R_LGAL_LIST_TITLE_TAGS_NSERIES { buf = qtn_lgal_list_title_tags; }
-//RESOURCE TBUF R_LGAL_LIST_TITLE_DOWNLOADS_NSERIES { buf = qtn_lgal_list_title_downloads; }
-RESOURCE TBUF R_LGAL_LIST_TITLE_ALL_NSERIES { buf = qtn_lgal_list_title_all; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_ONE_ALBUM_NSERIES { buf = qtn_lgal_list_detail_one_alb; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_MULTI_ALBUMS_NSERIES { buf = qtn_lgal_list_detail_multi_alb; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_ONE_TAG_NSERIES { buf = qtn_lgal_list_detail_one_tag; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_MULTI_TAGS_NSERIES { buf = qtn_lgal_list_detail_multi_tag; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_NO_TAGS_NSERIES { buf = qtn_lgal_list_detail_no_tagged_items; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_ONE_ITEM_NSERIES { buf = qtn_lgal_list_detail_one_item; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_MULTI_ITEMS_NSERIES { buf = qtn_lgal_list_detail_multi_item; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_NO_ITEMS_NSERIES { buf = qtn_lgal_list_detail_no_img_vid; }
-RESOURCE TBUF R_LGAL_LIST_DETAIL_MULTI_MONTHS_NSERIES { buf = qtn_lgal_list_title_month_year; }
-
-
-
-// End of file
--- a/photosgallery/photossuite/data/suite.xml Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<mm:content xmlns:mm="http://nokia.com/mmenu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://nokia.com/mmenu ../mmenuschema.xsd">
- <mm:localization namespace="photos_texts" source="photossuite.rsc"/>
- <mm:suite template="logical_template_3" type="list" genre="photossuite" title="photos_texts:R_LGAL_TITLE_MAIN_VIEW">
-
- <!--mm:event event="suite:load">
- <mm:action service="Service.ContentPublishing" interface="IContentPublishing">
- <mm:command name="ExecuteAction">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="activation"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="action_trigger" type="string" value="activate"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event-->
-
- <!--mm:event event="suite:unload">
- <mm:action service="Service.ContentPublishing" interface="IContentPublishing">
- <mm:command name="ExecuteAction">
- <mm:key name="type" type="string" value="publisher"/>
- <mm:key name="filter">
- <mm:key name="publisher" type="string" value="photossuite"/>
- <mm:key name="content_type" type="string" value="activation"/>
- <mm:key name="content_id" type="string" value="default"/>
- <mm:key name="action_trigger" type="string" value="deactivate"/>
- </mm:key>
- </mm:command>
- </mm:action>
- </mm:event-->
-
- </mm:suite>
-</mm:content>
-
--- a/photosgallery/photossuite/eabi/dummyCu.def Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
- _Z7E32Mainv @ 1 NONAME
-
--- a/photosgallery/photossuite/group/bld.inf Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2008-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: Build information file Photos Suite
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-//#include <domain/applications/suitesmacros.hrh>
-
-PRJ_EXPORTS
-../rom/photossuite.iby CORE_APP_LAYER_IBY_EXPORT_PATH(photossuite.iby)
-../rom/photossuite_localization.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(photossuite_localization.iby)
-
-//SUITE_EXPORT_PATH_WINSCW(../data/suite.xml,photossuite/suite.xml)
-//SUITE_EXPORT_PATH_ARMV5(../data/suite.xml,photossuite/suite.xml)
-//SUITE_EXPORT_PATH_WINSCW(../data/photos_items.xml,photossuite/photos_items.xml)
-//SUITE_EXPORT_PATH_ARMV5(../data/photos_items.xml,photossuite/photos_items.xml)
-
-../data/suite.xml /epoc32/release/winscw/udeb/z/private/101f4cd2/import/suites/photossuite/suite.xml
-../data/photos_items.xml /epoc32/release/winscw/udeb/z/private/101f4cd2/import/suites/photossuite/photos_items.xml
-
-../data/suite.xml /epoc32/data/z/private/101f4cd2/import/suites/photossuite/suite.xml
-../data/photos_items.xml /epoc32/data/z/private/101f4cd2/import/suites/photossuite/photos_items.xml
-
-
-PRJ_MMPFILES
-photossuite.mmp
-#ifndef SBSV2
-gnumakefile export_photossuite.mk
-#endif
-
-
-PRJ_EXTENSIONS
-#if defined(SBSV2) && defined(WINSCW)
-START EXTENSION general/copyheaderfile
-SRCFILE photossuite.rsg
-END
-#endif
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// End of file
--- a/photosgallery/photossuite/group/export_photossuite.mk Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2008 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: export makefile for Photos Suite
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-FINAL :
- @echo Exporting .rsg files...
- perl -S ecopyfile.pl $(EPOCROOT)epoc32/include/photossuite.rsg $(EPOCROOT)epoc32/release/winscw/udeb/Z/resource/apps/photossuite.rsg
-
-
-MAKMAKE FREEZE LIB CLEANLIB RESOURCE RELEASABLES CLEAN BLD SAVESPACE :
--- a/photosgallery/photossuite/group/photossuite.mmp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2008-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: Project definition file for Photos Suite
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET dummyc.dll
-TARGETTYPE dll
-
-UID 0x1000008d 0x200104E1
-CAPABILITY CAP_GENERAL_DLL
-
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../src
-SOURCE dummy.cpp
-
-SOURCEPATH .
-SYSTEMINCLUDE ../../gallery/loc //Gallery Loc
-
-START RESOURCE ../data/photossuite.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-// End of file
--- a/photosgallery/photossuite/rom/photossuite.iby Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2008-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: Image description file for Photos Suite
-*
-*/
-
-#ifndef photossuiteSUITE_IBY
-#define photossuiteSUITE_IBY
-
-
-data=\epoc32\data\Z\private\101F4CD2\import\suites\photossuite\suite.xml private\101F4CD2\import\suites\photossuite\suite.xml
-data=\epoc32\data\Z\private\101F4CD2\import\suites\photossuite\photos_items.xml private\101F4CD2\import\suites\photossuite\photos_items.xml
-
-
-#endif // photossuiteSUITE_IBY
-
-// End of File
\ No newline at end of file
--- a/photosgallery/photossuite/rom/photossuite_localization.iby Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2008-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: Image description file for Photos Suite
-*
-*/
-
-#ifndef photossuiteSUITE_LOCALIZATION_IBY
-#define photossuiteSUITE_LOCALIZATION_IBY
-
-
-data=\epoc32\data\z\resource\apps\photossuite.rsc resource\apps\photossuite.rsc
-data=\epoc32\include\photossuite.rsg resource\apps\photossuite.rsg
-
-#endif // photossuiteSUITE_LOCALIZATION_IBY
-
-// End of File
\ No newline at end of file
--- a/photosgallery/photossuite/src/dummy.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2008-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: dummy
-*
-*/
-
-
-
-
-#include <e32def.h>
-
-EXPORT_C int E32Main()
-{
- return 0;
-}
--- a/photosgallery/rom/glxgallery.iby Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/rom/glxgallery.iby Wed Mar 31 21:31:03 2010 +0300
@@ -72,7 +72,6 @@
ECOM_PLUGIN( glxcollectionpluginmonths.dll, glxcollectionpluginmonths.rsc )
ECOM_PLUGIN( glxcollectionpluginimageviewer.dll, glxcollectionpluginimageviewer.rsc )
-//ECOM_PLUGIN( glxthumbnailcomposerplugin.dll, glxthumbnailcomposerplugin.rsc )
file=ABI_DIR\BUILD_DIR\glxlayouts.dll SHARED_LIB_DIR\glxlayouts.dll
file=ABI_DIR\BUILD_DIR\glxmedialists.dll SHARED_LIB_DIR\glxmedialists.dll
@@ -94,12 +93,10 @@
file=ABI_DIR\BUILD_DIR\glxlistviewpluginbase.dll SHARED_LIB_DIR\glxlistviewpluginbase.dll
ECOM_PLUGIN( glxlistviewplugin.dll, glxlistviewplugin.rsc )
-
file=ABI_DIR\BUILD_DIR\glxcommandhandlerbase.dll SHARED_LIB_DIR\glxcommandhandlerbase.dll
file=ABI_DIR\BUILD_DIR\glxzoomview.dll SHARED_LIB_DIR\glxzoomview.dll
file=ABI_DIR\BUILD_DIR\glxmetadatadialog.dll SHARED_LIB_DIR\glxmetadatadialog.dll
data = \epoc32\data\Z\private\10202be9\200009EE.txt private\10202be9\200009EE.txt
-data = \epoc32\data\Z\private\10202be9\02000A09.txt private\10202be9\02000A09.txt
#endif // __GLXGALLERY_IBY__
--- a/photosgallery/slideshow/engine/controlsrc/shweffectcontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/controlsrc/shweffectcontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -189,15 +189,15 @@
// is it start view
TShwEventStartView* viewEvent =
dynamic_cast<TShwEventStartView*>( aEvent );
- // start transition?
+ // is it start transition
TShwEventStartTransition* transEvent =
dynamic_cast<TShwEventStartTransition*>( aEvent );
- // was it a pause or resume event?
+ // was it a pause or resume event
TShwEventPause* pauseEvent =
dynamic_cast<TShwEventPause*>( aEvent );
TShwEventResume* resumeEvent =
dynamic_cast<TShwEventResume*>( aEvent );
- // or a navigation event?
+ // or was it a navigation event
TShwEventNextImage* nextImageEvent =
dynamic_cast< TShwEventNextImage* >( aEvent );
TShwEventPreviousImage* previousImageEvent =
@@ -464,7 +464,7 @@
MShwEffect* currentEffect = iEffectManager.CurrentEffect();
// remove the old layout
iSplitter.RemoveLayout( iCurrentVisual );
- // was this thumbnail succesfully loaded?
+ // check if this thumbnail was succesfully loaded
if ( iFailedThumbnailIndex == currentIndex )
{
// set the temporary layout for default icon
@@ -545,7 +545,7 @@
// remove old layout
iSplitter.RemoveLayout( nextVisual );
- // was the next thumbnail succesfully loaded?
+ // Check if the next thumbnail was succesfully loaded
if ( iFailedThumbnailIndex == nextIndex )
{
TAlfTimedValue opacity(KMaxOpacity,0);
@@ -649,9 +649,8 @@
}
CleanupStack::PopAndDestroy( &effects );
- // did user navigate while paused?
if( iUserNavigated )
- {
+ { // user navigated while paused
// resume and cancel the transition timer for its next use
// if user navigates while pause
// we never continue from transition so we need
--- a/photosgallery/slideshow/engine/controlsrc/shweventrouter.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/controlsrc/shweventrouter.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -78,7 +78,7 @@
// close the event array itself, this frees the memory
iEvents.Close();
// close the observer array itself, this frees the memory
- // NOTE! we did not have ownership of the observers
+ // NOTE: we did not have ownership of the observers
iObservers.Close();
}
--- a/photosgallery/slideshow/engine/controlsrc/shwtimercontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/controlsrc/shwtimercontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -122,10 +122,9 @@
// resume the timer
iTimer->Resume();
}
- // was it next or previous image?
else if ( dynamic_cast< TShwEventNextImage* >( aEvent ) ||
dynamic_cast< TShwEventPreviousImage* >( aEvent ) )
- {
+ { // it was next or previous image
GLX_LOG_INFO( "CShwTimerControl::NotifyL - TShwEventNext/PreviousImage" );
// cancel the timer as we have moved to another image
iTimer->Cancel();
--- a/photosgallery/slideshow/engine/controlsrc/shwviewcontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/controlsrc/shwviewcontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -143,10 +143,9 @@
// check if we are ok to go to start transition
CheckAndSendStartTransitionL();
}
- // was it next or previous image?
else if ( dynamic_cast< TShwEventNextImage* >( aEvent ) ||
dynamic_cast< TShwEventPreviousImage* >( aEvent ) )
- {
+ {// it was next or previous image
// user did navigate, reset the state flags
iReadyToAdvanceReceived = EFalse;
iReadyToViewReceived = EFalse;
@@ -154,19 +153,17 @@
iUserNavigated = ETrue;
iUserNavigatedWhilePaused = iPaused;
}
- // pause event?
else if ( dynamic_cast< TShwEventPause* >( aEvent ) )
- {
+ { // pause event
// we are paused
iPaused = ETrue;
iUserNavigatedWhilePaused = EFalse;
}
- // resume event?
else if ( dynamic_cast< TShwEventResume* >( aEvent ) )
- {
+ { // resume event
// we are not paused
iPaused = EFalse;
- // did user navigate?
+ // Check if user did navigate
if( iUserNavigatedWhilePaused )
{
// reset the flag
--- a/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/coresrc/shwplaybackfactory.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -358,7 +358,7 @@
TRACER("CShwPlaybackFactory::CShwPlaybackFactoryImpl::CreateEffectsL");
GLX_LOG_INFO( "CShwPlaybackFactoryImpl::CreateEffectsL" );
aEffects.AppendL( CShwZoomAndPanEffect::NewLC() );
- CleanupStack::Pop();
+ CleanupStack::Pop(); // CShwZoomAndPanEffect::NewLC()
aEffects.AppendL( CShwCrossFadeEffect::NewLC() );
- CleanupStack::Pop();
+ CleanupStack::Pop(); // CShwCrossFadeEffect::NewLC()
}
--- a/photosgallery/slideshow/engine/coresrc/shwsettingsmodel.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/coresrc/shwsettingsmodel.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -255,7 +255,7 @@
CShwSettingsModel* self = new(ELeave) CShwSettingsModel();
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/coresrc/shwthumbnailcontext.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -62,7 +62,7 @@
GLX_LOG_INFO("CShwThumbnailContext::ConstructL");
// Create the high quality / slower context
iHighQualityContext = CGlxThumbnailContext::NewL( this );
- // Call both setdefault and add?
+ // Call both setdefault and add
iHighQualityContext->SetDefaultSpec( iSize.iWidth, iSize.iHeight );
iHighQualityContext->AddSpecForItemL( iSize.iWidth, iSize.iHeight,
iCurrentIndex );
--- a/photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/coresrc/shwthumbnailloader.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -520,7 +520,7 @@
CShwThumbnailContext* context = FindContext( aItemIndex );
if( context )
{
- // was there an error?
+ // Check if there was an error
TInt requestCount = context->RequestCountL( &iMedialist );
if ( requestCount == KErrNone )
{
@@ -641,7 +641,7 @@
// browse through all indexes ( count-1 -> 0 )
while ( index-- > 0 )
{
- // does the index belong to the array?
+ // Check if the index belongs to the array
CShwThumbnailContext* context = iHighQualityContexts[ index ];
if ( context->Index() == aIndex )
{
@@ -735,7 +735,7 @@
{
TRACER("CShwThumbnailLoader::CShwThumbnailLoaderImpl::RemoveHighQualityContext");
GLX_LOG_INFO1( "CShwThumbnailLoaderImpl::RemoveHighQualityContext %d", aIndex );
- // Is there a context for this index?
+ // check if there is a context for this index
TInt arrayIndex = Find( aIndex );
if( KErrNotFound != arrayIndex )
{
--- a/photosgallery/slideshow/engine/coresrc/shwtimer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/coresrc/shwtimer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -163,7 +163,7 @@
{
GLX_LOG_INFO1( "CShwTimer::Resume timeleft %d", iTimeLeft.Int() );
// start again, first for time left and after that with interval
- // NOTE! cant use Start as it takes time as milliseconds in a TInt
+ // NOTE: cant use Start as it takes time as milliseconds in a TInt
// Get the current time
iTimeTimerExpires.HomeTime();
// Add the delay to determine the expiry time
--- a/photosgallery/slideshow/engine/effectsrc/shwcrossfadelayout.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/effectsrc/shwcrossfadelayout.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -84,7 +84,7 @@
// -----------------------------------------------------------------------------
// DoSetLayoutValues
// -----------------------------------------------------------------------------
-void TShwCrossFadeLayout::DoSetLayoutValues( TGlxLayoutInfo& aInfo )
+void TShwCrossFadeLayout::DoSetLayoutValues( TGlxLayoutInfo& /*aInfo*/ )
{
TRACER("TShwCrossFadeLayout::DoSetLayoutValues");
GLX_LOG_INFO("TShwCrossFadeLayout::DoSetLayoutValues");
--- a/photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/effectsrc/shwdefaulteffectmanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -196,7 +196,7 @@
/// are cloned as needed
MShwEffect* clone = effect->CloneLC();
iAvailableEffects.AppendL( clone );
- CleanupStack::Pop();
+ CleanupStack::Pop( clone );
iEffects.Append( effect );
iEffects.Append( clone );
--- a/photosgallery/slideshow/engine/effectsrc/shwzoomandpanlayout.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/effectsrc/shwzoomandpanlayout.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -201,7 +201,7 @@
// -----------------------------------------------------------------------------
// DoSetLayoutValues
// -----------------------------------------------------------------------------
-void TShwZoomAndPanLayout::DoSetLayoutValues( TGlxLayoutInfo& aInfo )
+void TShwZoomAndPanLayout::DoSetLayoutValues( TGlxLayoutInfo& /*aInfo*/ )
{
// calculate new x size, current value from zoomedsize
TReal32 x_size = iZoomedSize.iWidth.Now();
--- a/photosgallery/slideshow/engine/tsrc/t_cshwdefaulteffectmanager/t_cshwdefaulteffectmanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwdefaulteffectmanager/t_cshwdefaulteffectmanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -51,8 +51,7 @@
T_CShwDefaultEffectManager* T_CShwDefaultEffectManager::NewL()
{
T_CShwDefaultEffectManager* self = T_CShwDefaultEffectManager::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -60,9 +59,7 @@
{
T_CShwDefaultEffectManager* self = new( ELeave ) T_CShwDefaultEffectManager();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -122,10 +119,6 @@
iDefaultEffectManager->AddEffectL( effect ); // takes ownership
CleanupStack::Pop( effect );
- // TRAP since we expect it to leave
- //TRAPD( error, iDefaultEffectManager->CurrentEffect() );
- // EUNIT_ASSERT_EQUALS_DESC(
- // NShwEngine::EIncorrectEffectIndex, error, "iEffects was not set");
// get effects info
TShwEffectInfo info = effect->EffectInfo();
// set effect order
@@ -140,12 +133,6 @@
void T_CShwDefaultEffectManager::TestAddNullEffectL()
{
iDefaultEffectManager->AddEffectL( NULL );
-
- // TRAP since we expect it to leave
- //TRAPD( error, iDefaultEffectManager->CurrentEffect() );
- //EUNIT_ASSERT_EQUALS_DESC(
- // NShwEngine::EIncorrectEffectIndex, error, "iEffects was not set");
-
// create empty effect info
TShwEffectInfo info;
TInt error ;
@@ -189,122 +176,6 @@
EUNIT_ASSERT( effect2 == iDefaultEffectManager->Effect( 2 ) );
}
-/*
-void T_CShwDefaultEffectManager::TestProgrammedEffectL()
- {
- // Create two effects
- T_MShwTestEffect* effect0 = new(ELeave) T_MShwTestEffect(0);
- CleanupStack::PushL(effect0);
- T_MShwTestEffect* effect1 = new(ELeave) T_MShwTestEffect(1);
- CleanupStack::PushL(effect1);
-
- // Add the effects
- iDefaultEffectManager->AddEffectL(effect0); // takes ownership
- iDefaultEffectManager->AddEffectL(effect1); // takes ownership
-
- CleanupStack::Pop(2, effect0);
-
- // Specify programmed order
- iDefaultEffectManager->SetEffectOrder(MShwEffectManager::EShwEffectOrderProgrammed);
-
- // Create the programmed order
- RArray<MShwEffect*> programme;
- CleanupClosePushL(programme);
-// CleanupStack::PushL(&programme);
- programme.AppendL(effect1);
- programme.AppendL(effect0);
- programme.AppendL(effect1);
-
- // Set the order
- iDefaultEffectManager->SetProgrammedEffects(programme);
-
- //
- // Check the first effect
- MShwEffect* inEffect = static_cast<MShwEffect*>(effect1);
- MShwEffect* outEffect = iDefaultEffectManager->CurrentEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- inEffect = static_cast<MShwEffect*>(effect0);
- outEffect = iDefaultEffectManager->NextEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- iDefaultEffectManager->ProceedToNextEffect();
-
- inEffect = static_cast<MShwEffect*>(effect1);
- outEffect = iDefaultEffectManager->NextEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- CleanupStack::PopAndDestroy(&programme);
- }
-
-
-void T_CShwDefaultEffectManager::TestMultiProgrammedEffectL()
- {
- // Create two effects
- T_MShwTestEffect* effect0 = new(ELeave) T_MShwTestEffect(0);
- CleanupStack::PushL(effect0);
- T_MShwTestEffect* effect1 = new(ELeave) T_MShwTestEffect(1);
- CleanupStack::PushL(effect1);
- T_MShwTestEffect* effect2 = new(ELeave) T_MShwTestEffect(2);
- CleanupStack::PushL(effect2);
-
- // Add the effects
- iDefaultEffectManager->AddEffectL(effect0); // takes ownership
- iDefaultEffectManager->AddEffectL(effect1); // takes ownership
- iDefaultEffectManager->AddEffectL(effect2); // takes ownership
-
- CleanupStack::Pop(3, effect0);
-
- // Specify programmed order
- iDefaultEffectManager->SetEffectOrder(MShwEffectManager::EShwEffectOrderProgrammed);
-
- // Create the programmed order
- RArray<MShwEffect*> programme;
- CleanupClosePushL(programme);
-// CleanupStack::PushL(&programme);
- programme.AppendL(effect2);
- programme.AppendL(effect1);
- programme.AppendL(effect0);
- programme.AppendL(effect2);
- programme.AppendL(effect1);
- programme.AppendL(effect0);
-
- // Set the order
- iDefaultEffectManager->SetProgrammedEffects(programme);
-
- //
- // Check the effect order is retrieved as 2, 1, 0
- MShwEffect* inEffect = static_cast<MShwEffect*>(effect2);
- MShwEffect* outEffect = iDefaultEffectManager->CurrentEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- inEffect = static_cast<MShwEffect*>(effect1);
- outEffect = iDefaultEffectManager->NextEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- iDefaultEffectManager->ProceedToNextEffect();
-
- inEffect = static_cast<MShwEffect*>(effect2);
- outEffect = iDefaultEffectManager->NextEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- iDefaultEffectManager->ProceedToNextEffect();
-
- inEffect = static_cast<MShwEffect*>(effect1);
- outEffect = iDefaultEffectManager->NextEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
-
- iDefaultEffectManager->ProceedToNextEffect();
-
- inEffect = static_cast<MShwEffect*>(effect0);
- outEffect = iDefaultEffectManager->NextEffect();
- EUNIT_ASSERT_EQUALS(inEffect, outEffect);
- iDefaultEffectManager->ProceedToNextEffect();
-
- CleanupStack::PopAndDestroy(&programme);
- }
-*/
-
// TEST TABLE
EUNIT_BEGIN_TEST_TABLE(
T_CShwDefaultEffectManager,
@@ -338,22 +209,6 @@
"CShwDefaultEffectManager",
"FUNCTIONALITY",
SetupL, TestNextEffectL, Teardown )
-
-/*
-EUNIT_TEST(
- "Programmed Effect Test",
- "CShwDefaultEffectManager",
- "CShwDefaultEffectManager",
- "FUNCTIONALITY",
- SetupL, TestProgrammedEffectL, Teardown )
-
-EUNIT_TEST(
- "Multi Prog Test",
- "CShwDefaultEffectManager",
- "CShwDefaultEffectManager",
- "FUNCTIONALITY",
- SetupL, TestMultiProgrammedEffectL, Teardown )
-*/
EUNIT_END_TEST_TABLE
--- a/photosgallery/slideshow/engine/tsrc/t_cshweffectcontrol/t_cshweffectcontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshweffectcontrol/t_cshweffectcontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -48,6 +48,7 @@
User::Leave( aPanic );
}
}
+
// -----------------------------------------------------------------------------
// <-- Stub for NShwEngine::Panic
// -----------------------------------------------------------------------------
@@ -56,8 +57,7 @@
T_CShwEffectControl* T_CShwEffectControl::NewL()
{
T_CShwEffectControl* self = T_CShwEffectControl::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -132,7 +132,8 @@
{
// need to clone the event since the caller goes out of scope
TInt error = iEvents.Append( aEvent->CloneLC() );
- CleanupStack::Pop();
+ CleanupStack::Pop(); // aEvent->CloneLC()
+
// check that append succeeded
if( error != KErrNone )
{
--- a/photosgallery/slideshow/engine/tsrc/t_cshweffects/t_cshweffects_dllmain.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshweffects/t_cshweffects_dllmain.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -32,14 +32,14 @@
{
// create the normal zoom and pan
MShwEffect* eff = CShwCrossFadeEffect::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( eff );
return eff;
}
MShwEffect* CreateZoomAndPanL()
{
MShwEffect* eff = CShwZoomAndPanEffect::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( eff );
return eff;
}
--- a/photosgallery/slideshow/engine/tsrc/t_cshweventrouter/t_cshweventrouter.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshweventrouter/t_cshweventrouter.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -65,7 +65,7 @@
T_CShwEventRouter* T_CShwEventRouter::NewL()
{
T_CShwEventRouter* self = T_CShwEventRouter::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -195,9 +195,6 @@
void T_CShwEventRouter::TestNestedEventsAndMultipleObserversL()
{
-// EUNIT_GET_ALLOC_DECORATOR_FAILCOUNT_D( failurecount );
-// EUNIT_PRINT( _L("Memory alloc %d"), failurecount );
-
// we want the notify to add 2 events during the notify calls so 3 events overall
iSendNewEventCount = 2;
// add us as observer twice
@@ -207,13 +204,13 @@
observers.AppendL( this );
// add the array of observers
iRouter->AddObserversL( observers.Array() );
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy( observers );
// add us as publisher
RPointerArray<MShwEventPublisher> publisher;
CleanupClosePushL( publisher );
publisher.AppendL( this );
iRouter->AddProducers( publisher.Array() );
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy( publisher );
T_TestEvent testEvent;
// set the event object pointer so that the notify can verify the event object
--- a/photosgallery/slideshow/engine/tsrc/t_cshwmusiccontrol/t_cshwmusiccontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwmusiccontrol/t_cshwmusiccontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -36,8 +36,7 @@
T_CShwMusicControl* T_CShwMusicControl::NewL()
{
T_CShwMusicControl* self = T_CShwMusicControl::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -45,9 +44,7 @@
{
T_CShwMusicControl* self = new( ELeave ) T_CShwMusicControl;
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -80,7 +77,7 @@
void T_CShwMusicControl::SendEventL(MShwEvent* aEvent)
{
iEvent = aEvent->CloneLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( iEvent );
}
TBool gMusicOnCalled = EFalse;
--- a/photosgallery/slideshow/engine/tsrc/t_cshwplaybackfactory/t_cshwplaybackfactory.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwplaybackfactory/t_cshwplaybackfactory.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -178,8 +178,7 @@
T_CShwPlaybackFactory* T_CShwPlaybackFactory::NewL()
{
T_CShwPlaybackFactory* self = T_CShwPlaybackFactory::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/slideshow/engine/tsrc/t_cshwsettingsmodel/t_cshwsettingsmodel.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwsettingsmodel/t_cshwsettingsmodel.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -35,8 +35,7 @@
T_CShwSettingsModel* T_CShwSettingsModel::NewL()
{
T_CShwSettingsModel* self = T_CShwSettingsModel::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -44,7 +43,6 @@
{
T_CShwSettingsModel* self = new (ELeave) T_CShwSettingsModel();
CleanupStack::PushL(self);
-
self->ConstructL();
return self;
}
--- a/photosgallery/slideshow/engine/tsrc/t_cshwslideshowengine/t_cshwslideshowengine.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwslideshowengine/t_cshwslideshowengine.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -276,8 +276,7 @@
T_CShwSlideshowEngine* T_CShwSlideshowEngine::NewL()
{
T_CShwSlideshowEngine* self = T_CShwSlideshowEngine::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -443,7 +442,7 @@
{
// got event so add a copy of it to the list
TInt error = iEvents.Append( aEvent->CloneLC() );
- CleanupStack::Pop();
+ CleanupStack::Pop(); // aEvent->CloneLC()
// check that append succeeded
if( error != KErrNone )
{
--- a/photosgallery/slideshow/engine/tsrc/t_cshwtimercontrol/t_cshwtimercontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwtimercontrol/t_cshwtimercontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -33,8 +33,7 @@
T_CShwTimerControl* T_CShwTimerControl::NewL()
{
T_CShwTimerControl* self = T_CShwTimerControl::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -42,9 +41,7 @@
{
T_CShwTimerControl* self = new( ELeave ) T_CShwTimerControl;
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -72,7 +69,7 @@
{
// need to clone the event since the caller goes out of scope
iEvent = aEvent->CloneLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( iEvent );
// stop the scheduler loop if its started
if( iWait.IsStarted() )
--- a/photosgallery/slideshow/engine/tsrc/t_cshwviewcontrol/t_cshwviewcontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwviewcontrol/t_cshwviewcontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -45,8 +45,7 @@
T_CShwViewControl* T_CShwViewControl::NewL()
{
T_CShwViewControl* self = T_CShwViewControl::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -83,7 +82,7 @@
{
// need to clone the event since the caller goes out of scope
iEvent = aEvent->CloneLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( iEvent );
}
const TInt KTestTransitionDuration = 987;
--- a/photosgallery/slideshow/engine/tsrc/t_cshwzoomandpaneffect/t_cshwzoomandpaneffect.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/engine/tsrc/t_cshwzoomandpaneffect/t_cshwzoomandpaneffect.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -104,8 +104,7 @@
T_CShwZoomAndPanEffect* T_CShwZoomAndPanEffect::NewL()
{
T_CShwZoomAndPanEffect* self = T_CShwZoomAndPanEffect::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -113,9 +112,7 @@
{
T_CShwZoomAndPanEffect* self = new( ELeave ) T_CShwZoomAndPanEffect();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/slideshow/view/group/shwslideshowviewplugin.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/group/shwslideshowviewplugin.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -130,5 +130,5 @@
LIBRARY remconinterfacebase.lib
//LIBRARY hgcontextutility.lib // For Teleport
LIBRARY glxtvout.lib
-LIBRARY harvesterclient.lib
+
// End of File
--- a/photosgallery/slideshow/view/inc/shwslideshowview.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/inc/shwslideshowview.h Wed Mar 31 21:31:03 2010 +0300
@@ -25,14 +25,13 @@
#include <AknProgressDialog.h>
#include <gestureobserver.h>
#include <gesturehelper.h>
-#include <harvesterclient.h>
#include "shwengineobserver.h"
#include "shwmusicobserver.h"
#include "shwconstants.h"
#include "shwtickobserver.h"
#include "shwgestureobserver.h"
#include "gesturecontrol.h"
-
+#include "glxmmcnotifier.h"
// FORWARD DECLARATIONS
class CAlfEnv;
class CAlfDisplay;
@@ -68,7 +67,7 @@
public MProgressDialogCallback,
public MShwTickObserver,
public MShwGestureObserver,
- public MHarvesterEventObserver
+ public MStorageNotifierObserver
{
public:
@@ -145,12 +144,6 @@
* @ref CGlxViewBase::DoViewDeactivate
*/
void DoViewDeactivate();
- public:
- // from MHarvesterEventObserver
- void HarvestingUpdated(
- HarvesterEventObserverType aHEObserverType,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft );
private: // from MGlxMediaListObserver
@@ -320,7 +313,14 @@
* Set the current Item to HDMI.
*/
void SetItemToHDMIL();
-
+ /**
+ * HandleMMCInsertionL.
+ */
+ void HandleMMCInsertionL();
+ /**
+ * HandleMMCRemovalL.
+ */
+ void HandleMMCRemovalL();
public:
//to keep in track which of the command set is active/on top
enum TShwState
@@ -410,7 +410,12 @@
CShwMediaKeyUtility* iMediaKeyHandler;
CGlxHdmiController* iHdmiController;
TBool iHdmiActive;
- RHarvesterClient iHarvesterClient;
+ CGlxMMCNotifier* iMMCNotifier;
+ TBool iMMCState;
+ TBool iIsForegrnd;
+ //to check if slideshow is paused in BG
+ //and after that we are bringing to foreground
+ TBool iPrevNotInBackground;
};
#endif // C_SHWSLIDESHOWVIEW_H
--- a/photosgallery/slideshow/view/src/shwgesturecontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/src/shwgesturecontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -123,7 +123,7 @@
TRACER("CShwGestureControl::HandleGestureL");
GLX_LOG_INFO1( "CShwGestureControl::HandleGestureL(%d)", aEvent.Code( MGestureEvent::EAxisBoth ));
- // No one is listening? Do not resolve the events for the listeners!
+ // No one is listening, Do not resolve the events for the listeners
if (iObservers.Count() > 0)
{
MShwGestureObserver::TShwGestureEventType aType = MShwGestureObserver::ENoEvent;
--- a/photosgallery/slideshow/view/src/shwslideshowbacklighttimer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/src/shwslideshowbacklighttimer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -84,14 +84,14 @@
GLX_LOG_ENTRY_EXIT("CShwSlideshowBackLightTimer::ConstructL");
CRepository* lightsRepo = CRepository::NewLC( KCRUidPeripheralSettings );
- // What's the timeout value (in seconds ) for the display light?
+ // Get display light's timeout value (in seconds )
lightsRepo->Get( KSettingsDisplayLightsTimeout, iSettingsDelay );
GLX_LOG_INFO1("CShwSlideshowBackLightTimer, lights timeout = %d",
iSettingsDelay );
CleanupStack::PopAndDestroy( lightsRepo );
CRepository* scrSaverRepo = CRepository::NewLC( KCRUidPersonalizationSettings );
- // What's the screen saver's timeout value (in seconds)?
+ // Get screen saver's timeout value (in seconds)
TInt screenSaverTimeout = 0;
scrSaverRepo->Get( KSettingsScreenSaverPeriod, screenSaverTimeout );
GLX_LOG_INFO1("CShwSlideshowBackLightTimer, scr saver timeout = %d",
@@ -101,7 +101,7 @@
// Take the smaller of the two timeout values
iSettingsDelay = Min( iSettingsDelay, screenSaverTimeout );
- // Set the timeout delay to minimum value as it can not be zero!
+ // Set the timeout delay to minimum value as it can not be zero
if (iSettingsDelay == 0)
{
iSettingsDelay = KMinTimeoutDelay;
--- a/photosgallery/slideshow/view/src/shwslideshowkeyhandler.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/src/shwslideshowkeyhandler.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -148,9 +148,9 @@
// match the view id to the active view (e.g. the tile view)
//@todo-check
//iScreenFurniture.DisableSystemSkinL( iViewId.iUid,
- // CGlxScreenFurniture::EGlxSfItemLeftSoftkey, EFalse );
+ // CGlxScreenFurniture::EGlxSfItemLeftSoftkey, EFalse )
//iScreenFurniture.DisableSystemSkinL( iViewId.iUid,
- // CGlxScreenFurniture::EGlxSfItemRightSoftkey, EFalse );
+ // CGlxScreenFurniture::EGlxSfItemRightSoftkey, EFalse )
// Note that in practice it doesn't matter whether we return
// EKeyWasConsumed or EKeyWasNotConsumed as the result is
// the same (we still get back to the last view). This is due to
--- a/photosgallery/slideshow/view/src/shwslideshowview.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/src/shwslideshowview.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -35,8 +35,6 @@
#include <alf/alfutil.h>
#include <alf/alfroster.h>
-//Hg
-//#include <hg/hgcontextutility.h>
#include <glxhdmicontroller.h>
#include <glxresourceutilities.h> // for CGlxResourceUtilities
#include <glxresolutionutility.h> // for CGlxResolutionUtility
@@ -80,7 +78,7 @@
const TInt KShwGestureControlGroupId = 2;
const TInt KGestureControlGroupId = 44;
//This constant is used to calculate the index of the item for which texture has to removed.
- //6 = 5(iterator value in forward or backward direction for fullscreen) + 1(focus index);
+ //6 = 5(iterator value in forward or backward direction for fullscreen) + 1(focus index)
const TInt KSlideShowIterator = 2;
//Constant which says maximum number of fullscreen textures that we have have at a time.
//11 = (5(5 fullscreen texture backwards)+1(fucus index texture)+5(5 fullscreen texture forwards))
@@ -124,8 +122,11 @@
{
TRACER("CShwSlideshowView::~CShwSlideshowView");
GLX_LOG_INFO( "CShwSlideshowView::~CShwSlideshowView()" );
- iHarvesterClient.Close();
- // delete media list population call back
+
+ delete iMMCNotifier;
+ iMMCNotifier = NULL;
+
+ // delete media list population call back
delete iPopulateListCallBack;
// delete engine async starter
@@ -314,12 +315,8 @@
// Glx view base construction
ViewBaseConstructL();
- TInt err = iHarvesterClient.Connect();
- GLX_LOG_INFO1("iHarvesterClient.Connect() err = %d",err);
- if(err == KErrNone)
- {
- iHarvesterClient.AddHarvesterEventObserver(*this, EHEObserverTypeMMC, 1000);
- }
+ iMMCNotifier = CGlxMMCNotifier::NewL(*this);
+
// Create async engine starter with standard priority
iAsyncCallBack = new( ELeave ) CAsyncCallBack( CActive::EPriorityStandard );
@@ -336,7 +333,7 @@
KShwDefaultDelayMicroSeconds );
// Create a control group for the volume control
iVolumeControlGroup = &iEnv->NewControlGroupL( KVolumeControlGroupId );
- // doc says the following takes ownership, but reality is different!
+ // doc says the following takes ownership, but reality is different
iVolumeControlGroup->AppendL( iVolumeControl );
iGestureControlGroup = &iEnv->NewControlGroupL( KShwGestureControlGroupId );
@@ -348,7 +345,7 @@
GestureHelper::CGestureControl* gestureControl = GestureHelper::CGestureControl::NewLC(
*iShwGestureControl, *iEnv, *iDisplay, KGestureControlGroupId );
iGestureControl = gestureControl;
- CleanupStack::Pop( gestureControl ); // doc says the following takes ownership, but reality is different!
+ CleanupStack::Pop( gestureControl ); // doc says the following takes ownership, but reality is different
iGestureControlGroup->AppendL( iGestureControl );
// Need a mechanism to distinguish when we receive the MusicVolume
@@ -384,11 +381,18 @@
{
TRACER("CShwSlideshowView::HandleForegroundEventL");
GLX_LOG_INFO( "CShwSlideshowView::HandleForegroundEventL()" );
-
+ iIsForegrnd = aForeground;
if( aForeground )
{
// we gained the foreground
- iPauseHandler->SwitchToForegroundL();
+ if(iMMCState && iPrevNotInBackground)
+ {
+ ProcessCommandL(EAknSoftkeyClose);
+ }
+ else
+ {
+ iPauseHandler->SwitchToForegroundL();
+ }
}
else
{
@@ -535,8 +539,8 @@
iBackLightTimer->Cancel();
- //Stop the slideshow!
- //NOTE! this needs to be done before the list is closed as the
+ //Stop the slideshow
+ //NOTE: this needs to be done before the list is closed as the
//destructor removes the engine as medialist observer and also
//removes the contexts from the list
delete iEngine;
@@ -1020,7 +1024,7 @@
// nothing selected, so determine which item has focus in the original list
focusIndex = iMediaList->FocusIndex();
const TGlxMedia& mediaItem = iMediaList->Item( focusIndex );
- // is this item in the filtered list?
+ // Check if this item is in the filtered list
TGlxIdSpaceId spaceId = iMediaList->IdSpaceId( focusIndex );
focusIndex = iFilteredList->Index( spaceId, mediaItem.Id() );
if ( focusIndex == KErrNotFound )
@@ -1271,8 +1275,7 @@
// then dont SetImageToHDMI :)
if( ( KErrNotFound == focusIndex)
|| (0 == iFilteredList->Count())
- || (NULL == iHdmiController)
- || (!iHdmiController->IsHDMIConnected()))
+ || (NULL == iHdmiController))
{
GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - Cant Set Image To HDMI");
return;
@@ -1289,17 +1292,13 @@
&& (error == KErrNone) )
{
GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - CGlxHdmi - Setting the Image");
- TInt frameCount(0);
- TSize orignalSize;
- item.GetFrameCount(frameCount);
- item.GetDimensions(orignalSize);
- iHdmiController->SetImageL(item.Uri(), orignalSize, frameCount);
+ iHdmiController->SetImageL(item.Uri());
}
else
{
GLX_LOG_INFO("CShwSlideshowView::SetImageToHDMIL - Unsupported Item");
//Set the external display to cloning mode if
- //the current item is something we wont support (e.g. video, corrupted item);
+ //the current item is something we wont support (e.g. video, corrupted item)
iHdmiController->ItemNotSupported();
}
}
@@ -1346,18 +1345,30 @@
}
// ---------------------------------------------------------------------------
-// HarvestingUpdated
//
+// HandleMMCInsertionL
// ---------------------------------------------------------------------------
//
-void CShwSlideshowView::HarvestingUpdated(
- HarvesterEventObserverType HarvestingUpdated,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft )
+void CShwSlideshowView::HandleMMCInsertionL()
{
- TRACER("CShwSlideshowView::HarvestingUpdated()");
- if(HarvestingUpdated == EHEObserverTypeMMC)
+ TRACER("CShwSlideshowView::HandleMMCInsertionL()");
+ iMMCState = ETrue;
+ iPrevNotInBackground = iIsForegrnd;
+ if(iIsForegrnd)
{
ProcessCommandL(EAknSoftkeyClose);
}
}
+
+// ---------------------------------------------------------------------------
+//
+// HandleMMCRemovalL
+// ---------------------------------------------------------------------------
+//
+void CShwSlideshowView::HandleMMCRemovalL()
+ {
+ TRACER("CShwSlideshowView::HandleMMCRemovalL()");
+ ProcessCommandL(EAknSoftkeyExit);
+ }
+
+
--- a/photosgallery/slideshow/view/src/shwslideshowvolumecontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/slideshow/view/src/shwslideshowvolumecontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -296,7 +296,7 @@
// NotifyControlVisibility
// ---------------------------------------------------------------------------
void CShwSlideshowVolumeControl::NotifyControlVisibility( TBool aIsVisible,
- CAlfDisplay& aDisplay )
+ CAlfDisplay& /*aDisplay*/ )
{
TRACER("CShwSlideshowVolumeControl::NotifyControlVisibility");
GLX_LOG_ENTRY_EXIT
--- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmedialistcommandhandler.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -177,12 +177,6 @@
if ( IsSupported( item.iCommandId ) )
{
TBool isDisabled = IsDisabledL(item.iCommandId, MediaList());
-
- if( !isDisabled &&
- iCurrentViewingState == TCommandInfo::EViewingStateView )
- {
- //isDisabled = sf.IsActivePaletteItemVisible( item.iCommandId );
- }
// Check visibility of the menu item
aMenuPane->SetItemDimmed( item.iCommandId, isDisabled);
--- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmpxcommandcommandhandler.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/src/glxmpxcommandcommandhandler.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -66,14 +66,8 @@
EXPORT_C CGlxMpxCommandCommandHandler::~CGlxMpxCommandCommandHandler()
{
TRACER("CGlxMpxCommandCommandHandler::~CGlxMpxCommandCommandHandler");
- // cancel command if running
- if (iProgressComplete)
- {
-// MediaList().Cancel();
- }
-
+
delete iProgressDialog;
-
if ( iResourceOffset )
{
CCoeEnv::Static()->DeleteResourceFile(iResourceOffset);
--- a/photosgallery/viewframework/commandhandlers/commandhandlerbase/tsrc/ut_cglxmedialistcommandhandler/src/ut_cglxmedialistcommandhandler.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerbase/tsrc/ut_cglxmedialistcommandhandler/src/ut_cglxmedialistcommandhandler.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -244,8 +244,7 @@
UT_CGlxMediaListCommandHandler* UT_CGlxMediaListCommandHandler::NewL()
{
UT_CGlxMediaListCommandHandler* self = UT_CGlxMediaListCommandHandler::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -253,9 +252,7 @@
{
UT_CGlxMediaListCommandHandler* self = new( ELeave ) UT_CGlxMediaListCommandHandler();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -322,10 +319,10 @@
};
// -----------------------------------------------------------------------------
-// Test: static TInt SelectionLength(MGlxMediaList& aMediaList);
+// Test: UT_CGlxMediaListCommandHandler::Test_SelectionLengthL()
// -----------------------------------------------------------------------------
//
-void UT_CGlxMediaListCommandHandler::Test_SelectionLengthL( )
+void UT_CGlxMediaListCommandHandler::Test_SelectionLengthL()
{
#if 1 // This unit test needs to be re-wirtten after changes to SelectionLength() method.
iML = new (ELeave) _CGlxTestMediaList;
--- a/photosgallery/viewframework/commandhandlers/commandhandlerdrm/src/glxcommandhandlerdrm.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerdrm/src/glxcommandhandlerdrm.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -323,7 +323,7 @@
GLX_LOG_INFO("CGlxCommandHandlerDrm::ConsumeDRMRightsL check rights");
// check if rights have expired
- TBool expired = !iDrmUtility->CheckOpenRightsL(uri, (cat == EMPXImage));
+ TBool expired = !iDrmUtility->ItemRightsValidityCheckL(uri, (cat == EMPXImage));
if(expired)
{
--- a/photosgallery/viewframework/commandhandlers/commandhandlerdrm/src/glxdrmiconmanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerdrm/src/glxdrmiconmanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -372,7 +372,7 @@
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
GLX_LOG_INFO("CGlxDrmIconManager::CheckDRMRightsL valid rights");
if(aForceIcon ||!ShouldHaveIcon(id, iconType))
--- a/photosgallery/viewframework/commandhandlers/commandhandlermarking/src/glxcommandhandlermarking.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlermarking/src/glxcommandhandlermarking.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -149,7 +149,7 @@
//
EXPORT_C CGlxCommandHandlerMarking::~CGlxCommandHandlerMarking()
{
- /// if (but do test this assumption!)
+ /// if (but do test this assumption)
if (iResourceOffset)
{
CCoeEnv::Static()->DeleteResourceFile(iResourceOffset);
@@ -436,12 +436,6 @@
if( aKeyEvent.iScanCode==EStdKeyDevice3 )
{
TInt focIdx = mediaList.FocusIndex();
-
- /// is already in DoExecuteL:
- /// Call ExecuteL with EAknCmdMark or EAknCmdUnmark to avoid duplication.
- /// Replace with following code with
- /// (void) ExecuteL( mlist.IsSelected( mlist.FocusIndex() ) ?
- /// EAknCmdUnmark : EAknCmdMark );
if( focIdx != KErrNotFound )
{
if ( mediaList.IsSelected( focIdx ) )
@@ -515,7 +509,7 @@
void CGlxCommandHandlerMarking::HandleItemRemovedL(TInt /*aStartIndex*/,
TInt /*aEndIndex*/, MGlxMediaList* /*aList*/)
{
- //UpdateMiddleSoftkeyStatus();
+ //Do nothing
}
// ---------------------------------------------------------------------------
--- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_cglxcommandhandlershowviaupnp/src/t_cglxcommandhandlershowviaupnp.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_cglxcommandhandlershowviaupnp/src/t_cglxcommandhandlershowviaupnp.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -218,7 +218,7 @@
t_cglxcommandhandlershowviaupnp* t_cglxcommandhandlershowviaupnp::NewL()
{
t_cglxcommandhandlershowviaupnp* self = t_cglxcommandhandlershowviaupnp::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -279,7 +279,6 @@
void t_cglxcommandhandlershowviaupnp::SetupL1( )
{
//create the medialist
- // MediaList();
iList = new (ELeave) _CGlxTestMediaList;
EUNIT_PRINT(_L("SetupL1 :: created Medialist"));
iCommandShowUpnp = CGlxCommandHandlerShowViaUpnp :: NewL(this, EFalse);
--- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_cglxthumbnailsaver/src/t_cglxthumbnailsaver.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_cglxthumbnailsaver/src/t_cglxthumbnailsaver.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -35,8 +35,7 @@
t_cglxthumbnailsaver* t_cglxthumbnailsaver::NewL()
{
t_cglxthumbnailsaver* self = t_cglxthumbnailsaver::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -44,9 +43,7 @@
{
t_cglxthumbnailsaver* self = new( ELeave ) t_cglxthumbnailsaver();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -79,7 +76,6 @@
EUNIT_PRINT(_L("t_cglxthumbnailsaver::GetSession"));
User::LeaveIfError(RFbsSession::Connect());
EUNIT_PRINT(_L("t_cglxthumbnailsaver::FbsSession:: Connected"));
- // iData->iFbsCreated = ETrue;
}
iThumbnail = NULL;
iThumbnailSaver = NULL;
@@ -153,7 +149,6 @@
void t_cglxthumbnailsaver::T_CreateDefaultVideoIconL()
{
EUNIT_PRINT(_L("Entering t_cglxthumbnailsaver::T_CreateDefaultVideoIconL"));
- //iThumbnailSaver->CreateDefaultVideoIconL();
}
//From MGlxThumbnailSaveComplete
--- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_cglxupnprendererimpl/src/t_cglxupnprendererimpl.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_cglxupnprendererimpl/src/t_cglxupnprendererimpl.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -37,8 +37,7 @@
t_cglxupnprendererimpl* t_cglxupnprendererimpl::NewL()
{
t_cglxupnprendererimpl* self = t_cglxupnprendererimpl::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -46,9 +45,7 @@
{
t_cglxupnprendererimpl* self = new( ELeave ) t_cglxupnprendererimpl();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_glxcommandhandlercopytohomenetwork/src/t_glxcmdhndlrcopytohomentwk.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_glxcommandhandlercopytohomenetwork/src/t_glxcmdhndlrcopytohomentwk.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -229,7 +229,7 @@
t_cglxcommandhandlercopytohomenetwork* t_cglxcommandhandlercopytohomenetwork::NewL()
{
t_cglxcommandhandlercopytohomenetwork* self = t_cglxcommandhandlercopytohomenetwork::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -280,8 +280,6 @@
iList = NULL;
iCommandHandlerCopyToHomeNetwork = NULL;
//create the medialist
- // MediaList();
- // iCommandHandlerCopyToHomeNetwork = CGlxCommandHandlerCopyToHomeNetwork :: NewL(*this);
iList = new (ELeave) _CGlxTestMediaList;
iCommandHandlerCopyToHomeNetwork = new (ELeave) CGlxCommandHandlerCopyToHomeNetwork(*this);
}
--- a/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_glxupnprenderer/src/t_glxupnprenderer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commandhandlerupnp/tsrc/t_glxupnprenderer/src/t_glxupnprenderer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -33,7 +33,7 @@
t_glxupnprenderer* t_glxupnprenderer::NewL()
{
t_glxupnprenderer* self = t_glxupnprenderer::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/group/glxcommoncommandhandlers.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/group/glxcommoncommandhandlers.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -70,7 +70,8 @@
SOURCE glxaiwmedia.cpp
SOURCE glxcommandhandlerfilterimagesorvideos.cpp
SOURCE glxcommandhandleropen.cpp
-SOURCE glxcommandhandleraiwshowonmaphardkey.cpp
+SOURCE glxcommandhandleraiwshowonmaphardkey.cpp
+SOURCE glxuploadcenrepwatcher.cpp
USERINCLUDE ../inc
@@ -145,4 +146,5 @@
LIBRARY glxtexturemanager.lib
LIBRARY glximageviewermanager.lib
LIBRARY mpxplaybackutility.lib // MPX playback utility
+LIBRARY thumbnailmanager.lib
// End of File
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshowonmaphardkey.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandleraiwshowonmaphardkey.h Wed Mar 31 21:31:03 2010 +0300
@@ -80,29 +80,6 @@
* Called when the owning view is deactivated
*/
void Deactivate();
-// Below methods are commented as they hold implemenatation of dofferent commandhandler
-// To check map service providers
-// To navigate to the location
-//public: // New methods
-
- /**
- * It will return total map service providers.
- * @since S60 v9.1
- * @ret total number of map service providers
- */
-// TInt MapServiceProvidersL();
-
- /**
- * It will show location on map
- * @since S60 v9.1
- */
-// IMPORT_C void ShowOnMapL( const TCoordinate& aCoordinate );
-
- /**
- * It will navigate to location
- * @since S60 v9.1
- */
-// void NavigateToPlaceL( const TCoordinate& aCoordinate );
private:
/**
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerback.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerback.h Wed Mar 31 21:31:03 2010 +0300
@@ -106,12 +106,6 @@
CGlxCommandHandlerBack(MGlxMediaListProvider* aMediaListProvider,
TInt aPrevViewId );
- // This API to be removed after testing with migration is over
- /**
- * check if deletion of container need to be checked
- */
- // TBool CheckContainerDeletion() const;
-
public: // From MGlxCommandHandler
/**
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdetails.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerdetails.h Wed Mar 31 21:31:03 2010 +0300
@@ -76,6 +76,14 @@
/** @see CGlxMediaListCommandHandler::DoIsDisabled */
TBool DoIsDisabled(TInt aCommandId, MGlxMediaList& aList) const;
+
+ /**
+ * It checks whether full screen thumbnail for
+ * focus item is available or not
+ * @param aList Medialist to use
+ * @return ETrue if any full screen thumbnail available
+ */
+ TBool IsThumbnailAvailable(MGlxMediaList& aList) const;
private: // implementation
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerupload.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxcommandhandlerupload.h Wed Mar 31 21:31:03 2010 +0300
@@ -21,6 +21,9 @@
// EXTERNAL INCLUDES
#include "AiwServiceHandler.h" // AIW service handler
+#include <centralrepository.h> // for checking the ShareOnline version
+#include <thumbnailmanager.h>
+#include <thumbnailmanagerobserver.h>
// INTERNAL INCLUDES
#include "glxmedialistcommandhandler.h" // for MediaListCommandHandler
@@ -29,6 +32,17 @@
// FORWARD DECLARATIONS
class MGlxMediaListProvider;
class CGlxDefaultAttributeContext;
+class CGlxUploadCenRepWatcher;
+
+// For upload icon change notification
+class MGlxUploadIconObserver
+ {
+public:
+ /**
+ * Handle upload icon changes
+ */
+ virtual void HandleUploadIconChangedL( ) = 0;
+ };
/**
* Command handler that launches Upload AIW ShareOnline
@@ -38,7 +52,8 @@
// CLASS DECLARATION
-NONSHARABLE_CLASS (CGlxCommandHandlerUpload) : public CGlxMediaListCommandHandler
+NONSHARABLE_CLASS (CGlxCommandHandlerUpload) : public CGlxMediaListCommandHandler,
+public MGlxMediaListObserver, public MThumbnailManagerObserver, public MGlxUploadIconObserver
{
public: // Constructors and destructor
/**
@@ -59,6 +74,31 @@
* To set the Help Text for Upload button on toolbar
*/
void SetToolTipL();
+
+
+public: // From MGlxMediaListObserver
+ void HandleItemAddedL(TInt aStartIndex, TInt aEndIndex,
+ MGlxMediaList* aList);
+
+ void HandleMediaL(TInt aListIndex, MGlxMediaList* aList);
+
+ void HandleItemRemovedL(TInt aStartIndex, TInt aEndIndex,
+ MGlxMediaList* aList);
+ void HandleItemModifiedL(const RArray<TInt>& aItemIndexes,
+ MGlxMediaList* aList);
+ void HandleAttributesAvailableL(TInt aItemIndex,
+ const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList);
+ void HandleFocusChangedL(NGlxListDefs::TFocusChangeType aType,
+ TInt aNewIndex, TInt aOldIndex, MGlxMediaList* aList);
+ void HandleItemSelectedL(TInt aIndex, TBool aSelected, MGlxMediaList* aList);
+ void HandleMessageL(const CMPXMessage& aMessage, MGlxMediaList* aList);
+ void HandlePopulatedL(MGlxMediaList* aList);
+
+public: // from MGlxUploadIconObserver
+ /**
+ * @ref MGlxUploadIconObserver::HandleUploadIconChangedL
+ */
+ void HandleUploadIconChangedL( );
protected:
//@ref From CGlxCommandHandler
@@ -104,6 +144,13 @@
* Called when the owning view is deactivated
*/
void Deactivate();
+
+private: // From MThumbnailManagerObserver
+
+ void ThumbnailPreviewReady( MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
+ void ThumbnailReady( TInt aError, MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
private:
/**
@@ -127,8 +174,48 @@
*/
void InitializeOneClickUploadL();
+ /**
+ * To check whether its is fullscreen view
+ */
+ TBool IsFullScreenViewL();
+
+ /**
+ * Disable/Enable the upload toolbar item
+ */
+ void DisableUploadToolbarItem(TBool aDimmed);
+
+ /**
+ * Updates the selection count based on the mimetypes
+ */
+ void UpdateSelectionCount(TInt aIndex, TBool aSelected, MGlxMediaList* aList);
+
+ /**
+ * Gets the Icon path and fileName from the cenrep
+ */
+ void GetIconNameL(TDes& aUplaodIconName);
+
+ /**
+ * Decodes the Icon using the TNM Manager
+ */
+ void DecodeIconL(const TDes& aUplaodIconNmae);
+
+
+ /**
+ * Updates the Toolbar upload icon based on the current selection
+ */
+ void UpdateFSUploadIconL();
+
+
+ /**
+ * Sets the decoded upload icon to the toolbar item
+ */
+ void SetDecodedUploadIconL(MThumbnailData& aThumbnail);
+
private: // data
+ //Cenrep watcher for monitoring the icon changes
+ CGlxUploadCenRepWatcher* iUploadCenRepWatcher;
+
// ID of owning view
TInt iViewId;
@@ -142,7 +229,29 @@
CGlxUiUtility* iUiUtility;
// Owned - AIW Service Handler
- CAiwServiceHandler* iServiceHandler;
+ CAiwServiceHandler* iServiceHandler;
+
+ CThumbnailManager* iTnEngine; // Own
+
+ //Keep the count of no. of images/videos selected
+ TInt iSelectedImageCount;
+ TInt iSelectedVideoCount;
+
+ //keep track of current icon used
+ enum TCenRepMonitors
+ {
+ EMonitorNone,
+ EImageMonitor,
+ EVideoMonitor,
+ EImageVideoMonitor
+ };
+
+ TCenRepMonitors iCurrentCenRepMonitor;
+
+ //Toolbar instance of current view
+ CAknToolbar* iToolbar;
+
+ TThumbnailRequestId iTnmRequestID;
};
#endif //__GLXCOMMANDHANDLERUPLOAD_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/inc/glxuploadcenrepwatcher.h Wed Mar 31 21:31:03 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2008-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: Upload cenrep watcher
+*
+*/
+
+#ifndef __GLXUPLOADCENREPWATCHER_H__
+#define __GLXUPLOADCENREPWATCHER_H__
+
+
+class CGlxCommandHandlerUpload;
+
+/**
+ * CGlxUploadCenRepWatcher
+ * CGlxCommandHandlerUpload containted class for observing changes in central
+ * repository values
+ */
+NONSHARABLE_CLASS( CGlxUploadCenRepWatcher ) : public CActive
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Symbian Constructor.
+ * @param aObserver obersver - only supplied when the owner is
+ * interested in changes in key value
+ * @param aRepositoryUid uid of Central Repository file
+ * @param aId id of the Central Repository key
+ * @return contructed object
+ */
+ static CGlxUploadCenRepWatcher* NewL(MGlxUploadIconObserver& aUploadIconObserver,
+ const TUid& aRepositoryUid,
+ TUint32 aId );
+ /**
+ * Destructor.
+ */
+ ~CGlxUploadCenRepWatcher();
+
+ public: // API
+
+ /**
+ * Get current value as 16 bit descriptor.
+ * @param return value of the key in the descriptor
+ */
+ void KeyValueL(TDes& aKeyValue) const;
+
+ private: // Implementation
+
+ /**
+ * C++ constructor.
+ * @param aObserver obersver
+ * @param aRepositoryUid uid of CenRep file
+ * @param aId id of the key
+ * @return contructed object
+ */
+ CGlxUploadCenRepWatcher(MGlxUploadIconObserver& aUploadIconObserver,
+ const TUid& aRepositoryUid, TUint32 aId );
+
+ /**
+ * 2nd phase constructor
+ */
+ void ConstructL();
+
+ protected: // from CActive
+
+ /**
+ * @ref CActive::RunL
+ */
+ void RunL();
+
+ /**
+ * @ref CActive::DoCancel
+ */
+ void DoCancel();
+
+ /**
+ * @ref CActive::RunError
+ */
+ TInt RunError( TInt aError );
+
+ private: // Implementation
+ // Not Owned: the upload icon observer
+ MGlxUploadIconObserver& iUploadIconObserver;
+ // Own: the central repository API
+ CRepository* iRepository;
+ // the central repository identifier
+ TUid iRepositoryUid;
+ // the key id
+ TUint32 iId;
+
+ };
+
+#endif //__GLXUPLOADCENREPWATCHER_H__
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxaiwmedia.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxaiwmedia.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -50,25 +50,6 @@
{
if (KErrNotFound == iParamArray.Find(aParam))
{
-/*
-#ifdef __WINSCW__
- // Big hack! replace "video/MP4V-ES" with "video/mp4"
- // Hack to be removed when TSW error: VKAN-77D92E is released
- TAiwGenericParam MimeType1( EGenericParamMIMEType, TAiwVariant( _L("video/MP4V-ES") ));
- TAiwGenericParam MimeType2( EGenericParamMIMEType, TAiwVariant( _L("video/mp4") ));
-
- if (aParam == MimeType1)
- {
- iParamArray.AppendL(MimeType2);
- }
- else
- {
- iParamArray.AppendL(aParam);
- }
-#else
- iParamArray.AppendL(aParam);
-#endif
-*/
iParamArray.AppendL(aParam);
return ETrue;
}
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwedit.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwedit.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -122,7 +122,7 @@
// DynInitMenuPaneL
// -----------------------------------------------------------------------------
//
-void CGlxCommandHandlerAiwEdit::DynInitMenuPaneL(TInt aResourceId,
+void CGlxCommandHandlerAiwEdit::DynInitMenuPaneL(TInt /*aResourceId*/,
CEikMenuPane* aMenuPane)
{
MGlxMediaList& mediaList = MediaList();
@@ -134,7 +134,7 @@
if (iCommandSingleClick && aMenuPane->MenuItemExists(
EGlxCmdAiwSingleClickEdit, pos)
- && ((mediaList.SelectionCount() > 1)
+ && (((!mediaList.Count()) || (mediaList.SelectionCount() > 1))
|| (!iFeatManager->IsFeatureSupportedL(
KFeatureIdFfImageEditor)
&& !iFeatManager->IsFeatureSupportedL(
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwprintpreview.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandleraiwprintpreview.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -136,7 +136,7 @@
// AiwDoDynInitMenuPaneL
// -----------------------------------------------------------------------------
//
-void CGlxCommandHandlerAiwPrintPreview::AiwDoDynInitMenuPaneL(TInt aResourceId,
+void CGlxCommandHandlerAiwPrintPreview::AiwDoDynInitMenuPaneL(TInt /*aResourceId*/,
CEikMenuPane* aMenuPane)
{
TBool fullscreenViewingMode = EFalse;
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerback.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -151,9 +151,12 @@
aCommandId );
if(EAknSoftkeyClose == aCommandId)
{
- GLX_LOG_INFO("CGlxCommandHandlerBack::ExecuteL::goto \
+ GLX_LOG_INFO("CGlxCommandHandlerBack::ExecuteL::go to \
root in UI hierarchy");
- iNavigationalState->NavigateToParentL();
+ CMPXCollectionPath* newState = CMPXCollectionPath::NewL();
+ CleanupStack::PushL( newState );
+ iNavigationalState->NavigateToL( *newState );
+ CleanupStack::PopAndDestroy( newState );
consume = ETrue;
}
else if ( aCommandId == EAknSoftkeyBack )
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdetails.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerdetails.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -208,7 +208,8 @@
GLX_DEBUG2("GLX_Property::DoExecuteL::URI:%S:",&uri);
iUiUtility->SetViewNavigationDirection(EGlxNavigationForwards);
- if (aList.Collection().UidL().iUid == KGlxCollectionPluginImageViewerImplementationUid)
+ if (aList.Collection().UidL().iUid ==
+ KGlxCollectionPluginImageViewerImplementationUid)
{
CGlxImgVwrMetadataDialog* dialog = CGlxImgVwrMetadataDialog::NewL( uri);
dialog->ExecuteLD();
@@ -282,6 +283,7 @@
TBool CGlxCommandHandlerDetails::DoIsDisabled(TInt aCommandId,
MGlxMediaList& aList) const
{
+ TRACER("CGlxCommandHandlerDetails:DoIsDisabled");
TBool fullscreenViewingMode = EFalse;
CGlxNavigationalState* aNavigationalState = CGlxNavigationalState::InstanceL();
CMPXCollectionPath* naviState = aNavigationalState->StateLC();
@@ -311,12 +313,40 @@
CleanupStack::PopAndDestroy( naviState );
aNavigationalState->Close();
- if(EGlxCmdDetails==aCommandId && (0 == aList.Count() || 1 != aList.SelectionCount())&& !fullscreenViewingMode )
+ // If fullscreen view is there but media item dont have yet
+ // data to be shown in detail than hide detail option
+ if(fullscreenViewingMode && !IsThumbnailAvailable(aList))
+ {
+ return ETrue;
+ }
+
+ if(EGlxCmdDetails==aCommandId && (0 == aList.Count() || 1 != aList.SelectionCount())
+ && !fullscreenViewingMode )
{
return ETrue;
}
return EFalse;
}
+// -----------------------------------------------------------------------------
+// IsThumbnailAvailable
+// -----------------------------------------------------------------------------
+//
+TBool CGlxCommandHandlerDetails::IsThumbnailAvailable(MGlxMediaList& aList) const
+ {
+ TRACER("CGlxCommandHandlerDetails::IsThumbnailAvailable");
+ if (0 == aList.Count())
+ {
+ return EFalse;
+ }
+
+ TMPXAttribute attr;
+ TSize size = iUiUtility->DisplaySize();
+ GLX_LOG_INFO2(
+ "CGlxCommandHandlerDetails::IsThumbnailAvailable() w(%d) h(%d)",
+ size.iWidth, size.iHeight);
+ return aList.Item(aList.FocusIndex()).GetClosestThumbnail(attr, size,
+ EFalse);
+ }
//End of file
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrename.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -258,7 +258,7 @@
// put to cleanupstack as cleanupstack is emptied before stack objects
// are deleted
CleanupClosePushL( contextRemover );
- // Yuck - a leave and a return code!
+ // Yuck - a leave and a return code
// EFalse => don't show a progress dialog
TInt err = GlxAttributeRetriever::RetrieveL( *context, aList, EFalse );
// Using a distinct error value as "LeaveIfError( FuncL() );" looks bad
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrotate.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerrotate.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -373,7 +373,6 @@
return finalOrientation;
}
- //Nitz subst code
TInt rotOffset = iRotationAngle/90;
TInt isOrientationOdd = aInitialOrientation % 2;
TInt initStateIndex = 0;
@@ -429,9 +428,6 @@
HBufC8* ModifiedexifData=NULL;
//need only first KGlxMaxExifSize bytes of data as exif cannot bypass this size
TRAPD(err,ModifiedexifData = iExifWriter->WriteDataL(iExifData->Des()));
- //Nitz To-do Write only first KGlxMaxExifSize bytes to the file
- //It currently fails in cases of JPEG files without Exif so removing it.
- //TPtrC8 exifPtr = ModifiedexifData->Mid(0,KGlxMaxExifSize);
if(err == KErrNone)
{
iFileHandle.Write(0,ModifiedexifData->Des());
@@ -527,7 +523,7 @@
CMPXCommand* command = TGlxCommandFactory::ThumbnailCleanupCommandLC();
command->SetTObjectValueL<TAny*>(KMPXCommandGeneralSessionId, static_cast<TAny*>(this));
- //Nitz To Do Initialize cleanup command Just for the respective Media Items
+ //To Do Initialize cleanup command Just for the respective Media Items
iMediaList->CommandL(*command);
CleanupStack::PopAndDestroy(command);
iMediaList->RemoveMediaListObserver(this);
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerslideshow.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -111,7 +111,7 @@
info.iDisallowAnimatedGIFs = ETrue;
// Disable DRM protected content
info.iDisallowDRM = ETrue;
- // Note! cannot just require all to be images as user can also start
+ // Note: cannot just require all to be images as user can also start
// slideshow for a whole album from list view and in that case
// selection contains a container
// Disable all videos
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerupload.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlerupload.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -17,12 +17,13 @@
// CLASS HEADER
#include "glxcommandhandlerupload.h"
+#include "glxuploadcenrepwatcher.h"
+#include <mglxmedialist.h>
// EXTERNAL INCLUDES
#include <AiwGenericParam.h> // for passing data between applications
#include <aknbutton.h> // for getting the button state
#include <akntoolbar.h> // for accessing currently active toolbar
-#include <centralrepository.h> // for checking the ShareOnline version
#include <data_caging_path_literals.hrh> // for directory and file names
#include <utf.h> // for CnvUtfConverter
@@ -36,21 +37,33 @@
#include <glxuiutilities.rsg> // for Share AIW interest resource
#include <mglxmedialist.h> // for accessing the media items
+#include <glxnavigationalstate.h>
+#include <glxcollectionpluginimageviewer.hrh>
+
+#include <thumbnaildata.h>
+#include <gulicon.h>
+
// CONSTANTS AND DEFINITIONS
namespace
{
- // ShareOnline application UID
- const TUid KShareOnlineUid = { 0x2000BB53 };
+ // ShareOnline application UID
+ const TUid KShareOnlineUid = { 0x2002CC1F };
// Shareonline Application version
- const TUint32 KShareApplicationVersion = 0x01010020;
+ const TUint32 KShareApplicationVersion = 0x1010020;
// Buffer to maintain the ShareOnline version number in use
const TInt KPhotosShareOnlineVersionBufLen = 12;
// Minimum version required for OneClickUpload to work
- const TVersion KShareOnlineMinimumVersion( 4, 3, 0 );
+ const TVersion KShareOnlineMinimumVersion( 5, 0, 0 );
// OneClickUpload command
const TUid KOpenModeOneClick = { 2 };
// Command to request for the tooltip
const TUid KCmdGetOneClickToolTip = { 15 };
+ // OneClickUpload default image icon
+ const TUint32 KUploadImageServiceIconFileName = 0x00000002;
+ // OneClickUpload default video icon
+ const TUint32 KUploadVideoServiceIconFileName = 0x00000003;
+ // OneClickUpload default video and image icon
+ const TUint32 KUploadImageAndVideoServiceIconFileName = 0x00000004;
}
// ----------------------------------------------------------------------------
@@ -100,7 +113,20 @@
iUploadSupported = ETrue;
} );
+ iSelectedImageCount = 0;
+ iSelectedVideoCount = 0;
+ iCurrentCenRepMonitor = EMonitorNone;
+ iTnmRequestID = KErrNotFound;
+ //Check for fullscreen here since we dont get the activate call in FS.
+ if(IsFullScreenViewL())
+ {
+ //Giving the viewid as zero, since its not used anywhere.
+ iToolbar = iAvkonAppUi->CurrentFixedToolbar();
+ ActivateL(0);
+ UpdateFSUploadIconL();
+ }
+
// Add the upload command
TCommandInfo info(EGlxCmdUpload);
AddCommandL(info);
@@ -112,12 +138,14 @@
EXPORT_C CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload()
{
TRACER("CGlxCommandHandlerUpload::~CGlxCommandHandlerUpload");
+ delete iTnEngine;
if (iUiUtility)
{
iUiUtility->Close();
}
delete iServiceHandler;
+ delete iUploadCenRepWatcher;
}
// InitializeAIWForShareOnlineL
@@ -130,7 +158,7 @@
iServiceHandler = CAiwServiceHandler::NewL();
// Attach the AIW Resource defined in uiutilities.rss
- iServiceHandler->AttachL( R_AIW_SHARE_BASE_INTEREST );
+ iServiceHandler->AttachL( R_GLX_AIW_SHARE_BASE_INTEREST );
}
// Check Share Online version
@@ -211,6 +239,7 @@
{
CAiwGenericParamList& inputParams = iServiceHandler->InParamListL();
+ inputParams.Reset();
TAiwVariant variant( KOpenModeOneClick ); //For one click photo upload
TAiwGenericParam param( EGenericParamModeActivation, variant );
@@ -234,8 +263,18 @@
void CGlxCommandHandlerUpload::DoActivateL(TInt aViewId)
{
TRACER("CGlxCommandHandlerUpload::DoActivateL");
- iViewId = aViewId;
+ iViewId = aViewId;
+
+ // get media list from provider and add observer
+
+ MediaList().AddMediaListObserverL( this );
+ //Get the grid toolbar here as it wont be created yet in
+ //constructor
+ if(!IsFullScreenViewL())
+ {
+ iToolbar = iUiUtility->GetGridToolBar();
+ }
}
// ----------------------------------------------------------------------------
@@ -244,7 +283,14 @@
void CGlxCommandHandlerUpload::Deactivate()
{
TRACER("CGlxCommandHandlerUpload::Deactivate");
-
+
+ //Remove the Medialist observer
+ MediaList().RemoveMediaListObserver( this );
+
+ //Reset the tracking variables here
+ iSelectedImageCount = 0;
+ iSelectedVideoCount = 0;
+ iCurrentCenRepMonitor = EMonitorNone;
}
// ----------------------------------------------------------------------------
@@ -319,7 +365,15 @@
void CGlxCommandHandlerUpload::PopulateToolbarL()
{
TRACER( "CGlxCommandHandlerUpload::PopulateToolbarL" );
-
+
+ //When the Upload is not supported or if we are in grid view
+ //and none of the item is selected Dim the Upload icon
+ if(!iUploadSupported || (!IsFullScreenViewL() &&
+ (MediaList().SelectionCount()== 0)))
+ {
+ DisableUploadToolbarItem(ETrue);
+ }
+
if( iUploadSupported )
{
SetToolTipL();
@@ -335,6 +389,7 @@
TRACER("CGlxCommandHandlerUpload::GetToolTipL");
CAiwGenericParamList& inputParams = iServiceHandler->InParamListL();
+ inputParams.Reset();
// Insert Command parameter that tells provider that tooltip is required
TAiwVariant variant(KCmdGetOneClickToolTip);
@@ -343,6 +398,8 @@
//Get a reference to output parameter list
CAiwGenericParamList& outputParams = iServiceHandler->OutParamListL();
+ outputParams.Reset();
+
iServiceHandler->ExecuteServiceCmdL(KAiwCmdUpload, inputParams, outputParams);
//Tooltip is returned as a parameter in output list
@@ -366,14 +423,13 @@
{
TRACER("CGlxCommandHandlerUpload::SetToolTipL");
- CAknToolbar* toolbar = iAvkonAppUi->CurrentFixedToolbar();
- if (!toolbar)
+ if (!iToolbar)
{
return;
}
CAknButton* uploadButton =
- static_cast<CAknButton*> (toolbar->ControlOrNull(EGlxCmdUpload));
+ static_cast<CAknButton*> (iToolbar->ControlOrNull(EGlxCmdUpload));
if (uploadButton && iUploadSupported)
{
@@ -409,5 +465,406 @@
} // if(uploadButton && iUploadSupported)
}
+
+// ----------------------------------------------------------------------------
+// HandleItemAddedL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleItemAddedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
+ MGlxMediaList* /*aList*/)
+ {
+
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleMediaL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleMediaL(TInt /*aListIndex*/, MGlxMediaList* /*aList*/)
+ {
+
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleItemRemovedL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleItemRemovedL(TInt /*aStartIndex*/, TInt /*aEndIndex*/,
+ MGlxMediaList* /*aList*/)
+ {
+
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleItemModifiedL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleItemModifiedL(const RArray<TInt>& /*aItemIndexes*/,
+ MGlxMediaList* /*aList*/)
+ {
+
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleAttributesAvailableL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleAttributesAvailableL(TInt /*aItemIndex*/,
+ const RArray<TMPXAttribute>& /*aAttributes*/, MGlxMediaList* /*aList*/)
+ {
+ TRACER("CGlxCommandHandlerUpload::HandleAttributesAvailableL");
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleFocusChangedL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleFocusChangedL(NGlxListDefs::TFocusChangeType /*aType*/,
+ TInt /*aNewIndex*/, TInt /*aOldIndex*/, MGlxMediaList* /*aList*/)
+ {
+ TRACER("CGlxCommandHandlerUpload::HandleFocusChangedL");
+ //In Fullscreen change the icons based on current focused icon
+ if(iUploadSupported && IsFullScreenViewL())
+ {
+ UpdateFSUploadIconL();
+ }
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleItemSelectedL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleItemSelectedL(TInt aIndex, TBool aSelected, MGlxMediaList* aList)
+ {
+ TRACER("CGlxCommandHandlerUpload::HandleItemSelectedL");
+ //In grid if an item is selected update the toolbar icon based on
+ //the mime types of items
+ if(iUploadSupported && !IsFullScreenViewL())
+ {
+ if(aList->SelectionCount() >= 1 )
+ {
+ TFileName uploadIconFileName;
+ UpdateSelectionCount(aIndex, aSelected, aList);
+ GetIconNameL(uploadIconFileName);
+ if(uploadIconFileName.Length())
+ {
+ DecodeIconL(uploadIconFileName);
+ }
+ DisableUploadToolbarItem(EFalse);
+ }
+ else
+ {
+ iSelectedImageCount = 0;
+ iSelectedVideoCount = 0;
+ iCurrentCenRepMonitor = EMonitorNone;
+ delete iUploadCenRepWatcher;
+ iUploadCenRepWatcher = NULL;
+ DisableUploadToolbarItem(ETrue);
+ }
+ }
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandleMessageL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleMessageL(const CMPXMessage& /*aMessage*/, MGlxMediaList* /*aList*/)
+ {
+
+ }
+
+
+// ----------------------------------------------------------------------------
+// HandlePopulatedL
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandlePopulatedL(MGlxMediaList* aList)
+ {
+ if(aList && aList->Count() > 0)
+ {
+ if(!iUploadSupported || !IsFullScreenViewL())
+ {
+ DisableUploadToolbarItem(ETrue);
+ }
+ }
+ }
+
+//----------------------------------------------------------------------------
+// Check for current view mode .Grid/fullscreen/imgviewer
+//----------------------------------------------------------------------------
+//
+TBool CGlxCommandHandlerUpload::IsFullScreenViewL()
+ {
+ TRACER("CGlxCommandHandlerUpload::IsFullScreenViewL");
+ TBool fullscreenViewingMode = EFalse;
+
+ CGlxNavigationalState* navigationalState = CGlxNavigationalState::InstanceL();
+ CleanupClosePushL( *navigationalState );
+ CMPXCollectionPath* naviState = navigationalState->StateLC();
+
+ if ( naviState->Levels() >= 1)
+ {
+ if (navigationalState->ViewingMode() == NGlxNavigationalState::EBrowse)
+ {
+ // For image viewer collection, goto view mode
+ if (naviState->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid))
+ {
+ // current view mode is img vwr
+ fullscreenViewingMode = ETrue;
+ }
+ else
+ {
+ //current view mode is Grid
+ fullscreenViewingMode = EFalse;
+ }
+ }
+ else
+ {
+ //current view mode is Fullscreen
+ fullscreenViewingMode = ETrue;
+ }
+ }
+ CleanupStack::PopAndDestroy( naviState );
+ CleanupStack::PopAndDestroy( navigationalState );
+ return fullscreenViewingMode;
+ }
+
+// ----------------------------------------------------------------------------
+// DisableUploadToolbarItem
+// ----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::DisableUploadToolbarItem(TBool aDimmed)
+ {
+ TRACER("CGlxCommandHandlerUpload::DisableUploadToolbarItem");
+
+ if(iToolbar)
+ {
+ iToolbar->SetItemDimmed(EGlxCmdUpload, aDimmed, ETrue);
+ //DrawNow must be called since SetDimmed does not redraw the toolbar
+ iToolbar->DrawNow();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::ThumbnailPreviewReady()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::ThumbnailPreviewReady(MThumbnailData& /*aThumbnail*/,
+ TThumbnailRequestId /*aId*/)
+ {
+ TRACER("CGlxCommandHandlerUpload::ThumbnailPreviewReady");
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::ThumbnailReady()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::ThumbnailReady(TInt aError,
+ MThumbnailData& aThumbnail, TThumbnailRequestId /*aId*/)
+ {
+ TRACER("CGlxCommandHandlerUpload::ThumbnailReady");
+
+ if(aError == KErrNone)
+ {
+ TRAP_IGNORE(SetDecodedUploadIconL(aThumbnail));
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::SetDecodedUploadIconL()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::SetDecodedUploadIconL(MThumbnailData& aThumbnail)
+ {
+ CAknButton* uploadButton =
+ static_cast<CAknButton*> (iToolbar->ControlOrNull(EGlxCmdUpload));
+
+ if(uploadButton)
+ {
+ CAknButtonState* currentState = uploadButton->State();
+ CFbsBitmap* normalBmp = aThumbnail.DetachBitmap();
+ CFbsBitmap* pressedBmp = new (ELeave) CFbsBitmap;
+ pressedBmp->Duplicate(normalBmp->Handle());
+ //Ownership of the icon is transferred here
+ currentState->SetIcon(CGulIcon::NewL(normalBmp));
+ currentState->SetPressedIcon(CGulIcon::NewL(pressedBmp));
+ iToolbar->DrawNow();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::UpdateSelectionCount()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::UpdateSelectionCount(TInt aIndex, TBool aSelected, MGlxMediaList* aList)
+ {
+ TRACER("CGlxCommandHandlerUpload::UpdateSelectionCount");
+ if(!aList)
+ {
+ return;
+ }
+
+ TGlxMedia media = aList->Item(aIndex);
+
+ switch(media.Category())
+ {
+ case EMPXImage:
+ aSelected?iSelectedImageCount++:iSelectedImageCount--;
+ break;
+ case EMPXVideo:
+ aSelected?iSelectedVideoCount++:iSelectedVideoCount--;
+ break;
+ default:
+ break;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::GetIconNameL()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::GetIconNameL(TDes& aUplaodIconNmae)
+ {
+ TRACER("CGlxCommandHandlerUpload::GetIconNameL");
+ TUint32 serviceIconId = KErrNone;
+
+ if(iSelectedImageCount && iSelectedVideoCount)
+ {
+ if(iCurrentCenRepMonitor != EImageVideoMonitor)
+ {
+ serviceIconId = KUploadImageAndVideoServiceIconFileName;
+ iCurrentCenRepMonitor = EImageVideoMonitor;
+ }
+ }
+ else if(iSelectedImageCount)
+ {
+ if(iCurrentCenRepMonitor != EImageMonitor)
+ {
+ serviceIconId = KUploadImageServiceIconFileName;
+ iCurrentCenRepMonitor = EImageMonitor;
+ }
+ }
+ else if(iSelectedVideoCount)
+ {
+ if(iCurrentCenRepMonitor != EVideoMonitor)
+ {
+ serviceIconId = KUploadVideoServiceIconFileName;
+ iCurrentCenRepMonitor = EVideoMonitor;
+ }
+ }
+
+ if(serviceIconId != KErrNone)
+ {
+ delete iUploadCenRepWatcher;
+ iUploadCenRepWatcher = NULL;
+
+ iUploadCenRepWatcher = CGlxUploadCenRepWatcher::NewL(*this, KShareOnlineUid,
+ serviceIconId );
+ iUploadCenRepWatcher->KeyValueL(aUplaodIconNmae);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::DecodeIconL()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::DecodeIconL(const TDes& aUplaodIconNmae)
+ {
+ TRACER("CGlxCommandHandlerUpload::DecodeIconL");
+
+ if(!iTnEngine)
+ {
+ iTnEngine = CThumbnailManager::NewL( *this);
+ iTnEngine->SetDisplayModeL( EColor16M );
+ }
+
+ if(iTnmRequestID != KErrNotFound)
+ {
+ //Cancel any outstanding request
+ iTnEngine->CancelRequest(iTnmRequestID);
+ }
+
+ iTnEngine->SetFlagsL(CThumbnailManager::EDefaultFlags);
+
+ CAknButton* uploadButton =
+ static_cast<CAknButton*> (iToolbar->ControlOrNull(EGlxCmdUpload));
+ if(uploadButton)
+ {
+ CAknButtonState* currentState = uploadButton->State();
+ const CGulIcon *icon = currentState->Icon();
+ iTnEngine->SetThumbnailSizeL(icon->Bitmap()->SizeInPixels());
+ iTnEngine->SetQualityPreferenceL(CThumbnailManager::EOptimizeForQuality);
+ CThumbnailObjectSource* source = CThumbnailObjectSource::NewLC(aUplaodIconNmae, 0);
+ iTnmRequestID = iTnEngine->GetThumbnailL(*source);
+ CleanupStack::PopAndDestroy(source);
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CGlxCommandHandlerUpload::UpdateFSUploadIconL()
+// -----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::UpdateFSUploadIconL()
+ {
+ if(!iUploadSupported)
+ {
+ return;
+ }
+
+ // get the media list reference
+ MGlxMediaList& mediaList = MediaList();
+ if(mediaList.Count() )
+ {
+ TGlxMedia media = mediaList.Item(mediaList.FocusIndex());
+ iSelectedImageCount = 0;
+ iSelectedVideoCount = 0;
+ if(media.Category() == EMPXImage)
+ {
+ iSelectedImageCount++;
+ }
+ else if(media.Category() == EMPXVideo)
+ {
+ iSelectedVideoCount++;
+ }
+
+ if(iSelectedImageCount || iSelectedVideoCount)
+ {
+ TFileName uploadIconFileName;
+ GetIconNameL(uploadIconFileName);
+
+ if(uploadIconFileName.Length())
+ {
+ DecodeIconL(uploadIconFileName);
+ }
+ }
+ }
+ }
+
+//-----------------------------------------------------------------------------
+// From class MGlxUploadIconObserver.
+// Called when upload icon changes
+//-----------------------------------------------------------------------------
+//
+void CGlxCommandHandlerUpload::HandleUploadIconChangedL( )
+ {
+ TRACER("CGlxCommandHandlerUpload::HandleUploadIconChangedL");
+ if(iUploadSupported && iUploadCenRepWatcher)
+ {
+ TFileName uploadIconFileName;
+ iUploadCenRepWatcher->KeyValueL(uploadIconFileName);
+ if(uploadIconFileName.Length())
+ {
+ DecodeIconL(uploadIconFileName);
+ }
+ }
+ }
// End of file
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlervideoplayback.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxcommandhandlervideoplayback.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -214,7 +214,7 @@
{
GLX_LOG_INFO( "CmdHandler VideoPlayback - SelectPlayerL(+)" );
const TUid playbackMode = { 0x200009EE }; // photos UID
- iPlaybackUtility = MMPXPlaybackUtility::UtilityL( playbackMode );
+ iPlaybackUtility = MMPXPlaybackUtility::UtilityL(EMPXCategoryVideo, playbackMode );
MMPXPlayerManager& manager = iPlaybackUtility->PlayerManager();
manager.SelectPlayerL( KVideoHelixPlaybackPluginUid );
iPlaybackUtility->AddObserverL( *this );
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/src/glxuploadcenrepwatcher.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2008-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: Upload cenrep watcher
+*
+*/
+
+// CLASS HEADER
+#include <centralrepository.h> // for checking the ShareOnline version
+#include "glxcommandhandlerupload.h"
+#include "glxuploadcenrepwatcher.h"
+
+#include <glxtracer.h> // for TRACER logs
+
+
+// -----------------------------------------------------------------------------
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+CGlxUploadCenRepWatcher* CGlxUploadCenRepWatcher::NewL
+ (MGlxUploadIconObserver& aUploadIconObserver,
+ const TUid& aRepositoryUid,
+ TUint32 aId )
+ {
+ TRACER("CGlxUploadCenRepWatcher::NewL");
+
+ CGlxUploadCenRepWatcher* self =
+ new(ELeave) CGlxUploadCenRepWatcher(aUploadIconObserver, aRepositoryUid, aId );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// constructor.
+// -----------------------------------------------------------------------------
+inline CGlxUploadCenRepWatcher::CGlxUploadCenRepWatcher(
+ MGlxUploadIconObserver& aUploadIconObserver,
+ const TUid& aRepositoryUid, TUint32 aId )
+ : CActive(EPriorityStandard),
+ iUploadIconObserver(aUploadIconObserver),
+ iRepositoryUid(aRepositoryUid),
+ iId(aId)
+ {
+ }
+
+// ----------------------------------------------------------------------------
+// Symbian 2nd phase constructor
+// ----------------------------------------------------------------------------
+void CGlxUploadCenRepWatcher::ConstructL()
+ {
+ TRACER("CGlxUploadCenRepWatcher::ConstructL");
+ CActiveScheduler::Add( this );
+ iRepository = CRepository::NewL(iRepositoryUid);
+
+ //Request notification when the user changes cenrep values
+ TInt err = iRepository->NotifyRequest( iId, iStatus );
+ if (!(KErrNone ==err ||KErrAlreadyExists ==err))
+ {
+ User::Leave(err);
+ }
+
+ SetActive();
+ }
+
+// ----------------------------------------------------------------------------
+// Destructor
+// ----------------------------------------------------------------------------
+CGlxUploadCenRepWatcher::~CGlxUploadCenRepWatcher()
+ {
+ TRACER("CGlxUploadCenRepWatcher::~CGlxUploadCenRepWatcher");
+
+ Cancel();
+ delete iRepository;
+ }
+
+
+// ----------------------------------------------------------------------------
+// CGlxUploadCenRepWatcher::KeyValueL
+// ----------------------------------------------------------------------------
+void CGlxUploadCenRepWatcher::KeyValueL(TDes& aKeyValue) const
+ {
+ TRACER("CGlxUploadCenRepWatcher::KeyValueL");
+ if(iRepository)
+ {
+ User::LeaveIfError( iRepository->Get(iId, aKeyValue) );
+ }
+ }
+
+
+// ----------------------------------------------------------------------------
+// CGlxUploadCenRepWatcher::RunL
+// ----------------------------------------------------------------------------
+void CGlxUploadCenRepWatcher::RunL()
+ {
+ TRACER("CGlxUploadCenRepWatcher::RunL");
+ // Check for errors
+ User::LeaveIfError( iStatus.Int() );
+ User::LeaveIfError( iRepository->NotifyRequest( iId, iStatus ) );
+ if (!IsActive())
+ {
+ SetActive();
+ iUploadIconObserver.HandleUploadIconChangedL( );
+ }
+ }
+
+// ----------------------------------------------------------------------------
+// CGlxUploadCenRepWatcher::DoCancel
+// ----------------------------------------------------------------------------
+void CGlxUploadCenRepWatcher::DoCancel()
+ {
+ TRACER("CGlxUploadCenRepWatcher::DoCancel");
+ iRepository->NotifyCancel( iId );
+ }
+
+//-----------------------------------------------------------------------------
+// CGlxUploadCenRepWatcher::RunError
+// From class CActive.
+//-----------------------------------------------------------------------------
+//
+TInt CGlxUploadCenRepWatcher::RunError( TInt /*aError*/ )
+ {
+ TRACER("CGlxUploadCenRepWatcher::RunError()");
+ return KErrNone;
+ }
+
+// End of file
+
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_cglxaiwservicehandler/src/t_cglxaiwservicehandler.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_cglxaiwservicehandler/src/t_cglxaiwservicehandler.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -38,8 +38,7 @@
t_CGlxAiwServiceHandler* t_CGlxAiwServiceHandler::NewL()
{
t_CGlxAiwServiceHandler* self = t_CGlxAiwServiceHandler::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -47,9 +46,7 @@
{
t_CGlxAiwServiceHandler* self = new( ELeave ) t_CGlxAiwServiceHandler();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_glxcmdhndlrfilteritems/src/t_glxcmdhandlerfilteritems.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_glxcmdhndlrfilteritems/src/t_glxcmdhandlerfilteritems.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -40,8 +40,7 @@
T_CGlxCommandHandlerFilterImagesOrVideos* T_CGlxCommandHandlerFilterImagesOrVideos::NewL()
{
T_CGlxCommandHandlerFilterImagesOrVideos* self = T_CGlxCommandHandlerFilterImagesOrVideos::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -49,9 +48,7 @@
{
T_CGlxCommandHandlerFilterImagesOrVideos* self = new( ELeave ) T_CGlxCommandHandlerFilterImagesOrVideos();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_glxcommandhandlerback/Src/t_cglxcommandhandlerback.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/t_glxcommandhandlerback/Src/t_cglxcommandhandlerback.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -36,8 +36,7 @@
{
EUNIT_PRINT(_L("t_cglxcommandhandlerback::NewL()"));
t_cglxcommandhandlerback* self = t_cglxcommandhandlerback::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -46,9 +45,7 @@
EUNIT_PRINT(_L("ut_cglxcommandhandlerback::NewLC()"));
t_cglxcommandhandlerback* self = new( ELeave ) t_cglxcommandhandlerback();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -83,10 +80,8 @@
iMediaList = MGlxMediaList::InstanceL(*path);
if(iMediaList)
{
-
// Attribute to be used
TMPXAttribute attrTitle(KMPXMediaGeneralTitle);
- //TMPXAttribute attrCount(KMPXMediaGeneralCount);
// add a static items
TGlxMediaId testId(12345);
@@ -105,7 +100,7 @@
CleanupStack::Pop(newMedia2);
}
- CleanupStack::PopAndDestroy(); // path
+ CleanupStack::PopAndDestroy( path );
}
MGlxMediaList& t_cglxcommandhandlerback::MediaList()
@@ -138,15 +133,12 @@
void t_cglxcommandhandlerback::SetupPreviousNaviViewChWithoutMlL( )
{
EUNIT_PRINT(_L("t_cglxcommandhandlerback::SetupPreviousNaviViewChWithoutMlL( )"));
- // iCommand = CGlxCommandHandlerBack::NewPreviousNaviViewCommandHandlerL();
}
void t_cglxcommandhandlerback::SetupPreviousNaviViewChWithMlL( )
{
EUNIT_PRINT(_L("t_cglxcommandhandlerback::SetupPreviousNaviViewChWithMlL( )"));
CreateMediaListL();
-
- // iCommand = CGlxCommandHandlerBack::NewPreviousNaviViewCommandHandlerL(this);
}
void t_cglxcommandhandlerback::SetupContainerPreviousViewChWithoutViewId( )
--- a/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/ut_propertycommandhandlers/src/ut_propertycommandhandlers.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/commoncommandhandlers/tsrc/ut_propertycommandhandlers/src/ut_propertycommandhandlers.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -43,9 +43,6 @@
{
// Replace the existing value
TValue& value = iValues[i];
- // COMMENTED OUT SINCE NOT EXPORTED
- //Delete(value);
-
value.iValue = ptr; // Takes ownership
value.iType = EMPXTypeTObject;
}
@@ -265,8 +262,7 @@
UT_propertycommandhandlers* UT_propertycommandhandlers::NewL()
{
UT_propertycommandhandlers* self = UT_propertycommandhandlers::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -274,9 +270,7 @@
{
UT_propertycommandhandlers* self = new( ELeave ) UT_propertycommandhandlers();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -305,9 +299,6 @@
void UT_propertycommandhandlers::SetupL( )
{
- //MMPXCollectionUtility* collectionUtility = MMPXCollectionUtility::NewL(NULL, KMcModeDefault);
- //CMPXCollectionPath* path ;//= collectionUtility->Collection().PathL();
- //iML = MGlxMediaList::InstanceL(*path,NULL);
iMediaList = new (ELeave) _CGlxTestMediaList;
iMediaList->AppendL(0, ETrue);
iMediaList->AppendL(1, ETrue);
--- a/photosgallery/viewframework/commandhandlers/tsrc/ut__commandhandlermarking/src/t_glxcommandhandlermarking.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/tsrc/ut__commandhandlermarking/src/t_glxcommandhandlermarking.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -242,7 +242,7 @@
CGlxMarkingCommandHandlerTester* me = new(ELeave)CGlxMarkingCommandHandlerTester();
CleanupStack::PushL(me);
me->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( me );
return me;
}
@@ -306,8 +306,7 @@
ut__commandhandlermarking* ut__commandhandlermarking::NewL()
{
ut__commandhandlermarking* self = ut__commandhandlermarking::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -315,9 +314,7 @@
{
ut__commandhandlermarking* self = new( ELeave ) ut__commandhandlermarking();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxcommandhandlerdrm.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxcommandhandlerdrm.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -121,8 +121,7 @@
T_GlxCommandHandlerDRM* T_GlxCommandHandlerDRM::NewL()
{
T_GlxCommandHandlerDRM* self = T_GlxCommandHandlerDRM::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -130,9 +129,7 @@
{
T_GlxCommandHandlerDRM* self = new( ELeave ) T_GlxCommandHandlerDRM();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummydrmutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummydrmutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -31,7 +31,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL( const TDesC& aUri, TBool )
+TBool CGlxDRMUtility::ItemRightsValidityCheckL( const TDesC& aUri, TBool )
{
TBool rightsInvalid = ETrue;
--- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummyhuiutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlerdrm/src/t_glxdummyhuiutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -21,10 +21,8 @@
// INCLUDE FILES
#include <Alf/AlfControlGroup.h>
-//#include <Alf/AlfDisplayCoeControl.h>
#include <Alf/AlfDisplay.h>
#include <Alf/AlfUtil.h>
-//#include <Alf/AlfSkin.h>
#include <Alf/AlfEnv.h>
#include <Alf/AlfTexture.h>
#include <Alf/AlfTextureManager.h>
@@ -255,7 +253,7 @@
TSize /*aRequestedSize*/)
{
- CAlfTexture* texture = NULL; //CAlfTexture::NewL(iEnv,0);
+ CAlfTexture* texture = NULL;
return *texture;
}
@@ -270,7 +268,7 @@
{
// Create empty texture (not owned)
- CAlfTexture* texture = NULL; //CAlfTexture::NewL();
+ CAlfTexture* texture = NULL;
return *texture;
}
@@ -285,7 +283,7 @@
TInt& aTextureId )
{
// Create empty texture
- CAlfTexture* texture = NULL; //CAlfTexture::NewL();
+ CAlfTexture* texture = NULL;
return *texture;
}
--- a/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/src/t_glxcommandhandlermoreinfo.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/commandhandlers/tsrc/ut_commandhandlermoreinfo/src/t_glxcommandhandlermoreinfo.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -95,8 +95,7 @@
t_glxcommandhandlermoreinfo* t_glxcommandhandlermoreinfo::NewL()
{
t_glxcommandhandlermoreinfo* self = t_glxcommandhandlermoreinfo::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -104,9 +103,7 @@
{
t_glxcommandhandlermoreinfo* self = new( ELeave ) t_glxcommandhandlermoreinfo();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/dataprovider/inc/glxattributerequirement.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/inc/glxattributerequirement.h Wed Mar 31 21:31:03 2010 +0300
@@ -87,7 +87,6 @@
TGlxFromFocusOutwardIterator iFromFocusOutwardIterator;
TGlxFromManualIndexBlockyIterator iBlockyIterator;
- //RArray<CGlxAttributeContext*> iArributeContext;
RPointerArray<CGlxDefaultAttributeContext> iArributeContext;
RPointerArray<CGlxThumbnailContext> iThumbnailContext;
--- a/photosgallery/viewframework/dataprovider/src/glxbinding.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxbinding.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -207,7 +207,6 @@
CGlxSingleTagBinding::~CGlxSingleTagBinding()
{
TRACER("CGlxSingleTagBinding::~CGlxSingleTagBinding");
- //delete iMulTag;
}
// ----------------------------------------------------------------------------
@@ -217,7 +216,6 @@
void CGlxSingleTagBinding::BaseConstructL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/ )
{
TRACER("CGlxSingleTagBinding::BaseConstructL");
- //iMulTag = new ( ELeave ) UString( aMulTag );
iMulTag = aMulTag ;
}
@@ -329,7 +327,6 @@
{
TRACER("CGlxStringBinding::ConstructL");
BaseConstructL( aMulTag );
- //iString = new ( ELeave ) UString( aString );
}
// ----------------------------------------------------------------------------
--- a/photosgallery/viewframework/dataprovider/src/glxbindingset.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxbindingset.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -61,7 +61,6 @@
TRACER("CGlxBindingSet::AddBindingL");
__ASSERT_DEBUG( aBinding, User::Invariant() ); // null binding not accepted
iBindings.AppendL( aBinding );
- //CleanupStack ::Pop( aBinding );
aBinding->SetObserver( *this );
}
--- a/photosgallery/viewframework/dataprovider/src/glxcommandbindingutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxcommandbindingutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -25,7 +25,6 @@
#include <glxtracer.h>
#include <mul/mulvisualitem.h> // Client need to use this class to add data in data model
-//const char* const KCommandTagName = "cmd";
const int KCommandTagName = 200;
// ----------------------------------------------------------------------------
--- a/photosgallery/viewframework/dataprovider/src/glxcontainerlistbinding.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxcontainerlistbinding.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -246,8 +246,6 @@
CGlxBinding::TResponse CGlxContainerListBinding::HandleFocusChanged(
TBool /*aIsGained*/ )
{
- //@todo - Need further implementation
- //return aIsGained ? EUpdateRequested : ENoUpdateNeeded ;
//need to remove once bug ESPK-7G6GJX is fixed
return ENoUpdateNeeded ;
}
--- a/photosgallery/viewframework/dataprovider/src/glxdetailsboundcommand.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxdetailsboundcommand.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -523,14 +523,9 @@
TRACER("CGlxLocationBoundCommand::OfferCommandL");
iMedialist = &aMedialist;
TBool consumed = EFalse;
- //iAppUi = static_cast< CAknAppUi* >( CCoeEnv::Static()->AppUi() );
if ( aCommandId == KGlxEditBoundMenuCommandId )
{
iOnNaviKeySelect = ETrue;
- //iAppUi->ProcessCommandL( EGlxCmdOptions );
- //iOnNaviKeySelect = EFalse;
-
- /** Error Id ESWG-7LSE3W **/
//get the media item
const TGlxMedia& media = iMedialist->Item( 0 );
// Test to see if the coordinate is present
@@ -545,7 +540,6 @@
}
else
{
- /** Error Id EMPY-7MKDHP **/
/** Show menu pane options **/
if(iDialogObserver)
{
--- a/photosgallery/viewframework/dataprovider/src/glxdetailsmulmodelproviderimpl.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxdetailsmulmodelproviderimpl.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -240,7 +240,6 @@
iEntries[ aPreviousFocus ]->HandleFocusChanged( EFalse ) )
{
UpdateItems( aPreviousFocus, 1 );
- //UpdateItemL( *iEntries[ aPreviousFocus ], media, aPreviousFocus );
}
}
@@ -250,7 +249,6 @@
iEntries[ aNewFocus ]->HandleFocusChanged( ETrue ) )
{
UpdateItems( aNewFocus, 1 );
- //UpdateItemL( *iEntries[ aNewFocus ], media, aNewFocus );
}
}
}
--- a/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxmedialistmulmodelproviderimpl.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -199,9 +199,6 @@
TInt aEndIndex, MGlxMediaList* /*aList*/ )
{
TRACER("CGlxMediaListMulModelProviderImpl::HandleItemRemovedL");
- // hack of making the flag iIsReleventAttribute to Etrue will be removed
- // once the bug ESPK-7G6GJX
- //iIsReleventAttribute = ETrue;
RemoveItems( aStartIndex, aEndIndex - aStartIndex + 1 );
}
--- a/photosgallery/viewframework/dataprovider/src/glxmuliconprovider.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxmuliconprovider.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -44,7 +44,6 @@
TRACER("CGlxMulIconProvider::ConstructL");
iResFileName.Copy(KDC_APP_BITMAP_DIR);
iResFileName.Append(KGlxIconsFilename);
- //iResFileName.Copy(resFile);
}
// ----------------------------------------------------------------------------
@@ -272,7 +271,7 @@
TMPXGeneralCategory cat = aMedia.Category();
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
return EMbmGlxiconsQgn_prop_drm_rights_valid_super;
}
--- a/photosgallery/viewframework/dataprovider/src/glxpreviewthumbnailbinding.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxpreviewthumbnailbinding.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -282,7 +282,6 @@
//
void CGlxPreviewThumbnailBinding::TimerTicked()
{
- //iTimerTicked = ETrue;
TRACER("CGlxPreviewThumbnailBinding::TimerTicked");
iCurrentOrientationLandscape = GlxGeneralUiUtilities::IsLandscape();
@@ -296,12 +295,10 @@
iTimerTicked = ETrue;
iProgressIndex++;
Update();
- //iTimerTicked = EFalse;
}
else
{
iProgressIndex = KErrNotFound;
- //iStartedShowingThumbnails = EFalse;
}
}
@@ -504,7 +501,6 @@
void CGlxPreviewThumbnailBinding::HandleFocusChangedL( NGlxListDefs::
TFocusChangeType /*aType*/, TInt /*aNewIndex*/, TInt /*aOldIndex*/, MGlxMediaList* /*aList*/ )
{
- // HandleFocusChanged(ETrue);
TRACER("CGlxPreviewThumbnailBinding::HandleFocusChangedL");
}
--- a/photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/dataprovider/src/glxthumbnailvarianttype.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -32,6 +32,7 @@
#include <glxtracer.h>
#include <glxdrmutility.h>
#include <mglxmedialist.h>
+#include <caf/caferr.h>
_LIT(KGlxIconsFilename, "glxicons.mif");
@@ -130,21 +131,22 @@
{
GLX_DEBUG1("GlxThumbnailVariantType::CreateThumbnailTextureL");
TMPXGeneralCategory cat = aMedia.Category();
+ //Check if media is DRM rights protected
if(drm)
{
- //Fix for ESLM-82WJ59: call 'CheckDisplayRightsL' only for focused item
+ //call 'DisplayItemRightsCheckL' only for focused item
if(aIsFocused)
{
- expired = !iDrmUtility->CheckDisplayRightsL(uri, (cat == EMPXImage));
+ expired = !iDrmUtility->DisplayItemRightsCheckL(uri, (cat == EMPXImage));
}
else
{
- //Fix for ESLM-82WJ59: for validity check of non-focused item
- expired = !iDrmUtility->CheckOpenRightsL(uri, (cat == EMPXImage));
+ //call 'ItemRightsValidityCheckL' for validity check of non-focused item
+ expired = !iDrmUtility->ItemRightsValidityCheckL(uri, (cat == EMPXImage));
}
- //Fix for ESLM-82WJ59: mush easier to understand.
+ //Check If DRM rights have expired.
if( expired )
{
TRAP( err, mTextureId = iUiUtility->GlxTextureManager().CreateIconTextureL(
@@ -176,7 +178,8 @@
}
else if ( (KErrNone == thumbnailError) || (KErrArgument == thumbnailError)
|| (KErrDiskFull == thumbnailError) || (KErrNoMemory == thumbnailError)
- || ( drm && isValid == EGlxDrmRightsInvalid ) )
+ || ( drm && isValid == EGlxDrmRightsInvalid )
+ || thumbnailError == KErrCANoRights )
{
//Try and see if we can scale and show the grid tnm else show the default
TBool isGridTnmShown = EFalse;
--- a/photosgallery/viewframework/drmutility/bwins/glxdrmutilityu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/drmutility/bwins/glxdrmutilityu.def Wed Mar 31 21:31:03 2010 +0300
@@ -1,16 +1,16 @@
EXPORTS
?SetAsAutomatedL@CGlxDRMUtility@@QAEXABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 1 NONAME ; void CGlxDRMUtility::SetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
- ?CanSetAsAutomatedL@CGlxDRMUtility@@QAEHABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 2 NONAME ; int CGlxDRMUtility::CanSetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
- ?IsForwardLockedL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 3 NONAME ; int CGlxDRMUtility::IsForwardLockedL(class TDesC16 const &)
- ?CheckOpenRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 4 NONAME ; int CGlxDRMUtility::CheckOpenRightsL(class TDesC16 const &, int)
- ?ConsumeRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 5 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class TDesC16 const &)
- ?CheckDisplayRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 6 NONAME ; int CGlxDRMUtility::CheckDisplayRightsL(class TDesC16 const &, int)
+ ?DisplayItemRightsCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 2 NONAME ; int CGlxDRMUtility::DisplayItemRightsCheckL(class TDesC16 const &, int)
+ ?CanSetAsAutomatedL@CGlxDRMUtility@@QAEHABVTDesC16@@W4TGlxDrmAutomatedType@@@Z @ 3 NONAME ; int CGlxDRMUtility::CanSetAsAutomatedL(class TDesC16 const &, enum TGlxDrmAutomatedType)
+ ?IsForwardLockedL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 4 NONAME ; int CGlxDRMUtility::IsForwardLockedL(class TDesC16 const &)
+ ?ClearLastConsumedItemUriL@CGlxDRMUtility@@QAEXXZ @ 5 NONAME ; void CGlxDRMUtility::ClearLastConsumedItemUriL(void)
+ ?ConsumeRightsL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 6 NONAME ; int CGlxDRMUtility::ConsumeRightsL(class TDesC16 const &)
?ShowRightsInfoL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 7 NONAME ; void CGlxDRMUtility::ShowRightsInfoL(class TDesC16 const &)
?InstanceL@CGlxDRMUtility@@SAPAV1@XZ @ 8 NONAME ; class CGlxDRMUtility * CGlxDRMUtility::InstanceL(void)
- ?ClearLastConsumedItemUri@CGlxDRMUtility@@QAEXXZ @ 9 NONAME ; void CGlxDRMUtility::ClearLastConsumedItemUri(void)
+ ?ShowInfoOnlineL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 9 NONAME ; void CGlxDRMUtility::ShowInfoOnlineL(class TDesC16 const &)
?ShowDRMDetailsPaneL@CGlxDRMUtility@@QAEXABVTDesC16@@@Z @ 10 NONAME ; void CGlxDRMUtility::ShowDRMDetailsPaneL(class TDesC16 const &)
- ?ShowInfoOnlineL@CGlxDRMUtility@@QAEXAAVTDesC16@@@Z @ 11 NONAME ; void CGlxDRMUtility::ShowInfoOnlineL(class TDesC16 &)
+ ?CanShowInfoOnlineL@CGlxDRMUtility@@QAEHABVTDesC16@@@Z @ 11 NONAME ; int CGlxDRMUtility::CanShowInfoOnlineL(class TDesC16 const &)
?DRMThumbnailSize@CGlxDRMUtility@@QAE?AVTSize@@AAV2@@Z @ 12 NONAME ; class TSize CGlxDRMUtility::DRMThumbnailSize(class TSize &)
- ?CanShowInfoOnlineL@CGlxDRMUtility@@QAEHAAVTDesC16@@@Z @ 13 NONAME ; int CGlxDRMUtility::CanShowInfoOnlineL(class TDesC16 &)
+ ?ItemRightsValidityCheckL@CGlxDRMUtility@@QAEHABVTDesC16@@H@Z @ 13 NONAME ; int CGlxDRMUtility::ItemRightsValidityCheckL(class TDesC16 const &, int)
?Close@CGlxDRMUtility@@QAEXXZ @ 14 NONAME ; void CGlxDRMUtility::Close(void)
--- a/photosgallery/viewframework/drmutility/eabi/glxdrmutilityu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/drmutility/eabi/glxdrmutilityu.def Wed Mar 31 21:31:03 2010 +0300
@@ -1,16 +1,16 @@
EXPORTS
_ZN14CGlxDRMUtility14ConsumeRightsLERK7TDesC16 @ 1 NONAME
_ZN14CGlxDRMUtility15SetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 2 NONAME
- _ZN14CGlxDRMUtility15ShowInfoOnlineLER7TDesC16 @ 3 NONAME
+ _ZN14CGlxDRMUtility15ShowInfoOnlineLERK7TDesC16 @ 3 NONAME
_ZN14CGlxDRMUtility15ShowRightsInfoLERK7TDesC16 @ 4 NONAME
- _ZN14CGlxDRMUtility16CheckOpenRightsLERK7TDesC16i @ 5 NONAME
- _ZN14CGlxDRMUtility16DRMThumbnailSizeER5TSize @ 6 NONAME
- _ZN14CGlxDRMUtility16IsForwardLockedLERK7TDesC16 @ 7 NONAME
- _ZN14CGlxDRMUtility18CanSetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 8 NONAME
- _ZN14CGlxDRMUtility18CanShowInfoOnlineLER7TDesC16 @ 9 NONAME
- _ZN14CGlxDRMUtility19CheckDisplayRightsLERK7TDesC16i @ 10 NONAME
- _ZN14CGlxDRMUtility19ShowDRMDetailsPaneLERK7TDesC16 @ 11 NONAME
- _ZN14CGlxDRMUtility24ClearLastConsumedItemUriEv @ 12 NONAME
+ _ZN14CGlxDRMUtility16DRMThumbnailSizeER5TSize @ 5 NONAME
+ _ZN14CGlxDRMUtility16IsForwardLockedLERK7TDesC16 @ 6 NONAME
+ _ZN14CGlxDRMUtility18CanSetAsAutomatedLERK7TDesC1620TGlxDrmAutomatedType @ 7 NONAME
+ _ZN14CGlxDRMUtility18CanShowInfoOnlineLERK7TDesC16 @ 8 NONAME
+ _ZN14CGlxDRMUtility19ShowDRMDetailsPaneLERK7TDesC16 @ 9 NONAME
+ _ZN14CGlxDRMUtility23DisplayItemRightsCheckLERK7TDesC16i @ 10 NONAME
+ _ZN14CGlxDRMUtility24ItemRightsValidityCheckLERK7TDesC16i @ 11 NONAME
+ _ZN14CGlxDRMUtility25ClearLastConsumedItemUriLEv @ 12 NONAME
_ZN14CGlxDRMUtility5CloseEv @ 13 NONAME
_ZN14CGlxDRMUtility9InstanceLEv @ 14 NONAME
--- a/photosgallery/viewframework/drmutility/inc/glxdrmutility.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/drmutility/inc/glxdrmutility.h Wed Mar 31 21:31:03 2010 +0300
@@ -83,23 +83,25 @@
/**
* Check whether DRM rights are valid for specified item
- *
+ * is called before right is consumed and for all items (focused or unfocused).
+ *
* @param aUri URI of the media item.
* @param aCheckViewRights, check view rights if true, play if false
* @return ETrue if valid rights exist for the media item.
*/
- IMPORT_C TBool CheckOpenRightsL(const TDesC& aUri, TBool aCheckViewRights);
+ IMPORT_C TBool ItemRightsValidityCheckL(const TDesC& aUri, TBool aCheckViewRights);
/**
* Check whether DRM rights are valid for specified item
* If the rights were just consumed, then allow to display
* Otherwise, obtain current rights
- *
+ * is called after right is consumed and for only focused/displayed item.
+ *
* @param aUri URI of the media item.
* @param aCheckViewRights, check view rights if true, play if false
* @return ETrue if valid rights exist for the media item.
*/
- IMPORT_C TBool CheckDisplayRightsL(const TDesC& aUri, TBool aCheckViewRights);
+ IMPORT_C TBool DisplayItemRightsCheckL(const TDesC& aUri, TBool aCheckViewRights);
/**
* Consume rights for specified item
@@ -111,10 +113,9 @@
IMPORT_C TBool ConsumeRightsL(const TDesC& aUri);
/**
- * Fix for ESLM-82WJ59:
* Clears Last Consumed Uri
*/
- IMPORT_C void ClearLastConsumedItemUri();
+ IMPORT_C void ClearLastConsumedItemUriL();
/**
* Test whether a media item is OMA DRM 2.0 protected and has an associated
@@ -122,13 +123,13 @@
* @param aUri URI of the media item.
* @return ETrue if it does.
*/
- IMPORT_C TBool CanShowInfoOnlineL(TDesC& aUri);
+ IMPORT_C TBool CanShowInfoOnlineL(const TDesC& aUri);
/**
* Open the associated info URL for a media item in the browser.
* @param aUri URI of the media item.
*/
- IMPORT_C void ShowInfoOnlineL(TDesC& aUri);
+ IMPORT_C void ShowInfoOnlineL(const TDesC& aUri);
/**
* Test whether a media item can be set as automated content. *
--- a/photosgallery/viewframework/drmutility/src/glxdrmutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/drmutility/src/glxdrmutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -121,17 +121,17 @@
}
//============================================================================
-// CheckOpenRightsL
-// Fix for ESLM-82WJ59:always call 'CheckOpenRightsL' only for checking DRM
-// rights validity for item.
+// ItemRightsValidityCheckL
+// for checking DRM rights validity for item.
+// is called before right is consumed and for all items (focused or unfocused).
//============================================================================
-EXPORT_C TBool CGlxDRMUtility::CheckOpenRightsL( const TDesC& aUri,
+EXPORT_C TBool CGlxDRMUtility::ItemRightsValidityCheckL( const TDesC& aUri,
TBool aCheckViewRights )
{
- TRACER("CGlxDRMUtility::CheckOpenRightsL()");
+ TRACER("CGlxDRMUtility::ItemRightsValidityCheckL()");
// When checking current rights for a URI
- // Fix for ESLM-82WJ59: Allow to Open if rights for a URI was just consumed (i.e. same as stored URI)
+ //Allow to Open if rights for a URI was just consumed (i.e. same as stored URI)
if ( iLastConsumedItemUri->Length() > 0 )
{
if ( aUri.CompareF( *iLastConsumedItemUri ) == 0 )
@@ -140,7 +140,7 @@
}
}
- // Fix for ESLM-82WJ59: Else for uri of non-focused uri, just check validity rights
+ //Else for uri of non-focused uri, just check validity rights
TBool rightsValid = EFalse;
TVirtualPathPtr path( aUri, KDefaultContentObject() );
@@ -154,13 +154,13 @@
}
//============================================================================
-// CheckDisplayRightsL
-// Fix for ESLM-82WJ59:always call 'CheckDisplayRightsL' only for focused item.
+// DisplayItemRightsCheckL
+// is called after right is consumed and for only focused/displayed item.
//============================================================================
-EXPORT_C TBool CGlxDRMUtility::CheckDisplayRightsL( const TDesC& aUri,
+EXPORT_C TBool CGlxDRMUtility::DisplayItemRightsCheckL( const TDesC& aUri,
TBool aCheckViewRights )
{
- TRACER("CGlxDRMUtility::CheckDisplayRightsL()");
+ TRACER("CGlxDRMUtility::DisplayItemRightsCheckL()");
// Allow to display if rights for a URI was just consumed (i.e. same as stored URI)
if ( iLastConsumedItemUri->Length() > 0 )
@@ -171,11 +171,11 @@
}
}
- //Fix for ESLM-82WJ59: Clear the stored uri since focus has changed
- ClearLastConsumedItemUri();
+ //Clear the stored uri since focus has changed
+ ClearLastConsumedItemUriL();
// Otherwise, check current rights for the URI of newly focused item
- return CheckOpenRightsL( aUri, aCheckViewRights );
+ return ItemRightsValidityCheckL( aUri, aCheckViewRights );
}
//============================================================================
@@ -190,15 +190,15 @@
// Tell the agent we are planning to display the content
CData* data = CData::NewLC(path, ContentAccess::EView, EContentShareReadOnly);
- //Fix for ESLM-82WJ59: When consuming rights for a URI, clear stored URI
- ClearLastConsumedItemUri();
+ //When consuming rights for a URI, clear stored URI
+ ClearLastConsumedItemUriL();
// Execute the intent, tell the agent that we plan to display the content
// It is at this point that any stateful rights will be decremented
TInt err = data->ExecuteIntent(ContentAccess::EView);
if ( err == KErrNone )
{
- //Fix for ESLM-82WJ59: Update stored URI
+ //Update stored URI
iLastConsumedItemUri = iLastConsumedItemUri->ReAllocL( aUri.Length() );
TPtr newPtr = iLastConsumedItemUri->Des();
newPtr.Copy( aUri );
@@ -210,14 +210,13 @@
}
//============================================================================
-//Fix for ESLM-82WJ59:
//Clears Last Consumed Uri
//============================================================================
-EXPORT_C void CGlxDRMUtility::ClearLastConsumedItemUri()
+EXPORT_C void CGlxDRMUtility::ClearLastConsumedItemUriL()
{
//clears the stored uri
- TPtr aPtr = iLastConsumedItemUri->Des();
- aPtr.Zero();
+ TPtr ptr = iLastConsumedItemUri->Des();
+ ptr.Zero();
iLastConsumedItemUri = iLastConsumedItemUri->ReAllocL( 0 );
}
@@ -225,13 +224,13 @@
// Test whether a media item is OMA DRM 2.0 protected and has an associated
// info URL.
//============================================================================
-EXPORT_C TBool CGlxDRMUtility::CanShowInfoOnlineL(TDesC& aUri)
+EXPORT_C TBool CGlxDRMUtility::CanShowInfoOnlineL(const TDesC& aUri)
{
TRACER("CGlxDRMUtility::CanShowInfoOnlineL()");
TBool canShowInfoOnline = EFalse;
HBufC8* urlBuf = NULL;
- canShowInfoOnline = iDrmHelper->HasInfoUrlL(aUri, urlBuf);
+ canShowInfoOnline = iDrmHelper->HasInfoUrlL( const_cast<TDesC&>(aUri) , urlBuf);
// discard buf we don't need it
delete urlBuf;
@@ -242,10 +241,10 @@
//============================================================================
// Open the associated info URL for a media item in the browser.
//============================================================================
-EXPORT_C void CGlxDRMUtility::ShowInfoOnlineL(TDesC& aUri)
+EXPORT_C void CGlxDRMUtility::ShowInfoOnlineL(const TDesC& aUri)
{
TRACER("CGlxDRMUtility::ShowInfoOnlineL()");
- iDrmHelper->OpenInfoUrlL(aUri);
+ iDrmHelper->OpenInfoUrlL( const_cast<TDesC&>(aUri) );
}
//============================================================================
@@ -305,7 +304,7 @@
{
TRACER("CGlxDRMUtility::ShowDRMDetailsPaneL()");
TRAPD( err, iDrmHelper->LaunchDetailsViewEmbeddedL( aUri ) );
- // if no rights ask user to re-activate?
+ // if no rights ask user to re-activate
if( err == KErrCANoRights )
{
HBufC* buf = aUri.AllocLC();
--- a/photosgallery/viewframework/layouts/inc/glxblendlayout.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2008-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: Layout blender
-*
-*/
-
-
-
-
-#ifndef C_GLXBLENDLAYOUTBLEND_H
-#define C_GLXBLENDLAYOUTBLEND_H
-
-#include <glxlayout.h>
-
-/**
- * TGlxBlendLayout
- *
- * Blender of multiple MGlxLayouts based on coefficients
- *
- * @lib glxlayouts.lib
- */
-
-//@TODO : Class wont be used - To be removed
-class TGlxBlendLayout : public TGlxLayout
- {
- public:
-
- /**
- * Constructor, reset the values
- */
- IMPORT_C TGlxBlendLayout();
-
- /**
- * Destructor
- */
- IMPORT_C ~TGlxBlendLayout();
-
- /**
- * Add a layout to be blended
- * @param aLayout the layout to add, cannot be NULL
- */
- IMPORT_C void AddLayoutL( MGlxLayout* aLayout );
-
- /**
- * Remove an existing layout
- * @param aLayout the layout to remove
- */
- IMPORT_C void RemoveLayout( const MGlxLayout* aLayout );
-
- /**
- * Remove all existing layouts
- */
- IMPORT_C void RemoveAllLayouts();
-
- protected: // From TGlxLayout
-
- /// @ref TGlxLayout::DoSetLayoutValues
- void DoSetLayoutValues( TGlxLayoutInfo& aInfo );
- /// @ref TGlxLayout::DoChanged
- TBool DoChanged() const;
- /// @ref TGlxLayout::DoClearChanged
- void DoClearChanged();
-
- private:
-
- /**
- * Helper struct to store the layout and layout info
- */
- struct TLayout
- {
- /// Ref: the layout
- MGlxLayout* iLayout;
- /// Own: the layoutinfo for the layout
- TGlxLayoutInfoResetter iLayoutInfo;
- /**
- * Helper to tell whether two TLayout structs match
- */
- static TBool Match( const TLayout& aLhs, const TLayout& aRhs );
- };
- /// Own: array of cached layout infos
- RArray< TLayout > iLayouts;
-
- /**
- * Changed flag to remember whether any layouts have been added or removed
- * since the las call to DoClearChanged
- */
- TBool iChanged;
- };
-
-#endif // C_GLXBLENDLAYOUTBLEND_H
--- a/photosgallery/viewframework/layouts/inc/glxsetcoefficientlayout.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2008-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: Set coefficient layout
-*
-*/
-
-
-
-
-#ifndef T_GLXSETCOEFFICIENTLAYOUT_H
-#define T_GLXSETCOEFFICIENTLAYOUT_H
-
-#include <glxlayout.h>
-#include <alf/alfTimedValue.h>
-
-/**
- * TGlxSetCoefficientLayout
- *
- * Resets the coefficient to a defined value.
- * The value can be animated.
- *
- * @lib glxlayouts.lib
- */
-class TGlxSetCoefficientLayout : public TGlxLayout
- {
- public:
-
- /**
- * Constructor.
- */
- IMPORT_C TGlxSetCoefficientLayout();
-
- /**
- * Destructor.
- */
- IMPORT_C ~TGlxSetCoefficientLayout();
-
- /**
- * Set layout type to which the coefficient is set
- * @param aType the layout type, see @ref TGlxLayoutInfo::TLayoutType
- */
- IMPORT_C void SetType( TGlxLayoutInfo::TLayoutType aType );
-
- /**
- * SetCoefficient.
- * @param aCoefficient the value to set
- * @param aMilliseconds the target time for the coefficient value
- */
- IMPORT_C void SetCoefficient( TReal32 aCoefficient, TInt aMilliseconds );
-
- protected: // From TGlxLayout
-
- /// @ref TGlxLayout::DoSetLayoutValues
- void DoSetLayoutValues( TGlxLayoutInfo& aInfo );
- /// @ref TGlxLayout::DoChanged
- TBool DoChanged() const;
- /// @ref TGlxLayout::DoClearChanged
- void DoClearChanged();
-
- private:
-
- /// Own: the type of the layout
- TGlxLayoutInfo::TLayoutType iType;
- /// Own: the timed value for the coefficient
- TAlfTimedValue iCoefficient;
-
- };
-
-#endif // T_GLXSETCOEFFICIENTLAYOUT_H
--- a/photosgallery/viewframework/layouts/inc/glxzoomlayoutbase.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2008-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: Definition of TGlxZoomLayoutBase
-*
-*/
-
-
-
-
-#ifndef GLXZOOMLAYOUTBASE_H
-#define GLXZOOMLAYOUTBASE_H
-
-// INCLUDES
-
-#include <glxlayout.h>
-
-// FORWARD DECLARATIONS
-
-struct TAlfRealRect;
-
-// CLASS DECLARATION
-
-/**
-* Abtract base class for zooming layouts. Sets layout values based on
-* coordinates provided by the derived class.
-*
-* @internal reviewed 06/06/2007 by Kimmo Hoikka
-*/
-class TGlxZoomLayoutBase : public TGlxLayout
- {
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- IMPORT_C TGlxZoomLayoutBase();
-
- /**
- * Destructor.
- */
- IMPORT_C ~TGlxZoomLayoutBase();
-
- public: // New functions
-
- /**
- * Set the image dimensions.
- * @param aDimensions Dimensions of the image being zoomed (in pixels)
- */
- IMPORT_C void SetImageDimensions(const TSize& aDimensions);
- /**
- * Get the image dimensions.
- * @return const TSize& Dimensions of the image being zoomed (in pixels)
- */
- IMPORT_C const TSize& ImageDimensions() const;
-
- /**
- * Get current zoom and pan values. The returned rectangle is relative
- * to the screen, ie. if the width is 2, the visual should be twice the
- * width of the screen, and if the centre of the rectangle is (0, 0) the
- * visual should be centred on the screen. If the rectangle is
- * (-0.5, -0.5) - (0.5, 0.5) then the visual should exactly fill the
- * screen.
- * @param aRect Reference to rect in which to return coords.
- */
- virtual void GetCurrentCoords(TAlfRealRect& aRect) = 0;
- /**
- * Get "predicted" zoom and pan values. These are the values that would
- * eventually be reached if the user released all zoom/pan keys now.
- * @param aRect Reference to rect in which to return coords.
- */
- virtual void GetPredictedCoords(TAlfRealRect& aRect) = 0;
-
- protected: // From TGlxLayout
-
- /** See @ref TGlxLayout::DoSetLayoutValues */
- IMPORT_C void DoSetLayoutValues(TGlxLayoutInfo& aInfo);
- /** See @ref TGlxLayout::DoChanged */
- IMPORT_C TBool DoChanged() const;
- /** See @ref TGlxLayout::DoClearChanged */
- IMPORT_C void DoClearChanged();
-
- protected: // Data
- /** Dimensions of the image being zoomed (in pixels) */
- TSize iImageDimensions;
-
- private: // Data
- /** Whether the layout has changed since last refresh */
- TBool iChanged;
- };
-
-#endif // GLXZOOMLAYOUTBASE_H
-
-// End of File
--- a/photosgallery/viewframework/layouts/src/glxblendlayout.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* Copyright (c) 2008-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: Layout blender
-*
-*/
-
-
-
-
-#include "glxblendlayout.h"
-#include <glxpanic.h> // Panic codes
-
-// LOCAL METHODS
-namespace
- {
- // helper method to calculate coefficiency for given field
- TReal32 GetCoefficiency(
- TGlxLayoutInfo& aBaseInfo,
- TGlxLayoutInfo& aDeltaInfo,
- TGlxLayoutInfo::TLayoutType aType,
- TInt aIndex )
- {
- /*
- // position, get coefficients
- //TReal32 new_coeff = aDeltaInfo.Coefficient( aType );
- //TReal32 combined_coeff = aBaseInfo.Coefficient( aType );
- // check if this is the first layout chain in the blender
- // and full coefficiency has not been yet reached
- if( aIndex == 0 && combined_coeff < 1.0 )
- {
- // increase the coefficient to reach 1.0
- new_coeff = 1.0 - combined_coeff;
- aBaseInfo.SetCoefficient( aType, 1.0 );
- }
- // if the coefficient was bigger than zero
- // and full coefficiency has not been yet reached
- else if( new_coeff > 0.0 && combined_coeff < 1.0 )
- {
- // dont allow coefficient to exceed 1.0
- if( new_coeff > ( 1.0 - combined_coeff ) )
- {
- new_coeff = 1.0 - combined_coeff;
- }
- // increase the coefficient
- aBaseInfo.SetCoefficient( aType, combined_coeff + new_coeff );
- }
- else
- {
- // coefficient over or underflow
- new_coeff = 0;
- }
- return new_coeff;*/
- }
- }
-
-// -----------------------------------------------------------------------------
-// Constructor
-// -----------------------------------------------------------------------------
-EXPORT_C TGlxBlendLayout::TGlxBlendLayout()
- : iChanged( EFalse ) // blender not is changed by default
- {
- __DEBUG_ONLY( _iName = _L( "TGlxBlendLayout" ) );
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-EXPORT_C TGlxBlendLayout::~TGlxBlendLayout ()
- {
- iLayouts.Close();
- }
-
-// -----------------------------------------------------------------------------
-// AddLayoutL
-// -----------------------------------------------------------------------------
-EXPORT_C void TGlxBlendLayout::AddLayoutL( MGlxLayout* aLayout )
- {
- // layout must not be null
- __ASSERT_DEBUG( aLayout, Panic( EGlxPanicNullLayout ) );
- // create layout struct
- TLayout cache;
- cache.iLayout = aLayout;
- __ASSERT_DEBUG(
- iLayouts.Find( cache, TLayout::Match ) == KErrNotFound,
- Panic( EGlxPanicAlreadyAdded ) );
-
- // cant set anything sane to layout info at this point
- iLayouts.AppendL( cache );
- iChanged = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// RemoveLayout
-// -----------------------------------------------------------------------------
-EXPORT_C void TGlxBlendLayout::RemoveLayout( const MGlxLayout* aLayout )
- {
- TInt count = iLayouts.Count();
- for( TInt i = 0; i < count; i++ )
- {
- if( iLayouts[ i ].iLayout == aLayout )
- {
- // Found it, remove
- iLayouts.Remove( i );
- iChanged = ETrue;
- return;
- }
- }
- // its ok to remove a layout that was already gone, no harm done there
- }
-
-// -----------------------------------------------------------------------------
-// RemoveAllLayouts
-// -----------------------------------------------------------------------------
-EXPORT_C void TGlxBlendLayout::RemoveAllLayouts()
- {
- iLayouts.Close();
- }
-
-// -----------------------------------------------------------------------------
-// MapValue
-// -----------------------------------------------------------------------------
-void TGlxBlendLayout::DoSetLayoutValues( TGlxLayoutInfo& aInfo )
- {
- /*
- TInt count = iLayouts.Count();
- // first set each layouts info fields correctly
- for( TInt i = 0; i < count; i++ )
- {
- // reset the values for the layout info
- //iLayouts[ i ].iLayoutInfo.Reset( aInfo.Index() );
- //iLayouts[ i ].iLayoutInfo.SetVisual( aInfo.Visual() );
- //iLayouts[ i ].iLayoutInfo.SetScreenInfo( aInfo.ScreenInfo() );
- }
-
- // process each layout
- for( TInt i = 0; i < count; i++ )
- {
- // call the layout (chain) to perform the processing for their own info
- iLayouts[ i ].iLayout->SetLayoutValues( iLayouts[ i ].iLayoutInfo );
- }
-
- // reset completely the aInfo fields and its coefficients
- // we use the coefficient fields to know when we have enough values for
- // certain field (coefficient reaches 1.0)
- // we need to reset the base values as the cached values in layout chains
- // had default values (which may not ne 0 for all fields)
- aInfo.iPosition.iX = 0;
- aInfo.iPosition.iY = 0;
- aInfo.SetCoefficient( TGlxLayoutInfo::EPosition, 0 );
- aInfo.iSize.iX = 0;
- aInfo.iSize.iY = 0;
- aInfo.SetCoefficient( TGlxLayoutInfo::ESize, 0 );
- aInfo.iOpacity = 0;
- aInfo.SetCoefficient( TGlxLayoutInfo::EOpacity, 0 );
- aInfo.iRotation = 0;
- aInfo.SetCoefficient( TGlxLayoutInfo::ERotation, 0 );
-
- // then merge the values according to coefficients
- // need to process in reverse order since layout in index 0
- // has the strongest effect
- for( TInt i = count - 1; i >= 0; i-- )
- {
- // position, get coefficient
- TReal32 new_coeff = GetCoefficiency(
- aInfo, iLayouts[ i ].iLayoutInfo,
- TGlxLayoutInfo::EPosition, i );
- // if the coefficient was bigger than zero
- if( new_coeff > 0.0 )
- {
- // add new position, multiplied with the coefficient
- aInfo.iPosition.iX +=
- iLayouts[ i ].iLayoutInfo.iPosition.iX * new_coeff;
- aInfo.iPosition.iY +=
- iLayouts[ i ].iLayoutInfo.iPosition.iY * new_coeff;
- }
-
- // size, get coefficient
- new_coeff = GetCoefficiency(
- aInfo, iLayouts[ i ].iLayoutInfo,
- TGlxLayoutInfo::ESize, i );
- // if the coefficient was bigger than zero
- if( new_coeff > 0.0 )
- {
- // add new size, multiplied with the coefficient
- aInfo.iSize.iX +=
- iLayouts[ i ].iLayoutInfo.iSize.iX * new_coeff;
- aInfo.iSize.iY +=
- iLayouts[ i ].iLayoutInfo.iSize.iY * new_coeff;
- }
-
- // opacity, get coefficient
- new_coeff = GetCoefficiency(
- aInfo, iLayouts[ i ].iLayoutInfo,
- TGlxLayoutInfo::EOpacity, i );
- if( new_coeff > 0.0 )
- {
- // add new opacity, multiplied with the coefficient
- aInfo.iOpacity +=
- iLayouts[ i ].iLayoutInfo.iOpacity * new_coeff;
- }
-
- // rotation, get coefficient
- new_coeff = GetCoefficiency(
- aInfo, iLayouts[ i ].iLayoutInfo,
- TGlxLayoutInfo::ERotation, i );
- if( new_coeff > 0.0 )
- {
- // add new rotation, multiplied with the coefficient
- aInfo.iRotation +=
- iLayouts[ i ].iLayoutInfo.iRotation * new_coeff;
- }
- } */
- }
-
-// -----------------------------------------------------------------------------
-// DoChanged
-// -----------------------------------------------------------------------------
-TBool TGlxBlendLayout::DoChanged() const
- {
- // See if even one layout has changed
- /// @todo consider adding the index of current visual to the Changed call
-/* TInt count = iLayouts.Count();
- for( TInt i = 0; i < count; i++ )
- {
- if( iLayouts[ i ].iLayout->Changed() )
- {
- return ETrue;
- }
- }
-
- return iChanged;
-*/ }
-
-// -----------------------------------------------------------------------------
-// DoClearChanged
-// -----------------------------------------------------------------------------
-void TGlxBlendLayout::DoClearChanged()
- {
- TInt count = iLayouts.Count();
- for( TInt i = 0; i < count; i++ )
- {
-// iLayouts[ i ].iLayout->ClearChanged();
- }
-
- iChanged = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// TLayout::Match
-// -----------------------------------------------------------------------------
-TBool TGlxBlendLayout::TLayout::Match( const TLayout& aLhs, const TLayout& aRhs )
- {
- return aLhs.iLayout == aRhs.iLayout;
- }
--- a/photosgallery/viewframework/layouts/src/glxlayoutsplitter.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/layouts/src/glxlayoutsplitter.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -62,8 +62,6 @@
{
// Call SetVisualListL first
__ASSERT_DEBUG( iVisualList, Panic( EGlxPanicNullVisualList ) );
- // to replace EGlxPanicNullCHuiVisual
- //__ASSERT_DEBUG( aVisual && aLayout, Panic( EGlxPanicNullCAlfVisual ) );
// search if there already is a layout for this visual
__DEBUG_ONLY( TLayout temp;temp.iVisual = aVisual; );
__ASSERT_DEBUG(
@@ -89,7 +87,7 @@
{
iLayouts.Remove( index );
}
- // NOTE! it is ok to try to remove a layout from visual when there was none
+ // NOTE: it is ok to try to remove a layout from visual when there was none
}
// -----------------------------------------------------------------------------
--- a/photosgallery/viewframework/layouts/src/glxsetcoefficientlayout.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2008-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: Set coefficient layout
-*
-*/
-
-
-
-
-#include "glxsetcoefficientlayout.h"
-
-// -----------------------------------------------------------------------------
-// Constructor
-// -----------------------------------------------------------------------------
-EXPORT_C TGlxSetCoefficientLayout::TGlxSetCoefficientLayout()
- {
- __DEBUG_ONLY( _iName = _L( "TGlxSetCoefficientLayout" ) );
-
- // by default set all coefficients
- iType = TGlxLayoutInfo::ELastEnum;
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-EXPORT_C TGlxSetCoefficientLayout::~TGlxSetCoefficientLayout()
- {
- // Do nothing
- }
-
-// -----------------------------------------------------------------------------
-// SetType
-// -----------------------------------------------------------------------------
-EXPORT_C void TGlxSetCoefficientLayout::SetType( TGlxLayoutInfo::TLayoutType aType )
- {
- iType = aType;
- }
-
-// -----------------------------------------------------------------------------
-// SetCoefficient
-// -----------------------------------------------------------------------------
-EXPORT_C void TGlxSetCoefficientLayout::SetCoefficient(
- TReal32 aCoefficient, TInt aMilliseconds)
- {
-// iCoefficient.Set( aCoefficient, aMilliseconds );
- }
-
-// -----------------------------------------------------------------------------
-// DoMapValue
-// -----------------------------------------------------------------------------
-void TGlxSetCoefficientLayout::DoSetLayoutValues( TGlxLayoutInfo& aInfo )
- {
- // set coefficient
- if( iType == TGlxLayoutInfo::ELastEnum )
- {
- // set them all
- for( TInt i = 0; i < TGlxLayoutInfo::ELastEnum; i++ )
- {
- // need to cast the index to enum type for the compiler to be happy
-// aInfo.SetCoefficient(
-// (TGlxLayoutInfo::TLayoutType)i, iCoefficient.Now() );
- }
- }
- else
- {
- // just set the one specified
-// aInfo.SetCoefficient( iType, iCoefficient.Now() );
- }
- }
-
-// -----------------------------------------------------------------------------
-// DoChanged
-// -----------------------------------------------------------------------------
-TBool TGlxSetCoefficientLayout::DoChanged() const
- {
-// return iCoefficient.Changed();
- }
-
-// -----------------------------------------------------------------------------
-// DoClearChanged
-// -----------------------------------------------------------------------------
-void TGlxSetCoefficientLayout::DoClearChanged()
- {
-// iCoefficient.ClearChanged();
- }
-
--- a/photosgallery/viewframework/layouts/src/glxzoomlayoutbase.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* Copyright (c) 2008-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: Implementation of TGlxZoomLayoutBase
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "glxzoomlayoutbase.h"
-
-#include <alf/alftimedvalue.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that might leave.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TGlxZoomLayoutBase::TGlxZoomLayoutBase()
- {
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TGlxZoomLayoutBase::~TGlxZoomLayoutBase()
- {
- }
-
-// -----------------------------------------------------------------------------
-// SetImageDimensions
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TGlxZoomLayoutBase::SetImageDimensions(const TSize& aDimensions)
- {
- iImageDimensions = aDimensions;
- iChanged = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// ImageDimensions
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const TSize& TGlxZoomLayoutBase::ImageDimensions() const
- {
- return iImageDimensions;
- }
-
-// -----------------------------------------------------------------------------
-// DoSetLayoutValues
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void TGlxZoomLayoutBase::DoSetLayoutValues(TGlxLayoutInfo& aInfo)
- {
- TAlfRealRect rect;
- GetCurrentCoords(rect);
-
- // These checks on iImageDimensions width/height must occur after GetCurrentCoords,
- /* // since they may be changed as a result of the call to GetCurrentCoords
- if ( iImageDimensions.iWidth > 0 && iImageDimensions.iHeight > 0 )
- {
- // The previous layout in the chain has set the position and size for
- // the visual to fill the screen, so we base the values on that.
-
- // Now adjust according to zoom coordinates
- TAlfRealPoint centre = rect.Center();
- TReal32 width = aInfo.iScreenSize.iX * rect.Width();
- TReal32 height = aInfo.iScreenSize.iY * rect.Height();
-
- // Adjust size according to proportion of screen that image fills
- // Account for TGlxRotationLayout swapping width and height
- TAlfRealSize imageSize(iImageDimensions);
- TAlfRealSize screenSize(aInfo.ScreenInfo()->iWidth,
- aInfo.ScreenInfo()->iHeight);
- if ( screenSize.iHeight * imageSize.iWidth
- < imageSize.iHeight * screenSize.iWidth )
- {
- // Screen has wider aspect than image
- TReal32 sizeRatioX = (screenSize.iHeight * imageSize.iWidth)
- / (screenSize.iWidth * imageSize.iHeight);
- if ( aInfo.iRotation )
- {
- // Rotated
- height *= sizeRatioX;
- }
- else
- {
- // Normal
- width *= sizeRatioX;
- }
- }
- else
- {
- // Screen has taller aspect than image
- TReal32 sizeRatioY = (screenSize.iWidth * imageSize.iHeight)
- / (screenSize.iHeight * imageSize.iWidth);
- if ( aInfo.iRotation )
- {
- // Rotated
- width *= sizeRatioY;
- }
- else
- {
- // Normal
- height *= sizeRatioY;
- }
- }
-
- aInfo.iPosition.iX += centre.iX * aInfo.iSize.iX;
- aInfo.iPosition.iY += centre.iY * aInfo.iSize.iY;
- aInfo.iSize.iX = width;
- aInfo.iSize.iY = height;
- }
-*/
- }
-
-
-// End of File
--- a/photosgallery/viewframework/medialists/inc/glxcachemanager.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/inc/glxcachemanager.h Wed Mar 31 21:31:03 2010 +0300
@@ -55,8 +55,7 @@
*/
class CGlxCacheManager : public CBase,
public MGlxCache,
- public MGlxMediaPool,
- public MImageReadyCallBack
+ public MGlxMediaPool
#ifdef USE_S60_TNM
, public MThumbnailManagerObserver
#endif
@@ -184,9 +183,6 @@
//OOM
void ForceCleanupMedia(TGlxIdSpaceId aSpaceId,TGlxMediaId aId);
-public:
- void ImageSizeReady(TInt aError, const TSize aSz);
-
private:
/**
* Constructor
@@ -370,17 +366,16 @@
CAsyncCallBack* iMaintainCacheCallback;
RArray<TInt> iRequestedItemIndexes;
+
CGlxImageReader* iReader;
- TSize iImgSz;
- /**
- * Active scheduler wait object. (Owned)
- */
- CActiveSchedulerWait* iSchedulerWait;
+
// For image viewer, not own
- CGlxImageViewerManager* iImageViewerInstance;
+ CGlxImageViewerManager* iImageViewerInstance;
+
#ifdef USE_S60_TNM
CThumbnailManager* iTnEngine; // Own
- CMPXMedia* iMPXMedia;
+
+ CMPXMedia* iMPXMedia;
// Loading information
class TLoadingTN
--- a/photosgallery/viewframework/medialists/inc/glximagereader.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/inc/glximagereader.h Wed Mar 31 21:31:03 2010 +0300
@@ -24,51 +24,29 @@
class CFbsBitmap;
/**
- * Image Size observer.
- *
- * Callback interface for getting size information of a given image.
- */
-class MImageReadyCallBack
- {
-public:
- /**
- * Getting image size information is complete.
- *
- * @param aError Error code.
- * @param aSz Size of the image.
- */
- virtual void ImageSizeReady(TInt aError, const TSize aSz) = 0;
- };
-
-/**
* CGlxImageReader
*
* Image Attributes Reader
*
* @lib glxmedialists.lib
*/
-class CGlxImageReader : public CActive
+class CGlxImageReader : public CBase
{
private:
- static CGlxImageReader* NewLC(MImageReadyCallBack& aNotify);
- CGlxImageReader(MImageReadyCallBack& aNotify);
+ static CGlxImageReader* NewLC();
+ CGlxImageReader();
void ConstructL();
void GetFileTypeL(TDataType aMimeType);
-protected:
- void DoCancel();
- void RunL();
-
public:
- static CGlxImageReader* NewL(MImageReadyCallBack& aNotify);
+ static CGlxImageReader* NewL();
~CGlxImageReader();
TInt GetDRMRightsL(TInt aAttribute);
TInt GetFrameCount();
+ TSize GetDimensions();
private:
- MImageReadyCallBack& iNotify;
CImageDecoder* iImageDecoder;
- CFbsBitmap* iFrame;
CGlxImageViewerManager* iImgViewerMgr;
};
--- a/photosgallery/viewframework/medialists/inc/glxmedialist.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/inc/glxmedialist.h Wed Mar 31 21:31:03 2010 +0300
@@ -99,7 +99,10 @@
* @param aAttributes attributes to request for the items
* @param aDetailedSpecs attribute specifications
*/
- void AttributeRequestL(RArray<TInt>& aItemIndexes, RArray<TGlxMediaId>& aItemIds, RArray<TMPXAttribute>& aAttributes, CMPXAttributeSpecs*& aDetailedSpecs) const;
+ void AttributeRequestL(RArray<TInt>& aItemIndexes,
+ RArray<TGlxMediaId>& aItemIds,
+ RArray<TMPXAttribute>& aAttributes,
+ CMPXAttributeSpecs*& aDetailedSpecs) const;
/**
* Ordering function for attributes
--- a/photosgallery/viewframework/medialists/inc/mglxmedialist.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/inc/mglxmedialist.h Wed Mar 31 21:31:03 2010 +0300
@@ -159,17 +159,6 @@
virtual void RemoveContext(const MGlxFetchContext* aContext) = 0;
/**
- * Sets the specified contexts as highest priority contexts. Other
- * contexts will retain their relative priority order, but will have
- * less priority than the specified contexts.
- *
- * @param aContextIds Ids of the contexts to be set as highest priority.
- * Id at index 0 in the array is set to be the highest priority,
- * Id at index 1, the second highest, etc.
- */
-// virtual void SetContextAsHighestPriority(RArray<TGlxMediaListContextId> aContextIds) = 0;
-
- /**
* @returns the MPX collection utility that is bound to this list
*/
virtual MMPXCollection& Collection() const = 0;
--- a/photosgallery/viewframework/medialists/src/glxcache.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxcache.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -136,7 +136,12 @@
if (aMedia.IsSupported(KMPXMediaArrayContents))
{
- CMPXMediaArray* mediaArray = aMedia.ValueCObjectL<CMPXMediaArray>(KMPXMediaArrayContents);
+#ifdef _DEBUG
+ TTime startTime;
+ startTime.HomeTime();
+#endif
+ CMPXMediaArray* mediaArray = aMedia.ValueCObjectL<CMPXMediaArray> (
+ KMPXMediaArrayContents);
CleanupStack::PushL(mediaArray);
TInt arrayCount = mediaArray->Count();
@@ -147,6 +152,12 @@
}
CleanupStack::PopAndDestroy(mediaArray);
+#ifdef _DEBUG
+ TTime stopTime;
+ stopTime.HomeTime();
+ GLX_DEBUG2("=>CGlxCache::MediaUpdatedL() took <%d> us",
+ (TInt)stopTime.MicroSecondsFrom(startTime).Int64());
+#endif
}
else
{
@@ -191,7 +202,7 @@
CopyNewAndModifiedL(*item, aMedia, newAttributes);
}
- // Broadcast the new attributes to all observers of the item and the cache
+ // Broadcast the new attributes to all observers of the item
if (newAttributes.Count() > 0)
{
TInt count = item->UserCount();
@@ -199,9 +210,6 @@
{
item->User( i ).HandleAttributesAvailableL( item->IndexInUser( i ), newAttributes );
}
-
- // Broadcast to cache observers
- // iCacheManager->BroadcastAttributesAvailableL(iIdSpaceId, id, newAttributes, item);
}
CleanupStack::PopAndDestroy(&newAttributes);
--- a/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxcachemanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -55,8 +55,8 @@
/// @todo Find optimal value for this
const TInt KGlxTemporaryErrorRecheckPeriodInSeconds = 5;
-const TInt KGlxLowerMemoryLimitForCleanUp = 15000000;
-const TInt KGlxUpperMemoryLimitForCleanUp = 25000000;
+const TInt KGlxLowerMemoryLimitForCleanUp = 31500000; // 30 MB
+const TInt KGlxUpperMemoryLimitForCleanUp = 52500000; // 50 MB
const TInt KGlxNoOfPagesToFlushInCriticalLowMemory = 4;
// -----------------------------------------------------------------------------
// InstanceL
@@ -115,7 +115,6 @@
iGarbageCollector = CGlxGarbageCollector::NewL( iCaches );
iTempErrorTimer = CPeriodic::NewL(CActive::EPriorityStandard);
- iSchedulerWait = new (ELeave) CActiveSchedulerWait();
iMaintainCacheCallback = new ( ELeave )
CAsyncCallBack( TCallBack( MaintainCacheL, this ), CActive::EPriorityStandard );
@@ -133,7 +132,6 @@
{
TRACER("CGlxCacheManager::Destructor");
- delete iSchedulerWait;
iObserverList.ResetAndDestroy();
iCaches.ResetAndDestroy();
delete iTempThumbnail;
@@ -179,13 +177,8 @@
void CGlxCacheManager::HandleWindowChangedL(CGlxMediaList* /*aList*/)
{
TRACER("CGlxCacheManager::HandleWindowChangedL");
-
GLX_LOG_INFO("---- MGallery - CGlxCacheManager::HandleWindowChangedL()---- ");
-
iMaintainCacheCallback->CallBack();
- // Its Better if we are not Cleaning Cache here; Instaed Can Do inside MainTainCache
- //MaintainCacheL();
- //iGarbageCollector->Cleanup();
}
// -----------------------------------------------------------------------------
@@ -572,7 +565,7 @@
#ifdef USE_S60_TNM
if (iRequestedItemIndexes.Count())
{
- // Cancel Clean-up is needed here;
+ // Cancel Clean-up is needed here
HandleGarbageCollectionL(EFalse);
TSize tnSize;
@@ -675,7 +668,7 @@
attrSpecs->SetTObjectValueL<TInt>(thHandleAttrSpec, iTempThumbnail->Handle());
}
- // Cancel Clean-up is needed here;
+ // Cancel Clean-up is needed here
// This is Going to Highly Used Call
// Can Think about an Ulternative.
HandleGarbageCollectionL(EFalse);
@@ -785,11 +778,7 @@
if(!iReader)
{
- TRAP(errInImage,iReader = CGlxImageReader::NewL(*this));
- if(errInImage == KErrNone)
- {
- iSchedulerWait->Start();
- }
+ TRAP(errInImage, iReader = CGlxImageReader::NewL());
}
for ( TInt i = 0; i < iRequestedAttrs.Count(); i++ )
@@ -931,15 +920,15 @@
}
else if ( iRequestedAttrs[i] == KGlxMediaGeneralDimensions )
{
+ TSize dimensions = TSize();
if(errInImage == KErrNone)
{
//need to fetch the original file dimensions
- TSize dimensions(iImgSz.iWidth,iImgSz.iHeight);
+ dimensions = iReader->GetDimensions();
iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
}
else
{
- TSize dimensions(0,0);
iMPXMedia->SetTObjectValueL(KGlxMediaGeneralDimensions, dimensions);
}
}
@@ -1033,7 +1022,7 @@
TMPXAttribute thHandleAttrSpec(KGlxMediaIdThumbnail, KGlxAttribSpecThumbnailBitmapHandle);
attrSpecs->SetTObjectValueL<TInt>(thHandleAttrSpec, iTempThumbnail->Handle());
}
- // Cancel Clean-up is needed here;
+ // Cancel Clean-up is needed here
// This is Going to Highly Used Call
// Can Think about an Ulternative.
HandleGarbageCollectionL(EFalse);
@@ -1295,7 +1284,6 @@
{
if ( KErrNoMemory == err )
{
- //iGarbageCollector->Cleanup();
HandleGarbageCollectionL(ETrue);
}
@@ -1541,28 +1529,29 @@
User::LeaveIfError( session.Connect() );
CleanupClosePushL( session );
- TUid uid;
- User::LeaveIfError( session.AppForDocument( aFileName, uid, aMimeType ) );
- CleanupStack::PopAndDestroy(&session);
- }
+ if (iImageViewerInstance->IsPrivate())
+ {
+ TDataRecognitionResult result;
+ TInt err = session.RecognizeData(iImageViewerInstance->ImageFileHandle(), result);
+ GLX_DEBUG2("CGlxCacheManager::GetMimeTypeL(FileHandle) err=%d", err);
+ if (err == KErrNone)
+ {
+ aMimeType = result.iDataType;
+ }
+ }
+ else
+ {
+ TUid uid;
+ TDataType dataType;
+ TInt err = session.AppForDocument(aFileName, uid, dataType);
+ GLX_DEBUG2("CGlxCacheManager::GetMimeTypeL(FileName) err=%d", err);
-// -----------------------------------------------------------------------------
-// ImageSizeReady()
-// -----------------------------------------------------------------------------
-//
-void CGlxCacheManager::ImageSizeReady(TInt aError, const TSize aSz)
- {
- TRACER("CGlxCacheManager::ImageSizeReady");
- GLX_DEBUG2("CGlxCacheManager::ImageSizeReady aError=%d", aError);
- iImgSz = TSize();
- if(iSchedulerWait)
- {
- iSchedulerWait->AsyncStop();
- }
-
- iImgSz = aSz;
- GLX_DEBUG3("CGlxCacheManager::ImageSizeReady() iImgSz w(%d) h(%d)",
- iImgSz.iWidth, iImgSz.iHeight);
+ if (err == KErrNone)
+ {
+ aMimeType = dataType;
+ }
+ }
+ CleanupStack::PopAndDestroy(&session);
}
// -----------------------------------------------------------------------------
--- a/photosgallery/viewframework/medialists/src/glxgarbagecollector.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxgarbagecollector.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -135,7 +135,6 @@
if (iPeriodic->IsActive())
{
iPeriodic->Cancel();
- // Consideration of Restarting the timer is there;
}
}
--- a/photosgallery/viewframework/medialists/src/glximagereader.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glximagereader.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -34,11 +34,11 @@
// CGlxImageReader::NewL
// ---------------------------------------------------------
//
-CGlxImageReader* CGlxImageReader::NewL(MImageReadyCallBack& aNotify)
+CGlxImageReader* CGlxImageReader::NewL()
{
TRACER("CGlxImageReader::NewL");
- CGlxImageReader* self = CGlxImageReader::NewLC( aNotify);
+ CGlxImageReader* self = CGlxImageReader::NewLC();
CleanupStack::Pop(self);
return self;
}
@@ -47,11 +47,11 @@
// CGlxImageReader::NewLC
// ---------------------------------------------------------
//
-CGlxImageReader* CGlxImageReader::NewLC(MImageReadyCallBack& aNotify)
+CGlxImageReader* CGlxImageReader::NewLC()
{
TRACER("CGlxImageReader::NewLC");
- CGlxImageReader* self = new(ELeave) CGlxImageReader(aNotify);
+ CGlxImageReader* self = new(ELeave) CGlxImageReader();
CleanupStack::PushL(self);
self->ConstructL();
return self;
@@ -61,10 +61,9 @@
// CGlxImageReader::CGlxImageReader
// ---------------------------------------------------------
//
-CGlxImageReader::CGlxImageReader(MImageReadyCallBack& aNotify)
-:CActive(0),iNotify(aNotify)
- {
- }
+CGlxImageReader::CGlxImageReader()
+ {
+ }
// ---------------------------------------------------------
// CGlxImageReader::~CGlxImageReader
@@ -75,15 +74,9 @@
TRACER("CGlxImageReader::~");
if(iImageDecoder)
{
- Cancel();
delete iImageDecoder;
}
- if(iFrame)
- {
- delete iFrame;
- }
-
if(iImgViewerMgr)
{
iImgViewerMgr->DeleteInstance();
@@ -98,8 +91,6 @@
{
TRACER("CGlxImageReader::ConstructL");
- CActiveScheduler::Add(this);
-
iImgViewerMgr = CGlxImageViewerManager::InstanceL();
if (!iImgViewerMgr)
{
@@ -121,48 +112,11 @@
TRAP(errInImage,iImageDecoder = CImageDecoder::FileNewL(CCoeEnv::Static()->FsSession(), iImgViewerMgr->ImageUri()->Des()));
}
}
+
if (errInImage != KErrNone)
{
User::Leave(errInImage);
}
-
- if ( iImageDecoder )
- {
- iFrame = new (ELeave) CFbsBitmap();
- User::LeaveIfError(iFrame->Create(
- iImageDecoder->FrameInfo(0).iOverallSizeInPixels,
- iImageDecoder->FrameInfo(0).iFrameDisplayMode));
- iImageDecoder->Convert(&iStatus, *iFrame, 0);
- SetActive();
- }
- }
-
-// ---------------------------------------------------------
-// CGlxImageReader::DoCancel
-// ---------------------------------------------------------
-//
-void CGlxImageReader::DoCancel()
- {
- TRACER("CGlxImageReader::DoCancel");
- iImageDecoder->Cancel();
- }
-
-// ---------------------------------------------------------
-// CGlxImageReader::RunL
-// ---------------------------------------------------------
-//
-void CGlxImageReader::RunL()
- {
- TRACER("CGlxImageReader::RunL");
-
- TSize size = TSize();
- TInt reqStatus = iStatus.Int();
- if (reqStatus == KErrNone && iFrame)
- {
- size = iFrame->SizeInPixels();
- }
- GLX_DEBUG2("CGlxImageReader::RunL() reqStatus=%d", reqStatus);
- iNotify.ImageSizeReady(reqStatus, size);
}
// ---------------------------------------------------------
@@ -223,5 +177,23 @@
{
frameCount = iImageDecoder->FrameCount();
}
+ GLX_DEBUG2("CGlxImageReader::GetFrameCount frameCount=%d", frameCount);
return frameCount;
}
+
+// ---------------------------------------------------------
+// CGlxImageReader::GetDimensions
+// ---------------------------------------------------------
+//
+TSize CGlxImageReader::GetDimensions()
+ {
+ TRACER("CGlxImageReader::GetDimensions");
+ TSize size = TSize();
+ if (iImageDecoder)
+ {
+ size = iImageDecoder->FrameInfo().iOverallSizeInPixels;
+ }
+ GLX_DEBUG3("CGlxImageReader::GetImageSize() size w(%d) h(%d)",
+ size.iWidth, size.iHeight);
+ return size;
+ }
--- a/photosgallery/viewframework/medialists/src/glxlistwindow.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxlistwindow.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -445,9 +445,8 @@
// Focus should stay on the same item if possible. If not, it should
// go to the first previous item still existing. If none, it should go to
// first (=first next) item.
-
- // @todo: Do not maintain focus index in this class!!! This is broken
-
+
+ // @todo: Do not maintain focus index in this class, This is broken
// Update focus if the removal point was before the focus
if (aFirstRemovedIndex <= newFocusIndex)
{
@@ -658,7 +657,7 @@
TRACER("CGlxListWindow::Range");
TRange range;
- range.iLength = iRearOffset - iFrontOffset + 1; // Add 1 for focus;
+ range.iLength = iRearOffset - iFrontOffset + 1; // Add 1 for focus
// Start index is always zero if the whole list fits into the window
if ( range.iLength >= aChange.iNewTotalSize )
--- a/photosgallery/viewframework/medialists/src/glxmedia.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxmedia.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -675,8 +675,6 @@
return KNullDesC;
}
- // __ASSERT_DEBUG(EMPXTypeText == iValues[i].iType,
- // Panic(EGlxPanicWrongAttributeType));
if(EMPXTypeText == iValues[i].iType)
{
ptr = reinterpret_cast<HBufC*>(iValues[i].iValue);
--- a/photosgallery/viewframework/medialists/src/glxmedialist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxmedialist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -680,9 +680,6 @@
TInt index = iItemListObservers.Find(aObserver);
- // Make sure the observer is in the array
- // LOG THIS! __ASSERT_DEBUG(index != -1, Panic(EGlxPanicIllegalArgument)); // No such observer
-
if (index != KErrNotFound)
{
iItemListObservers.Remove(index);
@@ -1738,8 +1735,12 @@
inline void CGlxMediaList::UpdateMedia()
{
TRACER("CGlxMediaList::UpdateMedia");
-
+#ifdef _DEBUG
+ TTime startTime;
+ startTime.HomeTime();
+#endif
TInt count = iItemList->Count();
+ GLX_DEBUG2("CGlxMediaList::UpdateMedia() count=%d", count);
for (TInt i = 0; i < count; ++i)
{
TGlxMedia& item = iItemList->Item( i );
@@ -1751,6 +1752,12 @@
UpdateMediaInvalidateAttributesChangedByCounts(item);
}
}
+#ifdef _DEBUG
+ TTime stopTime;
+ stopTime.HomeTime();
+ GLX_DEBUG2("=>CGlxMediaList::UpdateMedia() took <%d> us",
+ (TInt)stopTime.MicroSecondsFrom(startTime).Int64());
+#endif
}
// -----------------------------------------------------------------------------
--- a/photosgallery/viewframework/medialists/src/glxmedialistiterator.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxmedialistiterator.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -30,8 +30,8 @@
// Default granularity of items to request for
const TUint KGlxBlockyIteratorDefaultGranularity = 15;
-const TInt KGlxLowerMemoryLimitForCacheSize = 15000000;
-const TInt KGlxUpperMemoryLimitForCacheSize = 25000000;
+const TInt KGlxLowerMemoryLimitForCacheSize = 31500000; // 30 MB
+const TInt KGlxUpperMemoryLimitForCacheSize = 52500000; // 50 MB
const TInt KMaxLowMemOffsetValue = 3;
const TInt KMinLowMemOffsetValue = 1;
--- a/photosgallery/viewframework/medialists/src/glxnavigablelist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxnavigablelist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -689,14 +689,6 @@
// remove from array of selected items
iSelectedItemIndices.Remove( selectionArrayIndex );
- // free unused memory from selected item indexes array
- // (this call may be a performance bottleneck if executing unmark all
- // in a list of many thousands of items when most of them are marked.
- // if it is proved to be a performance bottleneck, it may be sensible
- // to count how many times Deselect has been called, an only
- // compress every x times.)
- //iSelectedItemIndices.Compress();
-
// selection has changed, notify observer
iObserver.HandleItemSelected( aIndex, EFalse );
}
--- a/photosgallery/viewframework/medialists/src/glxthumbnailcontext.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/src/glxthumbnailcontext.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -159,7 +159,7 @@
spec.iPossHeight = iResolutionUtility->PixelsToPoss( height );
spec.iFocusOffset = aFocusOffset;
- // Has this focus index has already been added?
+ // Checf if this focus index has already been added
#ifdef _DEBUG
TIdentityRelation<TAssignedFetchSpec> match (&TAssignedFetchSpec::Match);
#endif
@@ -589,7 +589,7 @@
const TDesC& uri = item.Uri();
if ( uri.Length() && cat != EMPXNoCategory )
{
- valid = iDrmUtility->CheckOpenRightsL( uri, ( cat == EMPXImage ) );
+ valid = iDrmUtility->ItemRightsValidityCheckL( uri, ( cat == EMPXImage ) );
CGlxMedia* properties = const_cast<CGlxMedia*>(item.Properties());
if( valid )
{
--- a/photosgallery/viewframework/medialists/tsrc/src/glxlisttestbase.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/src/glxlisttestbase.h Wed Mar 31 21:31:03 2010 +0300
@@ -90,12 +90,6 @@
* and 'f' indicates "no, is not linked"
*/
TBool IsLinkedToMedia( const TDesC8& aAnswers ) const;
- /**
- * Creates a media object in pool, and offers to list.
- * @param aAnswers See IsLinkedToMedia
- * @param aShouldAccept ETrue if list should accept the offer
- */
- //TBool TryOfferMedia( TChar aId, const TDesC8& aAnswers, TBool aShouldAccept );
/**
* Tries to remove reference of list from media
--- a/photosgallery/viewframework/medialists/tsrc/t_cglxcache/t_cglxcache.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_cglxcache/t_cglxcache.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -53,8 +53,7 @@
T_CGlxCache* T_CGlxCache::NewL()
{
T_CGlxCache* self = T_CGlxCache::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -62,9 +61,7 @@
{
T_CGlxCache* self = new( ELeave ) T_CGlxCache();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
@@ -480,7 +477,6 @@
void T_CGlxCache::T_CGlxCache_ReserveUsersLL( )
{
- // iCGlxCache->ReserveUsersL( <add parameters here > );
EUNIT_ASSERT_DESC( EFalse, "Generated assert, replace with real");
}
@@ -512,7 +508,7 @@
CGlxCacheObserverTest* self = new (ELeave) CGlxCacheObserverTest();
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -599,7 +595,7 @@
CGlxMediaUserTest* self = new (ELeave) CGlxMediaUserTest();
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/t_cglxfetcherrorarray/t_cglxfetcherrorarray.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_cglxfetcherrorarray/t_cglxfetcherrorarray.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -39,8 +39,7 @@
T_CGlxFetchErrorArray* T_CGlxFetchErrorArray::NewL()
{
T_CGlxFetchErrorArray* self = T_CGlxFetchErrorArray::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -48,9 +47,7 @@
{
T_CGlxFetchErrorArray* self = new( ELeave ) T_CGlxFetchErrorArray();
CleanupStack::PushL( self );
-
self->ConstructL();
-
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/t_cglxgarbagecollector/t_cglxgarbagecollector.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_cglxgarbagecollector/t_cglxgarbagecollector.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -60,12 +60,8 @@
const TInt KCache3Media7Id = 7;
_LIT(KCache1Media1Title, "Captured");
-//_LIT(KCache1Media2Title, "Albums");
-//_LIT(KCache1Media3Title, "All");
_LIT(KCache1Media1SubTitle, "0 items");
-//_LIT(KCache1Media2SubTitle, "0 albums");
-//_LIT(KCache1Media3SubTitle, "7 items");
_LIT(KCache2Media1Title, "Favourites");
_LIT(KCache2Media2Title, "Print later");
@@ -74,24 +70,16 @@
_LIT(KCache2Media2SubTitle, "0 items");
_LIT(KCache3Media1Title, "Spring");
-//_LIT(KCache3Media2Title, "Summer");
_LIT(KCache3Media3Title, "Autumn");
_LIT(KCache3Media4Title, "Winter");
_LIT(KCache3Media5Title, "Sun");
-//_LIT(KCache3Media6Title, "Moon");
-//_LIT(KCache3Media7Title, "Stars");
const TInt KCache3Media1Size = 8;
const TInt KCache3Media2Size = 16;
const TInt KCache3Media3Size = 32;
-//const TInt KCache3Media4Size = 64;
-//const TInt KCache3Media5Size = 128;
-//const TInt KCache3Media6Size = 256;
-//const TInt KCache3Media7Size = 512;
// This value must be the same as in the garbage collector
const TInt KItemsScannedPerGCRound = 10;
-
const TInt KErrorExpiryPeriod = 30;
const TInt KTimerCallbackPeriod1 = 5;
const TInt KTimerCallbackPeriod2 = 35;
@@ -107,8 +95,7 @@
T_CGlxGarbageCollector* T_CGlxGarbageCollector::NewL()
{
T_CGlxGarbageCollector* self = T_CGlxGarbageCollector::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -1170,7 +1157,6 @@
// Cleanup media1 in cache1
EUNIT_PRINT(_L("Cleanup media1 in cache1"));
CGlxMedia* media1Cache1 = cache1Helper.ItemPool()[0];
- //CGlxMedia& media = cache1->Media(0);
iCGlxGarbageCollector->CleanupMediaL(*cache1,*media1Cache1);
EUNIT_PRINT(_L("Check remaining attributes for media1 in cache1"));
@@ -2247,7 +2233,7 @@
CGlxMediaUserTest* self = new (ELeave) CGlxMediaUserTest(aGarbageCollector);
CleanupStack::PushL(self);
self->ConstructL(aAttributes);
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
@@ -2296,7 +2282,7 @@
CTimerTest* self = new (ELeave) CTimerTest(aTestGarbageCollector);
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/t_cglxmedia/t_cglxmedia.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_cglxmedia/t_cglxmedia.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -42,8 +42,7 @@
T_CGlxMedia* T_CGlxMedia::NewL()
{
T_CGlxMedia* self = T_CGlxMedia::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/t_glxfromfocusoutwarditerator/t_glxfromfocusoutwarditerator.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_glxfromfocusoutwarditerator/t_glxfromfocusoutwarditerator.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -29,7 +29,7 @@
T_CGlxFromFocusOutwardIterator* T_CGlxFromFocusOutwardIterator::NewL()
{
T_CGlxFromFocusOutwardIterator* self = T_CGlxFromFocusOutwardIterator::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/t_glxlistwindow/t_glxlistwindow.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_glxlistwindow/t_glxlistwindow.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -35,8 +35,7 @@
t_CGlxListWindow* t_CGlxListWindow::NewL()
{
t_CGlxListWindow* self = t_CGlxListWindow::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/t_tglxexclusioniterator/t_tglxexclusioniterator.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/t_tglxexclusioniterator/t_tglxexclusioniterator.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -32,8 +32,7 @@
t_tglxexclusioniterator* t_tglxexclusioniterator::NewL()
{
t_tglxexclusioniterator* self = t_tglxexclusioniterator::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/ut_cglxattributecontext/ut_cglxattributecontext.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_cglxattributecontext/ut_cglxattributecontext.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -46,7 +46,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL(const TDesC&, TBool)
+TBool CGlxDRMUtility::ItemRightsValidityCheckL(const TDesC&, TBool)
{
return ETrue;
}
@@ -76,8 +76,7 @@
UT_CGlxAttributeContext* UT_CGlxAttributeContext::NewL()
{
UT_CGlxAttributeContext* self = UT_CGlxAttributeContext::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -200,13 +199,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop( attributes );
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop( itemIndices );
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy( mediaList );
}
void UT_CGlxAttributeContext::FetchOneItem_IndexZeroL()
@@ -241,13 +240,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchOneItem_IndexOneL()
@@ -282,13 +281,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchOneItem_IndexTwoL()
@@ -323,13 +322,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchOneItem_IndexThreeL()
@@ -364,13 +363,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchOneItem_IndexFourL()
@@ -405,13 +404,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityLessThanRange_IndexZeroL()
@@ -446,13 +445,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityLessThanRange_IndexOneL()
@@ -487,13 +486,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemindices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityLessThanRange_IndexTwoL()
@@ -528,13 +527,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityLessThanRange_IndexThreeL()
@@ -569,13 +568,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityLessThanRange_IndexFourL()
@@ -610,13 +609,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityLessThanRange_IndexFiveL()
@@ -651,13 +650,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
void UT_CGlxAttributeContext::FetchItems_GranularityGreaterThanRangeL()
@@ -692,13 +691,13 @@
delete attributeSpecs;
attributeSpecs = NULL;
- CleanupStack::Pop();
+ CleanupStack::Pop(attributes);
attributes.Close();
- CleanupStack::Pop();
+ CleanupStack::Pop(itemIndices);
itemIndices.Close();
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(mediaList);
}
TBool UT_CGlxAttributeContext::FindAttribute(RArray<TMPXAttribute>& aAttributes, const TMPXAttribute& aAttribute)
@@ -718,7 +717,7 @@
CGlxMediaListTest* self = new (ELeave) CGlxMediaListTest();
CleanupStack::PushL(self);
self->ConstructL(aNumberOfMedia);
- CleanupStack::Pop();
+ CleanupStack::Pop(self);
return self;
}
@@ -777,7 +776,7 @@
}
iMedias.AppendL(cGlxMedia);
- CleanupStack::Pop();
+ CleanupStack::Pop(cGlxMedia);
}
TGlxMedia tGlxMedia(id, cGlxMedia);
--- a/photosgallery/viewframework/medialists/tsrc/ut_cglxitemlist/ut_cglxitemlist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_cglxitemlist/ut_cglxitemlist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -60,8 +60,7 @@
ut_CGlxItemList* ut_CGlxItemList::NewL()
{
ut_CGlxItemList* self = ut_CGlxItemList::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/ut_cglxmedialist/ut_cglxmedialist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_cglxmedialist/ut_cglxmedialist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -52,7 +52,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL(const TDesC&, TBool)
+TBool CGlxDRMUtility::ItemRightsValidityCheckL(const TDesC&, TBool)
{
return ETrue;
}
@@ -82,8 +82,7 @@
UT_CGlxMediaList* UT_CGlxMediaList::NewL()
{
UT_CGlxMediaList* self = UT_CGlxMediaList::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -136,7 +135,7 @@
path->AppendL(KFavouritesAlbumId);
iCGlxMediaList = CGlxMediaList::InstanceL(*path, NULL);
- CleanupStack::PopAndDestroy(); // path
+ CleanupStack::PopAndDestroy( path );
iCGlxMediaList->AddMediaListObserverL(this);
@@ -698,7 +697,7 @@
EUNIT_ASSERT(titleAvailable && (*title == KTitle()));
delete title;
- CleanupStack::PopAndDestroy(); // addContainerCommand
+ CleanupStack::PopAndDestroy( addContainerCommand );
}
void UT_CGlxMediaList::UT_CGlxMediaList_CancelCommandL( )
@@ -783,7 +782,7 @@
iCGlxMediaList->HandleCollectionMessageL(*message);
}
- CleanupStack::PopAndDestroy(); // message
+ CleanupStack::PopAndDestroy( message ); // message
// Check correct notification was observed
const TInt messageCount = mediaListObserver->MessageCount();
@@ -840,7 +839,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::SetupFocusTestL()
@@ -912,7 +911,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::MoveFocusAbsoluteLessThanCurrentFocusL()
@@ -950,7 +949,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::MoveFocusRelativeForwardL()
@@ -988,7 +987,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::MoveFocusRelativeBackwardL()
@@ -1026,7 +1025,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::MoveFocusRelativeForwardGreaterThanListCountL()
@@ -1065,7 +1064,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::MoveFocusRelativeBackwardLessThanZeroL()
@@ -1104,7 +1103,7 @@
iCGlxMediaList->RemoveMediaListObserver(mediaListObserver);
- CleanupStack::PopAndDestroy(); // mediaListObserver
+ CleanupStack::PopAndDestroy( mediaListObserver );
}
void UT_CGlxMediaList::ReceiveMessageItemChangedItemModifiedL()
@@ -1127,7 +1126,6 @@
// Send item modified notification for item not in list
EUNIT_PRINT(_L("Send item modified notification for item not in list"));
TMPXCollectionMessage message1(TMPXCollectionMessage::EItemChanged, EMcItemModified, KFavouritesAlbumId);
-// iCGlxMediaList->HandleCollectionMessageL(message1);
// Check no notification was observed
TInt messageCount = mediaListObserver->MessageCount();
@@ -1138,7 +1136,6 @@
// Send item modified notification for item in list
EUNIT_PRINT(_L("Send item modified notification for item in list"));
TMPXCollectionMessage message2(TMPXCollectionMessage::EItemChanged, EMcItemModified, KFavouritesAlbumFirstItemId);
-// iCGlxMediaList->HandleCollectionMessageL(message2);
// Check correct notification was observed
messageCount = mediaListObserver->MessageCount();
@@ -1177,7 +1174,7 @@
CGlxMediaListObserverTest* self = new (ELeave) CGlxMediaListObserverTest();
CleanupStack::PushL(self);
self->ConstructL();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/ut_cglxnavigablelist/ut_cglxnavigablelist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_cglxnavigablelist/ut_cglxnavigablelist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -111,8 +111,7 @@
ut_CGlxNavigableList* ut_CGlxNavigableList::NewL()
{
ut_CGlxNavigableList* self = ut_CGlxNavigableList::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/ut_cglxstaticitemlist/ut_cglxstaticitemlist.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_cglxstaticitemlist/ut_cglxstaticitemlist.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -88,8 +88,7 @@
ut_CGlxStaticItemList* ut_CGlxStaticItemList::NewL()
{
ut_CGlxStaticItemList* self = ut_CGlxStaticItemList::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/medialists/tsrc/ut_glxerrormanager/ut_glxerrormanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_glxerrormanager/ut_glxerrormanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -48,7 +48,7 @@
delete this;
}
-TBool CGlxDRMUtility::CheckOpenRightsL(const TDesC&, TBool)
+TBool CGlxDRMUtility::ItemRightsValidityCheckL(const TDesC&, TBool)
{
return ETrue;
}
@@ -79,8 +79,7 @@
ut_glxerrormanager* ut_glxerrormanager::NewL()
{
ut_glxerrormanager* self = ut_glxerrormanager::NewLC();
- CleanupStack::Pop();
-
+ CleanupStack::Pop( self );
return self;
}
@@ -88,7 +87,6 @@
{
ut_glxerrormanager* self = new( ELeave ) ut_glxerrormanager();
CleanupStack::PushL( self );
-
self->ConstructL();
return self;
--- a/photosgallery/viewframework/medialists/tsrc/ut_tglxselectioniterator/ut_tglxselectioniterator.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/medialists/tsrc/ut_tglxselectioniterator/ut_tglxselectioniterator.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -29,7 +29,7 @@
T_CGlxSelectionIterator* T_CGlxSelectionIterator::NewL()
{
T_CGlxSelectionIterator* self = T_CGlxSelectionIterator::NewLC();
- CleanupStack::Pop();
+ CleanupStack::Pop( self );
return self;
}
--- a/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glximageviewerfullscreenviewplugin.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/plugins/fullscreenviewplugin/src/glximageviewerfullscreenviewplugin.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -44,7 +44,7 @@
#include <mpxcollectionutility.h>
#include <mpxmediageneraldefs.h>
#include <StringLoader.h>
-
+#include <photos.hlp.hrh>
#include <glxfullscreenviewdata.rsg>
#include <glxicons.mbg> // icons
@@ -121,7 +121,7 @@
CGlxFullScreenViewPluginBase::AddCommandHandlersL();
TGlxHelpContext helpInfo;
- helpInfo.iBrowseContext = LGAL_HLP_DOWNLOADS_FULLSCREEN;
+ helpInfo.iBrowseContext = LGAL_HLP_IMAGE_VIEWER;
iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo));
}
--- a/photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/plugins/fullscreenviewpluginbase/src/glxfullscreenviewpluginbase.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -95,12 +95,7 @@
//
TInt CGlxFullScreenViewPluginBase::PeriodicCallback(TAny* aPtr )
{
- //GLX_ASSERT_DEBUG( aPtr != NULL, Panic( EGlxPanicLogicError ),
- // "Received null pointer for garbage collector" );
-
- // get "this" pointer
static_cast< CGlxFullScreenViewPluginBase* >( aPtr )->PeriodicCallback();
-
return KErrNone;
}
@@ -137,7 +132,6 @@
iFullScreenView = fullScreenView;
- //AddCommandHandlersL();
GLX_LOG_INFO("Adding CGlxCommandHandlerBack");
iFullScreenView->AddCommandHandlerL(
CGlxCommandHandlerBack::NewPreviousViewCommandHandlerL());
@@ -181,10 +175,6 @@
iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerDetails::
NewL(iFullScreenView));
-// GLX_LOG_INFO("Adding CGlxCommandHandlerRotate");
-// iFullScreenView->AddCommandHandlerL(
-// CGlxCommandHandlerRotate::NewL( iFullScreenView ) );
-
GLX_LOG_INFO("Adding CGlxCommandHandlerAddToContainer");
iFullScreenView->AddCommandHandlerL(CGlxCommandHandlerAddToContainer::
NewAddToAlbumCommandHandlerL(iFullScreenView, EFalse));
--- a/photosgallery/viewframework/plugins/gridviewpluginbase/src/glxgridviewpluginbase.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/plugins/gridviewpluginbase/src/glxgridviewpluginbase.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -198,8 +198,6 @@
GLX_LOG_INFO("Adding CGlxCommandHandlerCopyToHomeNetwork");
iGridView->AddCommandHandlerL(CGlxCommandHandlerCopyToHomeNetwork::NewL(*iGridView));
- //GLX_LOG_INFO("Adding CGlxCommandHandlerMarking");
- //iGridView->AddCommandHandlerL( CGlxCommandHandlerMarking::NewL(iGridView/*, *iGridView, ETrue*/ ) );
GLX_LOG_INFO("Adding CGlxCommandHandlerUpload");
iGridView->AddCommandHandlerL(CGlxCommandHandlerUpload::NewL(iGridView, ETrue));
--- a/photosgallery/viewframework/plugins/metadataviewplugin/data/200071af.rss Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Resource Definitions
-*
-*/
-
-
-
-// INCLUDES
-#include <ecom/registryinfo.rh>
-#include <mpxviewplugin.hrh>
-#include "glxmetadataviewplugin.hrh"
-
-
-// RESOURCE DEFINITIONS
-
-/**
- * The opaque_data syntax is made up of three parts:
- * a list of Uids for resolving the view plugin, feature flags, priority.
- *
- * <p>uid1;uid2;uid3</p>
- * uid*: uid of the supported Playback/Collection plugin.
- * E.g. if the view plugin supports Local Playback plugin, the list of
- * uids will be: 0x101FFC06
- *
- * <t>uid</t>
- * uid: plugin type uid.
- * E.g. if the view plugin supports playback type, uid will be: 0x101FFCA0
- *
- * <f>flags</f> [optional]
- * flags: sum of the required feature flags that listed in mpxviewplugin.hrh.
- * E.g. if the view plugin needs to be pre-loaded and it's user-selectable,
- * then flags = KMPXVpFeaturePreLoaded + KMPXVpFeatureUserSelectable = 0x0003.
- *
- * <i>priority</i> [optional]
- * priority: a value of type TMPXViewPluginPriorities. This value determines
- * which view plugin will be resolved when several plugins can support the
- * same set of Uids.
- * Default value of this field is EMPXViewPluginPriorityNormal.
- */
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x200071AF;
-
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = KMPXViewPluginInterfaceUid;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = KGlxMetadataViewImplementationId;
- version_no = 1 ;
- display_name = "Metadata view";
- default_data = "";
- opaque_data = "<p>0x2000A7C1</p>"
- "<t>0x200071B0</t>"
- "<f>0x0002</f>"
- "<i>"EMPXViewPluginPriorityLowest"</i>";
- }
- };
- }
- };
- }
-
-// End of File
--- a/photosgallery/viewframework/plugins/metadataviewplugin/group/bld.inf Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Project build file
-*
-*/
-
-
-
-PRJ_EXPORTS
-
-//../rom/glxmetadataviewplugin.iby CORE_APP_LAYER_IBY_EXPORT_PATH(glxmetadataviewplugin.iby)
-
-PRJ_MMPFILES
-
-//glxmetadataviewplugin.mmp
-
-//End of file
-
--- a/photosgallery/viewframework/plugins/metadataviewplugin/group/glxmetadataviewplugin.mmp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2008-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: Project definition file
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-#include "../../../../group/glxbuildcommon.mmh"
-#include "../../../../inc/glxalfhelper.mmh"
-
-TARGET glxunifiedmetadataviewplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x200071AF
-
-#ifndef WINSCW
-EPOCALLOWDLLDATA
-#endif
-CAPABILITY CAP_ECOM_PLUGIN
-
-SOURCEPATH ../src
-SOURCE glxmetadataviewpluginproxy.cpp
-SOURCE glxmetadataviewplugin.cpp
-
-START RESOURCE ../data/200071AF.rss
-//TARGET 200071AF.rsc
-TARGET glxunifiedmetadataviewplugin.rsc
-END // RESOURCE
-
-USERINCLUDE ../inc
-SYSTEMINCLUDE ../../../views/viewbase/inc
-SYSTEMINCLUDE ../../../medialists/inc
-SYSTEMINCLUDE ../../../../inc
-SYSTEMINCLUDE ../../../inc
-SYSTEMINCLUDE ../../../uiutilities/inc
-SYSTEMINCLUDE ../../../commandhandlers/commandhandlerbase/inc
-SYSTEMINCLUDE ../../../commandhandlers/commoncommandhandlers/inc
-SYSTEMINCLUDE ../../../commandhandlers/inc
-SYSTEMINCLUDE ../../../views/metadataview/inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib // for RAllocator
-LIBRARY mpxviewplugin.lib // for CMPXViewPlugin
-LIBRARY glxunifiedmetadataview.lib // for CGlxMetadataView
-LIBRARY glxviewbase.lib // for CGlxViewBase
-LIBRARY glxcommoncommandhandlers.lib
-
-
-//EXPORTUNFROZEN
-
-// End of File
--- a/photosgallery/viewframework/plugins/metadataviewplugin/inc/glxmetadataviewplugin.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Metadata view plugin definition.
-*
-*/
-
-
-#ifndef C_GLXMETADATAVIEWPLUGIN_H
-#define C_GLXMETADATAVIEWPLUGIN_H
-
-
-// INCLUDES
-#include <mpxaknviewplugin.h>
-
-#include "glxmedialistfactory.h"
-
-// CLASS DECLARATION
-
-/**
- * MPX Collection view plugin definition.
- *
- * @lib glxunifiedmetadataviewplugin.lib
- */
-NONSHARABLE_CLASS( CGlxMetadataViewPlugin ) : public CMPXAknViewPlugin
- {
-public:
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to newly created object.
- */
- static CGlxMetadataViewPlugin* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CGlxMetadataViewPlugin();
-
-private:
-
- /**
- * From CMPXAknViewPlugin
- * Construct Avkon view.
- *
- * @return Pointer to a newly created Avkon view.
- */
- CAknView* ConstructViewLC();
-
-private:
-
- /**
- * C++ default constructor.
- */
- CGlxMetadataViewPlugin();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
- };
-
-#endif // C_GLXMETADATAVIEWPLUGIN_H
-
-// End of File
--- a/photosgallery/viewframework/plugins/metadataviewplugin/inc/glxmetadataviewplugin.hrh Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Resource header
-*
-*/
-
-
-
-#ifndef GLXMETADATAVIEWPLUGIN_HRH
-#define GLXMETADATAVIEWPLUGIN_HRH
-
-// CONSTANTS
-
-#define KGlxMetadataViewImplementationId 0x200071B0
-
-#endif // GLXMETADATAVIEWPLUGIN_HRH
-
-// End of File
--- a/photosgallery/viewframework/plugins/metadataviewplugin/rom/glxmetadataviewplugin.iby Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Metadata View Plugin iby file.
-*
-*/
-
-
-
-#ifndef __GLXMETADATAVIEWPLUGIN_IBY__
-#define __GLXMETADATAVIEWPLUGIN_IBY__
-
-ECOM_PLUGIN( glxunifiedmetadataviewplugin.dll, glxunifiedmetadataviewplugin.rsc )
-
-#endif // __GLXMETADATAVIEWPLUGIN_IBY__
\ No newline at end of file
--- a/photosgallery/viewframework/plugins/metadataviewplugin/src/glxmetadataviewplugin.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Implementation of metadata view plugin
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "glxmetadataviewplugin.h"
-
-#include <glxcommandhandlerback.h> // For CGlxCommandHandlerBack
-#include <glxcommandhandlerhelp.h>
-#include <mpxcollectionpath.h>
-#include <mpxcollectionutility.h>
-
-#include "glxmetadataview.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewPlugin::CGlxMetadataViewPlugin()
- {
- // Do nothing
- }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewPlugin::ConstructL()
- {
- // Do nothing
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewPlugin* CGlxMetadataViewPlugin::NewL()
- {
- CGlxMetadataViewPlugin* self = new ( ELeave ) CGlxMetadataViewPlugin();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewPlugin::~CGlxMetadataViewPlugin()
- {
- // Do nothing
- }
-
-// ---------------------------------------------------------------------------
-// From CMPXAknViewPlugin
-// Construct Avkon view.
-// ---------------------------------------------------------------------------
-//
-CAknView* CGlxMetadataViewPlugin::ConstructViewLC()
- {
- /*Create view it self medialist provider ? */
- CGlxMetadataView* view = CGlxMetadataView::NewLC(NULL);
-
- // add command handlers
- view->AddCommandHandlerL(CGlxCommandHandlerBack::NewPreviousViewCommandHandlerL(view));
-
- TGlxHelpContext helpInfo;
- helpInfo.iBrowseContext = LGAL_HLP_DETAILS_VIEW;
- view->AddCommandHandlerL(CGlxCommandHandlerHelp::NewL(helpInfo));
-
- return view;
- }
-
-// End of File
--- a/photosgallery/viewframework/plugins/metadataviewplugin/src/glxmetadataviewpluginproxy.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2008-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 : Standard proxy of the ECOM plugin
-*
-*/
-
-
-// INCLUDE FILES
-#include <ecom/implementationproxy.h>
-#include "glxmetadataviewplugin.hrh"
-#include "glxmetadataviewplugin.h"
-
-#if ( !defined IMPLEMENTATION_PROXY_ENTRY )
-typedef TAny* TProxyNewLPtr;
-#define IMPLEMENTATION_PROXY_ENTRY( aUid,aFuncPtr ) { { aUid }, ( TProxyNewLPtr )( aFuncPtr ) }
-#endif
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// The list of implementations
-// ---------------------------------------------------------------------------
-//
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY(
- KGlxMetadataViewImplementationId,
- CGlxMetadataViewPlugin::NewL )
- };
-
-// ---------------------------------------------------------------------------
-// The proxy of implementations
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
- TInt& aTableCount )
- {
- aTableCount =
- sizeof( ImplementationTable ) / sizeof( TImplementationProxy );
- return ImplementationTable;
- }
-
-// End of File
--- a/photosgallery/viewframework/plugins/tagsbrowserviewplugin/data/glxtagsbrowserview.rss Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/plugins/tagsbrowserviewplugin/data/glxtagsbrowserview.rss Wed Mar 31 21:31:03 2010 +0300
@@ -70,7 +70,7 @@
MENU_ITEM { command=EGlxStopShowing;
txt=qtn_lgal_options_stop_show; },
MENU_ITEM { command=EAknCmdHelp;
- txt=qtn_clipb_litxt_help; },
+ txt=qtn_options_help; },
MENU_ITEM { command=EAknCmdExit;
txt=qtn_options_exit; }
};
--- a/photosgallery/viewframework/texturemanager/inc/glxtexturemanagerimpl.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/texturemanager/inc/glxtexturemanagerimpl.h Wed Mar 31 21:31:03 2010 +0300
@@ -359,8 +359,6 @@
*/
TInt NextTextureId();
- // void DoHandleResolutionChangedL(TInt aIconIndex);
-
/**
* Scales the grid Thumbnail bitmap to the fullscreen keeping the aspect
* ratio.
--- a/photosgallery/viewframework/texturemanager/src/glxbitmapdecoderwrapper.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/texturemanager/src/glxbitmapdecoderwrapper.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -101,7 +101,7 @@
{
TRACER("CGlxBitmapDecoderWrapper:: DoDecodeImageL ");
iThumbnailIndex = aIndex;
- //Variable used to get the decoder type used;
+ //Variable used to get the decoder type used
TBool isExtDecoderUsed = ETrue;
#ifdef _DEBUG
--- a/photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/texturemanager/src/glxtexturemanagerimpl.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -892,45 +892,6 @@
}
// -----------------------------------------------------------------------------
-// DoHandleResolutionChangedL
-// -----------------------------------------------------------------------------
-//
-//To-do
-/*void CGlxTextureManagerImpl::DoHandleResolutionChangedL(TInt aIconIndex)
- {
- TGlxIcon& icon = iIconList[aIconIndex];
- CAlfTexture* texture = icon.iTexture;
- // Clear previous content
- //texture->SetSegmentCountL(0);
-
- // Get new bitmaps
- CFbsBitmap* bitmap = NULL;
- CFbsBitmap* mask = NULL;
- ProvideBitmapL(icon.iTextureId, bitmap, mask);
- // Upload to texture
- if(bitmap)
- {
- CleanupStack::PushL(bitmap);
- texture->SetSize(bitmap->SizeInPixels());
- if(mask)
- {
- CleanupStack::PushL(mask);
- texture->UploadL( *bitmap, mask,
- EAlfTextureUploadFlagDefault );
- CleanupStack::PopAndDestroy(mask);
- }
- else
- {
- texture->UploadL( *bitmap, NULL,
- EAlfTextureUploadFlagDefault );
-
- }
- CleanupStack::PopAndDestroy(bitmap);
- }
- }*/
-
-
-// -----------------------------------------------------------------------------
// ProvideBitmapL
// -----------------------------------------------------------------------------
//
@@ -1108,9 +1069,9 @@
// check if rights have expired
TBool checkViewRights = (cat==EMPXImage);
- //Fix for ESLM-82WJ59: Since uri can be either focused or unfocused item
- //better call CheckOpenRightsL which doesn't modify lastconsumedUri.
- drmInvalid = !iDrmUtility->CheckOpenRightsL(uri, checkViewRights);
+ //Since uri can be either focused or unfocused item
+ //better call ItemRightsValidityCheckL which doesn't modify lastconsumedUri.
+ drmInvalid = !iDrmUtility->ItemRightsValidityCheckL(uri, checkViewRights);
CGlxMedia* properties = const_cast<CGlxMedia*>(aMedia.Properties());
if( !drmInvalid )
--- a/photosgallery/viewframework/tvout/bwins/glxtvoutu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/bwins/glxtvoutu.def Wed Mar 31 21:31:03 2010 +0300
@@ -3,15 +3,15 @@
?ScreenSizeL@CGlxTv@@QBE?AVTSize@@XZ @ 2 NONAME ; class TSize CGlxTv::ScreenSizeL(void) const
??1CGlxTv@@UAE@XZ @ 3 NONAME ; CGlxTv::~CGlxTv(void)
??1CGlxHdmiController@@UAE@XZ @ 4 NONAME ; CGlxHdmiController::~CGlxHdmiController(void)
- ?SetImageL@CGlxHdmiController@@QAEXABVTDesC16@@VTSize@@HH@Z @ 5 NONAME ; void CGlxHdmiController::SetImageL(class TDesC16 const &, class TSize, int, int)
+ ?NewL@CGlxHdmiController@@SAPAV1@XZ @ 5 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(void)
?IsWidescreen@CGlxTv@@QBEHXZ @ 6 NONAME ; int CGlxTv::IsWidescreen(void) const
?IsHDMIConnected@CGlxHdmiController@@QAEHXZ @ 7 NONAME ; int CGlxHdmiController::IsHDMIConnected(void)
?ShiftToPostingMode@CGlxHdmiController@@QAEXXZ @ 8 NONAME ; void CGlxHdmiController::ShiftToPostingMode(void)
?ShiftToCloningMode@CGlxHdmiController@@QAEXXZ @ 9 NONAME ; void CGlxHdmiController::ShiftToCloningMode(void)
- ?IsConnected@CGlxTv@@QBEHXZ @ 10 NONAME ; int CGlxTv::IsConnected(void) const
- ?ItemNotSupported@CGlxHdmiController@@QAEXXZ @ 11 NONAME ; void CGlxHdmiController::ItemNotSupported(void)
- ?NewL@CGlxTv@@SAPAV1@AAVMGlxTvObserver@@@Z @ 12 NONAME ; class CGlxTv * CGlxTv::NewL(class MGlxTvObserver &)
- ?NewL@CGlxHdmiController@@SAPAV1@ABVTDesC16@@@Z @ 13 NONAME ; class CGlxHdmiController * CGlxHdmiController::NewL(class TDesC16 const &)
+ ?SetImageL@CGlxHdmiController@@QAEXABVTDesC16@@H@Z @ 10 NONAME ; void CGlxHdmiController::SetImageL(class TDesC16 const &, int)
+ ?NewL@CGlxTv@@SAPAV1@AAVMGlxTvObserver@@@Z @ 11 NONAME ; class CGlxTv * CGlxTv::NewL(class MGlxTvObserver &)
+ ?IsConnected@CGlxTv@@QBEHXZ @ 12 NONAME ; int CGlxTv::IsConnected(void) const
+ ?ItemNotSupported@CGlxHdmiController@@QAEXXZ @ 13 NONAME ; void CGlxHdmiController::ItemNotSupported(void)
?IsHDMIConnected@CGlxTv@@QBEHXZ @ 14 NONAME ; int CGlxTv::IsHDMIConnected(void) const
?DeactivateZoom@CGlxHdmiController@@QAEXXZ @ 15 NONAME ; void CGlxHdmiController::DeactivateZoom(void)
--- a/photosgallery/viewframework/tvout/eabi/glxtvoutu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/eabi/glxtvoutu.def Wed Mar 31 21:31:03 2010 +0300
@@ -5,8 +5,8 @@
_ZN18CGlxHdmiController16ItemNotSupportedEv @ 4 NONAME
_ZN18CGlxHdmiController18ShiftToCloningModeEv @ 5 NONAME
_ZN18CGlxHdmiController18ShiftToPostingModeEv @ 6 NONAME
- _ZN18CGlxHdmiController4NewLERK7TDesC16 @ 7 NONAME
- _ZN18CGlxHdmiController9SetImageLERK7TDesC165TSizeii @ 8 NONAME
+ _ZN18CGlxHdmiController4NewLEv @ 7 NONAME
+ _ZN18CGlxHdmiController9SetImageLERK7TDesC16i @ 8 NONAME
_ZN18CGlxHdmiControllerD0Ev @ 9 NONAME
_ZN18CGlxHdmiControllerD1Ev @ 10 NONAME
_ZN18CGlxHdmiControllerD2Ev @ 11 NONAME
--- a/photosgallery/viewframework/tvout/inc/glxactivedecoder.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/inc/glxactivedecoder.h Wed Mar 31 21:31:03 2010 +0300
@@ -33,10 +33,8 @@
/*
* NewL()
* @Param1 CGlxHdmiSurfaceUpdater
- * @param2 framecount
*/
- static CGlxHdmiDecoderAO* NewL(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater,
- TInt aFrameCount);
+ static CGlxHdmiDecoderAO* NewL(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater);
/*
* Destructor
@@ -47,28 +45,24 @@
* ConvertImageL()
* This calls the asyncronous service request to ICL convert
* @param1 - Destination Bitmap
- * @param2 - Framecount
- * @param3 - Image decoder
+ * @param2 - Image decoder
*/
- void ConvertImageL(CFbsBitmap& iBitmap, TInt aFrameNum,CImageDecoder* aDecoder);
-
-// void SetActive() { CActive::SetActive();};
+ void ConvertImageL(CFbsBitmap& iBitmap,CImageDecoder* aDecoder);
protected:
// from CActive
void RunL();
void DoCancel();
+
private:
/*
* Constructor
*/
- CGlxHdmiDecoderAO(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater,TInt aFrameCount);
+ CGlxHdmiDecoderAO(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater);
private:
CGlxHdmiSurfaceUpdater* iHdmiSurfaceUpdater; // not owned
CImageDecoder* iDecoder;
- TInt iFrameCount;
- TInt iDecodeCount;
};
#endif /* GLXACTIVEDECODER_H_ */
--- a/photosgallery/viewframework/tvout/inc/glxhdmicontroller.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/inc/glxhdmicontroller.h Wed Mar 31 21:31:03 2010 +0300
@@ -36,7 +36,7 @@
* NewLC
* @param1 - Image file path default to NULL
*/
- IMPORT_C static CGlxHdmiController* NewL(const TDesC& aImageFile = KNullDesC );
+ IMPORT_C static CGlxHdmiController* NewL();
/*
* Destructor
@@ -46,11 +46,8 @@
/*
* Update Image
* @param1 - Image file path
- * @param2 - Image dimensions
- * @param3 - frame count
*/
- IMPORT_C void SetImageL(const TDesC& aImageFile,TSize aImageDimensions,
- TInt aFrameCount = 1, TBool aStore = ETrue);
+ IMPORT_C void SetImageL(const TDesC& aImageFile, TBool aStore = ETrue);
/*
* To intimate that the item is not supported.
@@ -88,7 +85,7 @@
/*
* Constructor
*/
- CGlxHdmiController(const TDesC& aImageFile);
+ CGlxHdmiController();
/*
* ConstructL
@@ -102,12 +99,9 @@
/*
* Create surface updater and update background surface
- * @param1 - Image file
- * @param2 - Image dimensions
- * @param3 - framecount
+ * @param1 - Image file
*/
- void CreateSurfaceUpdaterL(const TDesC& aImageFile, TSize aImageDimensions,
- TInt aFrameCount);
+ void CreateSurfaceUpdaterL(const TDesC& aImageFile);
/*
* To Destroy the surface updater if present
@@ -120,21 +114,19 @@
void DestroyContainer();
/*
- *
+ * Stores the Image File name
+ * @param1 - Image file
*/
- void StoreImageInfoL(const TDesC& aImageFile,
- TSize aImageDimensions, TInt aFrameCount);
+ void StoreImageInfoL(const TDesC& aImageFile);
private:
- const TDesC& iImagePath; // Image path
HBufC* iStoredImagePath;
- TSize iImageDimensions;
- TInt iFrameCount;
-
+
CGlxHdmiContainer* iHdmiContainer;
CGlxHdmiSurfaceUpdater* iSurfaceUpdater;
CGlxTv* iGlxTvOut;
- TBool iImageSupported;
+ TBool iIsImageSupported;
+ TBool iIsPostingMode;
};
#endif /* GLXHDMICONTROLLER_H_ */
--- a/photosgallery/viewframework/tvout/inc/glxhdmisurfaceupdater.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/inc/glxhdmisurfaceupdater.h Wed Mar 31 21:31:03 2010 +0300
@@ -42,12 +42,13 @@
*
*/
static CGlxHdmiSurfaceUpdater* NewL(RWindow* aWindow, const TDesC& aImageFile,
- TSize aImageDimensions, TInt aFrameCount, MGlxGenCallback* aCallBack);
+ MGlxGenCallback* aCallBack);
/*
* destructor
*/
~CGlxHdmiSurfaceUpdater();
+
public:
/*
* This is to cancel the active object from decoding
@@ -57,8 +58,7 @@
/*
* This updates the new image.
*/
- void UpdateNewImageL(const TDesC& aImageFile,
- TInt aFrameCount,TSize aImageDimensions);
+ void UpdateNewImageL(const TDesC& aImageFile);
/*
* Activate Zoom
@@ -88,12 +88,12 @@
* Ctor
*/
CGlxHdmiSurfaceUpdater(RWindow* aWindow, const TDesC& aImageFile,
- TSize aOrigImageDimensions, TInt aFrameCount, MGlxGenCallback* aCallBack);
+ MGlxGenCallback* aCallBack);
/*
* ConstructL()
*/
- void ConstructL(TSize aImageDimensions);
+ void ConstructL();
/*
* Create a New surface with given size
@@ -147,8 +147,6 @@
private:
RWindow* iWindow;
const TDesC& iImagePath;
- TSize iOrigImageDimensions;
- TInt iFrameCount;
MGlxGenCallback* iCallBack;
// GCE Surface
@@ -168,7 +166,6 @@
//ICL
CGlxHdmiDecoderAO* iGlxDecoderAO; // Internal Image decoder AO
CImageDecoder* iImageDecoder; // Image Decoder
- TInt iAnimCount; // animation count
RFs iFsSession; // RFs
TPoint iLeftCornerForZoom;
--- a/photosgallery/viewframework/tvout/src/glxactivedecoder.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/src/glxactivedecoder.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -22,24 +22,20 @@
// -----------------------------------------------------------------------------
// NewL
// -----------------------------------------------------------------------------
-CGlxHdmiDecoderAO* CGlxHdmiDecoderAO::NewL(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater,
- TInt aFrameCount)
+CGlxHdmiDecoderAO* CGlxHdmiDecoderAO::NewL(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater)
{
TRACER("CGlxHdmiDecoderAO::NewL()");
- CGlxHdmiDecoderAO* self = new (ELeave) CGlxHdmiDecoderAO(aHdmiSurfaceUpdater,
- aFrameCount);
+ CGlxHdmiDecoderAO* self = new (ELeave) CGlxHdmiDecoderAO(aHdmiSurfaceUpdater);
return self;
}
// -----------------------------------------------------------------------------
// CGlxHdmiDecoderAO()
// -----------------------------------------------------------------------------
-CGlxHdmiDecoderAO::CGlxHdmiDecoderAO(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater,
- TInt aFrameCount):CActive(CActive::EPriorityStandard-1),
- iHdmiSurfaceUpdater(aHdmiSurfaceUpdater), iFrameCount(aFrameCount)
+CGlxHdmiDecoderAO::CGlxHdmiDecoderAO(CGlxHdmiSurfaceUpdater* aHdmiSurfaceUpdater):
+ CActive(CActive::EPriorityStandard-1),iHdmiSurfaceUpdater(aHdmiSurfaceUpdater)
{
TRACER("CGlxHdmiDecoderAO::CGlxHdmiDecoderAO()");
- iDecodeCount = 0;
CActiveScheduler::Add(this);
}
@@ -81,12 +77,12 @@
// -----------------------------------------------------------------------------
// ConvertImageL
// -----------------------------------------------------------------------------
-void CGlxHdmiDecoderAO::ConvertImageL(CFbsBitmap& aBitmap, TInt aFrameNum,
- CImageDecoder* aDecoder)
+void CGlxHdmiDecoderAO::ConvertImageL(CFbsBitmap& aBitmap,
+ CImageDecoder* aDecoder)
{
TRACER("CGlxHdmiDecoderAO::ConvertImageL()");
iDecoder = aDecoder;
- iDecoder->Convert(&iStatus,aBitmap, aFrameNum);
+ iDecoder->Convert(&iStatus,aBitmap);
SetActive();
}
--- a/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -29,10 +29,10 @@
// -----------------------------------------------------------------------------
// NewLC
// -----------------------------------------------------------------------------
-EXPORT_C CGlxHdmiController* CGlxHdmiController::NewL(const TDesC& aImageFile)
+EXPORT_C CGlxHdmiController* CGlxHdmiController::NewL()
{
TRACER("CGlxHdmiController* CGlxHdmiController::NewL()");
- CGlxHdmiController* self = new (ELeave) CGlxHdmiController(aImageFile);
+ CGlxHdmiController* self = new (ELeave) CGlxHdmiController();
CleanupStack::PushL(self);
self->ConstructL();
CleanupStack::Pop(self);
@@ -59,19 +59,20 @@
// Setting an Image Path
// -----------------------------------------------------------------------------
EXPORT_C void CGlxHdmiController::SetImageL(const TDesC& aImageFile,
- TSize aImageDimensions, TInt aFrameCount, TBool aStore)
+ TBool aStore)
{
TRACER("CGlxHdmiController::SetImageL()");
if (aStore)
{
- iImageSupported = ETrue;
- StoreImageInfoL(aImageFile, aImageDimensions, aFrameCount);
+ iIsImageSupported = ETrue;
+ StoreImageInfoL(aImageFile);
}
if (iGlxTvOut->IsHDMIConnected())
{
+ iIsPostingMode = ETrue;
GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 2");
// do not close the surface , use the same surface instead.
- // Call a function to pass imagefile, imagedimension, framecount
+ // Call a function to pass imagefile
if (!iHdmiContainer)
{
CreateHdmiContainerL();
@@ -80,12 +81,12 @@
{
// This case would come when surface updater is not created at the first instance and also
// it satisfies the 720p condition
- CreateSurfaceUpdaterL(aImageFile, aImageDimensions, aFrameCount);
+ CreateSurfaceUpdaterL(aImageFile);
}
else
{
GLX_LOG_INFO("CGlxHdmiController::SetImageL() - 3");
- iSurfaceUpdater->UpdateNewImageL(aImageFile, aFrameCount,aImageDimensions);
+ iSurfaceUpdater->UpdateNewImageL(aImageFile);
}
iHdmiContainer->DrawNow();
}
@@ -97,7 +98,7 @@
EXPORT_C void CGlxHdmiController::ItemNotSupported()
{
TRACER("CGlxHdmiController::IsVideo()");
- iImageSupported = EFalse;
+ iIsImageSupported = EFalse;
if (iGlxTvOut->IsHDMIConnected())
{
DestroySurfaceUpdater();
@@ -135,6 +136,7 @@
EXPORT_C void CGlxHdmiController::ShiftToCloningMode()
{
TRACER("CGlxHdmiController::ShiftToCloningMode()");
+ iIsPostingMode = EFalse;
if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater)
{
iSurfaceUpdater->ShiftToCloningMode();
@@ -147,6 +149,7 @@
EXPORT_C void CGlxHdmiController::ShiftToPostingMode()
{
TRACER("CGlxHdmiController::ShiftToPostingMode()");
+ iIsPostingMode = ETrue;
if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater)
{
iSurfaceUpdater->ShiftToPostingMode();
@@ -156,8 +159,8 @@
// -----------------------------------------------------------------------------
// Constructor
// -----------------------------------------------------------------------------
-CGlxHdmiController::CGlxHdmiController(const TDesC& aImageFile):
- iImagePath(aImageFile)
+CGlxHdmiController::CGlxHdmiController():
+ iIsPostingMode(EFalse)
{
TRACER("CGlxHdmiController::CGlxHdmiController()");
// Implement nothing here
@@ -213,21 +216,19 @@
// -----------------------------------------------------------------------------
// CreateSurfaceUpdaterL
// -----------------------------------------------------------------------------
-void CGlxHdmiController::CreateSurfaceUpdaterL(const TDesC& aImageFile,
- TSize aImageDimensions, TInt aFrameCount)
+void CGlxHdmiController::CreateSurfaceUpdaterL(const TDesC& aImageFile)
{
TRACER("CGlxHdmiController::CreateSurfaceUpdater()");
RWindow* window = iHdmiContainer->GetWindow();
- iSurfaceUpdater = CGlxHdmiSurfaceUpdater::NewL(window, aImageFile, aImageDimensions,
- aFrameCount, iHdmiContainer);
+ iSurfaceUpdater = CGlxHdmiSurfaceUpdater::NewL(window, aImageFile,
+ iHdmiContainer);
iHdmiContainer->DrawNow();
}
// -----------------------------------------------------------------------------
// StoreImageInfoL
// -----------------------------------------------------------------------------
-void CGlxHdmiController::StoreImageInfoL(const TDesC& aImageFile,
- TSize aImageDimensions, TInt aFrameCount)
+void CGlxHdmiController::StoreImageInfoL(const TDesC& aImageFile)
{
TRACER("CGlxHdmiController::StoreImageInfoL()");
if(iStoredImagePath)
@@ -236,8 +237,6 @@
iStoredImagePath = NULL;
}
iStoredImagePath = aImageFile.AllocL();
- iImageDimensions = aImageDimensions;
- iFrameCount = aFrameCount;
}
// -----------------------------------------------------------------------------
@@ -248,11 +247,11 @@
TRACER("CGlxHdmiController::HandleTvStatusChangedL()");
if ( aChangeType == ETvConnectionChanged )
{
- if ( iGlxTvOut->IsHDMIConnected() && iImageSupported)
+ if ( iGlxTvOut->IsHDMIConnected() && iIsImageSupported && iIsPostingMode)
{
GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Connected");
// Calling SetImageL() with appropriate parameters
- SetImageL(iStoredImagePath->Des(), iImageDimensions, iFrameCount, EFalse);
+ SetImageL(iStoredImagePath->Des(), EFalse);
}
else
{
--- a/photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/src/glxhdmisurfaceupdater.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -42,13 +42,13 @@
// NewLC
// -----------------------------------------------------------------------------
CGlxHdmiSurfaceUpdater* CGlxHdmiSurfaceUpdater::NewL(RWindow* aWindow, const TDesC& aImageFile,
- TSize aImageDimensions, TInt aFrameCount, MGlxGenCallback* aCallBack)
+ MGlxGenCallback* aCallBack)
{
TRACER("CGlxHdmiSurfaceUpdater* CGlxHdmiSurfaceUpdater::NewL()");
CGlxHdmiSurfaceUpdater* self = new (ELeave) CGlxHdmiSurfaceUpdater(aWindow, aImageFile,
- aImageDimensions, aFrameCount, aCallBack);
+ aCallBack);
CleanupStack::PushL(self);
- self->ConstructL(aImageDimensions);
+ self->ConstructL();
CleanupStack::Pop(self);
return self;
}
@@ -134,10 +134,10 @@
// -----------------------------------------------------------------------------
// CTor
// -----------------------------------------------------------------------------
-CGlxHdmiSurfaceUpdater::CGlxHdmiSurfaceUpdater(RWindow* aWindow, const TDesC& aImageFile,
- TSize aOrigImageDimensions, TInt aFrameCount, MGlxGenCallback* aCallBack):
- iWindow(aWindow), iImagePath(aImageFile), iOrigImageDimensions(aOrigImageDimensions),
- iFrameCount(aFrameCount ),iCallBack(aCallBack)
+CGlxHdmiSurfaceUpdater::CGlxHdmiSurfaceUpdater(RWindow* aWindow,
+ const TDesC& aImageFile, MGlxGenCallback* aCallBack):
+ iWindow(aWindow), iImagePath(aImageFile),
+ iCallBack(aCallBack)
{
TRACER("CGlxHdmiSurfaceUpdater::CGlxHdmiSurfaceUpdater()");
// Implement nothing here
@@ -146,7 +146,7 @@
// -----------------------------------------------------------------------------
// ConstructL
// -----------------------------------------------------------------------------
-void CGlxHdmiSurfaceUpdater::ConstructL(TSize /*aImageDimensions*/)
+void CGlxHdmiSurfaceUpdater::ConstructL()
{
TRACER("CGlxHdmiSurfaceUpdater::ConstructL()");
TInt error = iFsSession.Connect ();
@@ -155,7 +155,7 @@
iBitmapReady = EFalse;
// Create the active object
- iGlxDecoderAO = CGlxHdmiDecoderAO::NewL(this, iFrameCount);
+ iGlxDecoderAO = CGlxHdmiDecoderAO::NewL(this);
CreateImageDecoderL(iImagePath);
CreateBitmapL();
CreateHdmiL();
@@ -168,7 +168,7 @@
iStartTime.HomeTime();
#endif
//start decoding the image
- iGlxDecoderAO->ConvertImageL(*iDecodedBitmap,0,iImageDecoder);
+ iGlxDecoderAO->ConvertImageL(*iDecodedBitmap,iImageDecoder);
iLeftCornerForZoom.iX = 0;
iLeftCornerForZoom.iY = 0;
@@ -179,8 +179,7 @@
// -----------------------------------------------------------------------------
// UpdateNewImageL
// -----------------------------------------------------------------------------
-void CGlxHdmiSurfaceUpdater::UpdateNewImageL(const TDesC& aImageFile,
- TInt /*aFrameCount*/,TSize aImageDimensions)
+void CGlxHdmiSurfaceUpdater::UpdateNewImageL(const TDesC& aImageFile)
{
TRACER("CGlxHdmiSurfaceUpdater::UpdateNewImageL()");
//Cancel the zoom timers if any
@@ -189,7 +188,7 @@
GLX_LOG_INFO("CGlxHdmiSurfaceUpdater::UpdateNewImageL() - Cancel Timer");
iTimer->Cancel();
}
- iOrigImageDimensions = aImageDimensions;
+
iBitmapReady = EFalse;
iLeftCornerForZoom.iX = 0;
iLeftCornerForZoom.iY = 0;
@@ -201,7 +200,7 @@
iStartTime.HomeTime();
#endif
//start decoding the image
- iGlxDecoderAO->ConvertImageL(*iDecodedBitmap,0,iImageDecoder);
+ iGlxDecoderAO->ConvertImageL(*iDecodedBitmap,iImageDecoder);
}
// -----------------------------------------------------------------------------
@@ -355,22 +354,23 @@
TRACER("CGlxHdmiSurfaceUpdater::StartImageDecodeL()");
TSize scrnSize = iWindow->Size();
TSize targetBitmapSize;
- GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - bitmapsize=%d, %d",iOrigImageDimensions.iWidth,iOrigImageDimensions.iHeight);
+ TSize imageSize = iImageDecoder->FrameInfo().iOverallSizeInPixels;
+ GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - bitmapsize=%d, %d",imageSize.iWidth,imageSize.iHeight);
TReal32 scaleFactor = 0.0f;
- if (scrnSize.iWidth * iOrigImageDimensions.iHeight > scrnSize.iHeight
- * iOrigImageDimensions.iWidth)
+ if (scrnSize.iWidth * imageSize.iHeight > scrnSize.iHeight
+ * imageSize.iWidth)
{
scaleFactor = (TReal32) scrnSize.iHeight
- / (TReal32) iOrigImageDimensions.iHeight;
+ / (TReal32) imageSize.iHeight;
}
else
{
scaleFactor = (TReal32) scrnSize.iWidth
- / (TReal32) iOrigImageDimensions.iWidth;
+ / (TReal32) imageSize.iWidth;
}
GLX_LOG_INFO1("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - scaleFactor=%f",scaleFactor);
- targetBitmapSize.iHeight = iOrigImageDimensions.iHeight * scaleFactor;
- targetBitmapSize.iWidth = iOrigImageDimensions.iWidth * scaleFactor;
+ targetBitmapSize.iHeight = imageSize.iHeight * scaleFactor;
+ targetBitmapSize.iWidth = imageSize.iWidth * scaleFactor;
GLX_LOG_INFO2("CGlxHdmiSurfaceUpdater::StartImageDecodeL() - targetBitmapSize=%d, %d",targetBitmapSize.iWidth,targetBitmapSize.iHeight);
//create the bitmap for the required size
--- a/photosgallery/viewframework/tvout/src/glxtv.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/tvout/src/glxtv.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -165,17 +165,6 @@
#else
iSettingsTVAspectRatio = 0;
#endif
- // Commenting out code for request notification as these doesnt work fine,
- // would be soon updated with latest api's to support aspectration chnages.
- // Request notification when the user changes cenrep values
-// TInt err = iRepository.NotifyRequest( iSettingsTVAspectRatio, iStatus );
-// if (!(KErrNone ==err ||KErrAlreadyExists ==err))
-// {
-// RDebug::Printf("## Error code in CGlxTv::CGlxTvOutCenRepMonitor::ConstructL() is %d",err);
-// User::Leave(err);
-// }
-
-// SetActive();
}
--- a/photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/bwins/glxuiutilitiesu.def Wed Mar 31 21:31:03 2010 +0300
@@ -60,4 +60,7 @@
?StartTNMDaemonL@CGlxUiUtility@@QAEXXZ @ 59 NONAME ; void CGlxUiUtility::StartTNMDaemonL(void)
?NewL@CGlxProgressIndicator@@SAPAV1@AAVMDialogDismisedObserver@@@Z @ 60 NONAME ; class CGlxProgressIndicator * CGlxProgressIndicator::NewL(class MDialogDismisedObserver &)
?StopTNMDaemonL@CGlxUiUtility@@QAEXXZ @ 61 NONAME ; void CGlxUiUtility::StopTNMDaemonL(void)
+ ?NewL@CGlxMMCNotifier@@SAPAV1@AAVMStorageNotifierObserver@@@Z @ 62 NONAME ; class CGlxMMCNotifier * CGlxMMCNotifier::NewL(class MStorageNotifierObserver &)
+ ?SetGridToolBar@CGlxUiUtility@@QAEXPAVCAknToolbar@@@Z @ 63 NONAME ; void CGlxUiUtility::SetGridToolBar(class CAknToolbar *)
+ ?GetGridToolBar@CGlxUiUtility@@QAEPAVCAknToolbar@@XZ @ 64 NONAME ; class CAknToolbar * CGlxUiUtility::GetGridToolBar(void)
--- a/photosgallery/viewframework/uiutilities/data/glxuiutilities.rss Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/data/glxuiutilities.rss Wed Mar 31 21:31:03 2010 +0300
@@ -615,17 +615,16 @@
//
// -----------------------------------------------------------------------------
//
-RESOURCE AIW_INTEREST r_aiw_share_base_interest
+RESOURCE AIW_INTEREST r_glx_aiw_share_base_interest
{
items=
{
AIW_CRITERIA_ITEM
{
- id = EGlxCmdUpload;// 1006;
+ id = EGlxCmdUpload;
serviceCmd = KAiwCmdUpload;
- contentType = "*";
serviceClass = KAiwClassBase;
- maxProviders = 1;
+ contentType = "image/*";
}
};
}
@@ -833,15 +832,24 @@
buf = "#Removed from Favourites";
}
+RESOURCE CBA r_glx_progressbar_softkey_hide
+ {
+ buttons =
+ {
+ CBA_BUTTON { txt = text_softkey_empty; },
+ CBA_BUTTON { id = EAknSoftkeyHide; txt = qtn_softkey_hide; },
+ CBA_BUTTON { txt = text_softkey_empty; }
+ };
+ }
//resource for waiting dialog
RESOURCE TBUF r_glx_main_list_view_processing_dialog
{
- buf = qtn_lgal_note_wait_processing;
+ buf = qtn_lgal_refreshing_media_note;
}
RESOURCE DIALOG r_progress_note
{
flags = EAknProgressNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
+ buttons = r_glx_progressbar_softkey_hide;
items =
{
DLG_LINE
@@ -851,7 +859,7 @@
control = AVKON_NOTE
{
layout = EProgressLayout;
- singular_label =qtn_lgal_note_wait_processing;
+ singular_label =qtn_lgal_refreshing_media_note;
};
}
};
--- a/photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/eabi/glxuiutilitiesu.def Wed Mar 31 21:31:03 2010 +0300
@@ -79,4 +79,9 @@
_ZTI21CGlxProgressIndicator @ 78 NONAME
_ZTV21CGlxProgressIndicator @ 79 NONAME
_ZN13CGlxUiUtility14StopTNMDaemonLEv @ 80 NONAME
+ _ZN15CGlxMMCNotifier4NewLER24MStorageNotifierObserver @ 81 NONAME
+ _ZTI15CGlxMMCNotifier @ 82 NONAME
+ _ZTV15CGlxMMCNotifier @ 83 NONAME
+ _ZN13CGlxUiUtility14GetGridToolBarEv @ 84 NONAME
+ _ZN13CGlxUiUtility14SetGridToolBarEP11CAknToolbar @ 85 NONAME
--- a/photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/group/glxuiutilities.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -49,6 +49,7 @@
SOURCE mglxactivemedialistresolver.cpp
SOURCE glxskinchangemonitor.cpp
SOURCE glxprogressindicator.cpp
+SOURCE glxmmcnotifier.cpp
// System includes from epoc32/include
APP_LAYER_SYSTEMINCLUDE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/uiutilities/inc/glxmmcnotifier.h Wed Mar 31 21:31:03 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2008-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: MMC Notifier
+*
+*/
+
+#ifndef GLXMMCNOTIFIER_H_
+#define GLXMMCNOTIFIER_H_
+
+#include <f32file.h>
+
+//observer class to notify events
+class MStorageNotifierObserver
+ {
+public:
+ virtual void HandleMMCInsertionL() =0;
+ virtual void HandleMMCRemovalL() =0;
+ };
+/**
+ * states for MMC card
+ */
+enum TGlxMMCState
+ {
+ EMMCStateReset,
+ EMMCStateInsert
+ };
+/**
+ * class declaration
+ */
+class CGlxMMCNotifier : public CActive
+ {
+public:
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CGlxMMCNotifier* NewL(MStorageNotifierObserver& aNotify);
+
+ /**
+ * Two-phased constructor.
+ */
+ static CGlxMMCNotifier* NewLC(MStorageNotifierObserver& aNotify);
+ /**
+ * Destructor
+ */
+ ~CGlxMMCNotifier ();
+
+private:
+ /**
+ * Default constructor
+ */
+ CGlxMMCNotifier (MStorageNotifierObserver& aNotify);
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+private:
+ /**
+ * active object's default implelemtaions
+ */
+ void RunL();
+ void DoCancel();
+
+ /**
+ * IssueRequest
+ */
+ void IssueRequest();
+
+private:
+ /**
+ * file session
+ */
+ RFs iFs;
+ /**
+ * reference of observer
+ */
+ MStorageNotifierObserver& iNotify;
+ /**
+ * MMC state
+ */
+ TGlxMMCState istate;
+ };
+
+#endif /* GLXMMCNOTIFIER_H_ */
--- a/photosgallery/viewframework/uiutilities/inc/glxuiutility.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/inc/glxuiutility.h Wed Mar 31 21:31:03 2010 +0300
@@ -171,23 +171,16 @@
IMPORT_C CGlxScreenFurniture* ScreenFurniture();
/**
- * CHgContextUtility
- * @return pointer to CHgContextUtility
- */
- //IMPORT_C CHgContextUtility* ContextUtility();
-
- /**
* This method can be used to check whether pen support is enabled.
* @return ETrue if pen support is enabled, otherwise EFalse.
*/
IMPORT_C TBool IsPenSupported();
- //Nitz Review Added
+
/**
* This method can be used to set the image size required for Rotation.
* @param aRotatedImageSize the image size to be set.
*/
IMPORT_C void SetRotatedImageSize(TSize aRotatedImageSize);
- //Nitz Review Added end
/**
* This method can be used to Get the image size required for Rotation.
@@ -229,6 +222,17 @@
*/
IMPORT_C TInt VisibleItemsInPageGranularityL();
+ /**
+ * @return The current Grid toolbar being used
+ */
+ IMPORT_C CAknToolbar* GetGridToolBar();
+
+ /**
+ * Set the current Grid toolbar being used
+ * @param aToolbar Current Toolbar
+ */
+ IMPORT_C void SetGridToolBar(CAknToolbar* aToolbar);
+
public: // from class MGlxTvObserver
/**
@@ -350,8 +354,9 @@
TBool iIsExiting;
//Added to give the Image size to the Coverflow Widget for Rotation
TSize iRotatedImageSize;
-
-// CHgContextUtility* iContextUtility;
+
+ //current Toolbar being used
+ CAknToolbar* iToolbar;
};
--- a/photosgallery/viewframework/uiutilities/src/glxanimationimageloading.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxanimationimageloading.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -77,8 +77,6 @@
iImageBrush->SetLayer(EAlfBrushLayerForeground);
iImageBrush->SetBorders(1,1,1,1);
- /// @todo check is this is correct? Rowland 30/10/07 SetClipToVisual is no longer defined
- //iImageBrush->SetClipToVisual(ETrue);
iImageBrush->SetScaleMode(CAlfImageVisual::EScaleFit);
}
--- a/photosgallery/viewframework/uiutilities/src/glxanimationtimed.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxanimationtimed.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -99,8 +99,7 @@
{
iObserver->AnimationComplete( this );
}
- // IMPORTANT!
- // No code after this! Client may delete the animation!
+ // IMPORTANT: No code after this, Client may delete the animation.
}
}
--- a/photosgallery/viewframework/uiutilities/src/glxanimationview.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxanimationview.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -139,7 +139,6 @@
// Find out the screen size
CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
CleanupClosePushL( *uiUtility );
- //TSize dispSize = uiUtility->ScreenFurniture().CentralScreenRect().Size();// tobe implemented by sf
CleanupStack::PopAndDestroy( uiUtility );
// Animate each of the control groups
@@ -155,10 +154,7 @@
// Set up control group transformations
iControlGroups[cg]->EnableTransformationL();
CAlfTransformation& trans = iControlGroups[cg]->Transformation();
-
- //trans.Translate(dispSize.iWidth/2, dispSize.iHeight/2);//tobe implemented by sf
trans.Scale( scale, scale );
- // trans.Translate(-dispSize.iWidth/2, -dispSize.iHeight/2);//tobe implemented by sf
// Set opacity of all toplevel visuals in all controls in this group
TInt controlCount = iControlGroups[cg]->Count();
--- a/photosgallery/viewframework/uiutilities/src/glxattributeretriever.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxattributeretriever.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -304,7 +304,7 @@
* or a CGlxSynchronousAttributeRetriever and the object 'retriever' is of
* class MGlxBlockingAttributeRetriever
*/
- CleanupStack::PopAndDestroy();
+ CleanupStack::PopAndDestroy(); // retriever
return err;
}
@@ -489,7 +489,7 @@
//
void CGlxAttributeRetriever::HandleError(TInt /* aError */)
{
- // An error has been reported. But is it ours?
+ // An error has been reported. But need to check if it is ours
// If the request is not complete then the error is not ours
iRequestCount = 0;
TRAP_IGNORE(NotifyObserverIfCompleteL());
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/uiutilities/src/glxmmcnotifier.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2008-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: MMC Notifier
+*
+*/
+
+
+#include <glxtracer.h>
+#include <glxlog.h>
+
+#include "glxmmcnotifier.h"
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::NewL
+// ---------------------------------------------------------
+//
+EXPORT_C CGlxMMCNotifier* CGlxMMCNotifier::NewL(MStorageNotifierObserver& aNotify)
+ {
+ TRACER("CGlxMMCNotifier::NewL()");
+ CGlxMMCNotifier* self = CGlxMMCNotifier::NewLC(aNotify);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::NewLC
+// ---------------------------------------------------------
+//
+CGlxMMCNotifier* CGlxMMCNotifier::NewLC(MStorageNotifierObserver& aNotify)
+ {
+ TRACER("CGlxMMCNotifier::NewLC()");
+ CGlxMMCNotifier* self = new (ELeave) CGlxMMCNotifier(aNotify);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::CGlxMMCNotifier
+// ---------------------------------------------------------
+//
+CGlxMMCNotifier::CGlxMMCNotifier(MStorageNotifierObserver& aNotify)
+ : CActive( CActive::EPriorityStandard ),iNotify(aNotify)
+ {
+ TRACER("CGlxMMCNotifier::CGlxMMCNotifier()");
+ CActiveScheduler::Add( this );
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::~CGlxMMCNotifier()
+// ---------------------------------------------------------
+//
+CGlxMMCNotifier::~CGlxMMCNotifier()
+ {
+ TRACER("CGlxMMCNotifier::~CGlxMMCNotifier()");
+ Cancel();
+ iFs.Close();
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::IssueRequest()
+// ---------------------------------------------------------
+//
+void CGlxMMCNotifier::IssueRequest()
+ {
+ TRACER("CGlxMMCNotifier::IssueRequest()");
+ if ( !IsActive() )
+ {
+ // Request to get notified of MMC insertion/removal events
+ iFs.NotifyChange( ENotifyDisk, iStatus );
+ SetActive();
+ }
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::ConstructL()
+// ---------------------------------------------------------
+//
+void CGlxMMCNotifier::ConstructL()
+ {
+ TRACER("CGlxMMCNotifier::ConstructL()");
+ TInt err = iFs.Connect();
+ GLX_LOG_INFO1("CGlxMMCNotifier::ConstructL iFs.Connect err %d",err );
+ IssueRequest();
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::DoCancel()
+// ---------------------------------------------------------
+//
+void CGlxMMCNotifier::DoCancel()
+ {
+ TRACER("CGlxMMCNotifier::DoCancel()");
+ iFs.NotifyChangeCancel();
+ }
+
+// ---------------------------------------------------------
+// CGlxMMCNotifier::RunL
+// ---------------------------------------------------------
+//
+void CGlxMMCNotifier::RunL()
+ {
+ TRACER("CGlxMMCNotifier::RunL()");
+ TDriveInfo driveInfo;
+ // Get the drive info for memory card
+ TInt err = iFs.Drive( driveInfo, EDriveF );
+ GLX_LOG_INFO1("CGlxMMCNotifier::RunL err %d",err );
+ if( err == KErrNone )
+ {
+ switch( driveInfo.iType )
+ {
+ case EMediaNotPresent:
+ {
+ //MMC removed don't do anything
+ iNotify.HandleMMCRemovalL();
+ break;
+ }
+ default:
+ {
+ iNotify.HandleMMCInsertionL();
+ //MMC inserted
+ break;
+ }
+ }
+ }
+ // Issue request for next event notification
+ IssueRequest();
+ }
+
+
--- a/photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxprogressindicator.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -33,6 +33,7 @@
EXPORT_C CGlxProgressIndicator* CGlxProgressIndicator::NewL
(MDialogDismisedObserver& aGlxGridViewNotifyObserver)
{
+ TRACER("CGlxProgressIndicator::NewL()");
CGlxProgressIndicator* self = CGlxProgressIndicator::NewLC
(aGlxGridViewNotifyObserver);
CleanupStack::Pop(self);
@@ -46,7 +47,7 @@
CGlxProgressIndicator* CGlxProgressIndicator::NewLC
(MDialogDismisedObserver& aGlxGridViewNotifyObserver)
{
-
+ TRACER("CGlxProgressIndicator::NewLC()");
CGlxProgressIndicator* self = new(ELeave)
CGlxProgressIndicator(aGlxGridViewNotifyObserver);
CleanupStack::PushL(self);
@@ -70,6 +71,7 @@
//
CGlxProgressIndicator::~CGlxProgressIndicator()
{
+ TRACER("CGlxProgressIndicator::~CGlxProgressIndicator()");
if (iProgressbarTicker && iProgressbarTicker->IsActive())
{
iProgressbarTicker->Cancel();
@@ -96,6 +98,7 @@
//
void CGlxProgressIndicator::ConstructL()
{
+ TRACER("CGlxProgressIndicator::ConstructL()");
CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
CleanupClosePushL(*uiUtility);
TRAPD(err,uiUtility->StartTNMDaemonL());
@@ -200,6 +203,7 @@
else
{
iProgressDialog->ProcessFinishedL();
+ iGlxGridViewNotifyObserver.HandleDialogDismissedL();
if(iProgressDialog)
{
iProgressDialog = NULL;
@@ -243,15 +247,9 @@
if(iProgressbarTicker)
{
iProgressbarTicker->Cancel();
- delete iProgressbarTicker;
iProgressbarTicker = NULL;
}
- if (aButtonId == EAknSoftkeyCancel)
- {
- // cancel any process in here
- iGlxGridViewNotifyObserver.HandleDialogDismissedL();
- }
if(iProgressDialog)
{
iProgressDialog = NULL;
--- a/photosgallery/viewframework/uiutilities/src/glxscreenfurniture.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxscreenfurniture.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -154,20 +154,10 @@
// SetVisibility
// -----------------------------------------------------------------------------
//
-EXPORT_C void CGlxScreenFurniture::SetToolbarVisibility( TBool aVisible )
+EXPORT_C void CGlxScreenFurniture::SetToolbarVisibility( TBool /*aVisible*/ )
{
TRACER("CGlxScreenFurniture::SetToolbarVisibility()");
-
- if( aVisible )
- {
- // @TODO: Abhijit : Uncomment the following lines after the Avkon fix in week 02 MCL
- // iToolbar->SetFocus( ETrue, EDrawNow );
- // iToolbar->SetToolbarVisibility( aVisible, ETrue );
- }
- else
- {
- // iToolbar->SetToolbarVisibility( aVisible, EFalse );
- }
+ // Do Nothing
}
// -----------------------------------------------------------------------------
--- a/photosgallery/viewframework/uiutilities/src/glxskinchangemonitor.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxskinchangemonitor.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -40,7 +40,6 @@
//-----------------------------------------------------------------------------
CGlxSkinChangeMonitor::~CGlxSkinChangeMonitor()
{
- //ResetAndDestroy()???
iSkinChangeObservers.Close();
}
--- a/photosgallery/viewframework/uiutilities/src/glxuiutility.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/uiutilities/src/glxuiutility.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -123,23 +123,11 @@
TRACER("CGlxUiUtility::ConstructL()");
iSettingsModel = CGlxSettingsModel::InstanceL();
-
- // Always start in default orientation
- //SetAppOrientationL(EGlxOrientationDefault);
-
- iOrientation = EGlxOrientationDefault;
- // in emulator use bitgdi as open GL does not support changing orientation
-
- // Ferhan (28/06/07) : commenting out usage of opengl because causing drawing problems when using
- // the preview list (gldrawelements method in opengl seems to hang)
- // iEnv = CHuiEnv::Static();
- //@ Fix for error id EABI-7RJA8C
+ iOrientation = EGlxOrientationDefault; // Always start in default orientation
iEnv = CAlfEnv::Static();
if (!iEnv)
{
iEnv = CAlfEnv::NewL();
- // change to this on hw that supports opengl
- // iEnv = CHuiEnv::NewL( EHuiRendererGles10 );
}
else
{
@@ -163,9 +151,6 @@
iEnv->AddActionObserverL (this);
- // Use the Avkon skin background as the display background.
- //iAlfDisplay->SetClearBackgroundL(CAlfDisplay::EClearWithSkinBackground);
-
// create the resoltuion manager - needs to be informed when screen size
// changes
iGlxResolutionManager = CGlxResolutionManager::NewL();
@@ -177,9 +162,6 @@
HandleTvStatusChangedL( ETvConnectionChanged );
iScreenFurniture = CGlxScreenFurniture::NewL(*this);
-
-// iContextUtility = CHgContextUtility::NewL();
-// iContextUtility->RePublishWhenFgL( ETrue );
}
// -----------------------------------------------------------------------------
@@ -191,12 +173,6 @@
TRACER("CGlxUiUtility::~CGlxUiUtility()");
GLX_LOG_INFO("~CGlxUiUtility");
delete iScreenFurniture;
-/* if (iContextUtility)
- {
- delete iContextUtility;
- iContextUtility = NULL;
- }
-*/
// Destroy TV Out related objects
delete iGlxTvOut;
delete iGlxResolutionManager;
@@ -325,7 +301,6 @@
EXPORT_C TSize CGlxUiUtility::DisplaySize() const
{
TRACER("CGlxUiUtility::DisplaySize()");
- //return Env()->PrimaryDisplay().Size();
const TRect& rect = Env()->PrimaryDisplay().VisibleArea();
return rect.Size();
}
@@ -450,6 +425,31 @@
TRACER("CGlxUiUtility::GetGridIconSize()");
return iGridIconSize;
}
+
+// -----------------------------------------------------------------------------
+// SetGridToolBar
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void CGlxUiUtility::SetGridToolBar(CAknToolbar* aToolbar)
+ {
+ TRACER("CGlxUiUtility::SetGridToolBar()");
+ iToolbar = aToolbar;
+ }
+
+// -----------------------------------------------------------------------------
+// GetGridToolBar
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CAknToolbar* CGlxUiUtility::GetGridToolBar()
+ {
+ TRACER("CGlxUiUtility::GetGridToolBar()");
+ if(iToolbar)
+ {
+ return iToolbar;
+ }
+ return NULL;
+ }
+
// -----------------------------------------------------------------------------
// HandleTvStatusChangedL
// -----------------------------------------------------------------------------
@@ -544,9 +544,9 @@
{
delete iTvDisplay;
iTvDisplay = NULL;
- // Remove Primary Window Refresh observer
- //Display()->iRefreshObservers.Remove( *this );
+
iEnv->PauseRefresh();
+
// Disable Primary Window Visibility events
CCoeControl* contl = (CCoeControl*)iEnv->PrimaryDisplay().ObjectProvider();
contl->DrawableWindow()->DisableVisibilityChangeEvents();
@@ -576,27 +576,6 @@
/ phoneDisplaySz.iHeight, tvOutDisplaySz.iHeight );
const TRect tvOutDisplayBuffer( tvOutDisplaySz );
- // Commenting out Creation of second display as it goes into posting surface,
- // Right now, only cloning is going to be the funcationality and posting would be done
- // only for specific views (FS , Zoom and Slideshow)
-// if (!iTvDisplay)
-// {
-// iTvDisplay = &iEnv->NewDisplayL( tvOutDisplayBuffer,
-// CAlfEnv::ENewDisplayAsCoeControl,
-// iGlxTvOut->IsWidescreen() ? CAlfDisplay::EDisplayTvOutWide :
-// CAlfDisplay::EDisplayTvOut );
-//
-// if (iTvDisplay)
-// {
-// // Use the Avkon skin background as the display background.
-// iTvDisplay->SetClearBackgroundL(
-// CAlfDisplay::EClearWithSkinBackground );
-// //Todo
-// // Primary Window Refresh observer
-// iEnv->SetRefreshMode(EAlfRefreshModeAutomatic);
-// }
-// }
-
// Set the TV screen size
iGlxResolutionManager->SetScreenSizeL( tvOutDisplaySz );
}
--- a/photosgallery/viewframework/views/cloudview/group/glxcloudview.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/group/glxcloudview.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -83,5 +83,5 @@
LIBRARY gdi.lib
LIBRARY charconv.lib // For UtfConverter
LIBRARY commonengine.lib
-LIBRARY harvesterclient.lib
+LIBRARY gfxtrans.lib
// End of File
\ No newline at end of file
--- a/photosgallery/viewframework/views/cloudview/inc/glxcloudviewimp.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/inc/glxcloudviewimp.h Wed Mar 31 21:31:03 2010 +0300
@@ -24,7 +24,6 @@
// INCLUDES
#include <AknLayout2Def.h>
#include <alf/alfanchorlayout.h>
-#include <harvesterclient.h>
#include "mglxcloudviewmskobserver.h"
#include "mglxenterkeyeventobserver.h"
@@ -32,6 +31,7 @@
#include "mglxcloudviewlayoutobserver.h"
#include "glxtagscontextmenucontrol.h" // MGlxItemMenuObserver
+#include "glxmmcnotifier.h"
// FORWARD DECLARATIONS
class CGlxCloudViewControl;
@@ -54,7 +54,7 @@
public MGlxEnterKeyEventObserver,
public MGlxCloudViewLayoutObserver,
public MGlxItemMenuObserver,
- public MHarvesterEventObserver
+ public MStorageNotifierObserver
{
public:
@@ -120,6 +120,8 @@
* @param aCommand command to be handled
*/
void HandleGridMenuListL(TInt aCommand);
+public:
+ void HandleForegroundEventL(TBool aForeground);
public:
/**
@@ -128,17 +130,6 @@
* @param aMenuPane The menu pane to edit
*/
void ViewDynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane);
-public:
- /**
- * HarvestingUpdated
- * @param aHEObserverType
- * @param aHarvesterEventState
- * @param aItemsLeft
- */
- void HarvestingUpdated(
- HarvesterEventObserverType aHEObserverType,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft );
protected:
// From CGlxViewBase
@@ -216,6 +207,15 @@
//set the rect for scrollbar
void SetScrollBarRect();
+private:
+ /**
+ * handle mmc insertion event
+ */
+ void HandleMMCInsertionL();
+ /**
+ * handle mmc removal event
+ */
+ void HandleMMCRemovalL();
private:
// Data
@@ -254,7 +254,10 @@
//anchor layout from the view widget
CAlfAnchorLayout* iAnchorlayout;
- RHarvesterClient iHarvesterClient;
+ //mmc notifier
+ CGlxMMCNotifier* iMMCNotifier;
+
+ TBool iMMCState;
};
}
#endif // C_GLXTESTTILEVIEWIMP_H
--- a/photosgallery/viewframework/views/cloudview/src/glxbubbletimer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/src/glxbubbletimer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -33,11 +33,7 @@
CGlxBubbleTimer::~CGlxBubbleTimer()
{
TRACER("GLX_CLOUD::CGlxBubbleTimer::~CGlxBubbleTimer");
- //if (iTimer)
- // {
- //iTimer.Cancel ();
iTimer.Close ();
- //}
if ( iNotifier)
{
iNotifier =NULL;
--- a/photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/src/glxcloudviewimp.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -44,6 +44,11 @@
#include <glxtagsbrowserview.rsg> // For resources
#include "glxcloudviewcontrol.h"//cloud view control
+
+// For transition effects
+#include <AknTransEffect.h>
+#include <GfxTransEffect/GfxTransEffect.h>
+#include "glxgfxtranseffect.h" // For transition effects
const TInt KViewId = 0x200071B7;
@@ -103,12 +108,7 @@
{
TRACER("GLX_CLOUD::CGlxCloudViewImp::ConstructL");
- TInt err = iHarvesterClient.Connect();
- GLX_LOG_INFO1("iHarvesterClient.Connect() err = %d",err);
- if(err == KErrNone)
- {
- iHarvesterClient.AddHarvesterEventObserver(*this, EHEObserverTypeMMC, 1000);
- }
+
TFileName resourceFile(KDC_APP_RESOURCE_DIR);
resourceFile.Append (aFileName);
CGlxResourceUtilities::GetResourceFilenameL (resourceFile);
@@ -128,7 +128,6 @@
{
toolbar->DisableToolbarL(ETrue);
}
-// SetSoftkeysFromResourceIdL (iSoftkeyMskDisabledId); //initially load empty msk
}
// ---------------------------------------------------------------------------
@@ -138,7 +137,10 @@
CGlxCloudViewImp::~CGlxCloudViewImp()
{
TRACER("GLX_CLOUD::CGlxCloudViewImp::~CGlxCloudViewImp");
- iHarvesterClient.Close();
+
+ delete iMMCNotifier;
+ iMMCNotifier = NULL;
+
CleanupVisuals ();
delete iEmptyListText;
if ( iResourceOffset )
@@ -199,12 +201,25 @@
TUid /* aCustomMessageId */, const TDesC8 & /* aCustomMessage */)
{
TRACER("GLX_CLOUD::CGlxCloudViewImp::DoMLViewActivateL");
+
+ TUint transitionID = (iUiUtility->ViewNavigationDirection()==
+ EGlxNavigationForwards)?KActivateTransitionId:KDeActivateTransitionId;
+
+ GfxTransEffect::BeginFullScreen( transitionID, TRect(),
+ AknTransEffect::EParameterType,
+ AknTransEffect::GfxTransParam( KPhotosUid,
+ AknTransEffect::TParameter::EEnableEffects) );
+
+
if(StatusPane())
{
StatusPane()->MakeVisible(ETrue);
}
ConstructCloudControlL();
GLX_LOG_INFO("CGlxCloudViewImp::DoMLViewActivateL Cloud View Control Created" );
+
+ GfxTransEffect::EndFullScreen();
+
// set app state to tag-browser view
GlxSetAppState::SetState (EGlxInTagBrowserView);
}
@@ -235,7 +250,6 @@
TRACER("GLX_CLOUD ::CGlxCloudViewImp::HandleMskChangedL");
GLX_LOG_INFO1("GLX_CLOUD ::GLX_CLOUD ::CGlxCloudViewImp::HandleMskChangedL MSk State %d ",
aMskEnabled);
- //iViewWidget->setRect( ClientRect() );
}
// ---------------------------------------------------------------------------
@@ -277,14 +291,10 @@
}
if( iUiUtility )
{
-
IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(*(iUiUtility->Env ()));
widgetFactory.destroyWidget(iViewWidget);
-
}
iViewWidget = NULL;
- // delete iCloudControl;
- // iCloudControl = NULL;
iScrollbarDefaultBaseElement = NULL;
}
@@ -358,6 +368,8 @@
//acquire the focus so as to get events to your control instead of widgets
iCloudControl->AcquireFocus();
+
+ iMMCNotifier = CGlxMMCNotifier::NewL(*this);
}
// ---------------------------------------------------------------------------
// SetScrollBarRect()
@@ -430,19 +442,39 @@
iCloudControl->ShowContextItemMenu(EFalse);
}
}
+
// ---------------------------------------------------------------------------
-// HarvestingUpdated
+// HandleMMCInsertionL
//
// ---------------------------------------------------------------------------
+void CGlxCloudViewImp::HandleMMCInsertionL()
+ {
+ TRACER("CGlxCloudViewImp::HandleMMCInsertionL()");
+ iMMCState = ETrue;
+ ProcessCommandL(EAknSoftkeyClose);
+ }
+
+// ---------------------------------------------------------------------------
+// HandleMMCRemovalL
+//
+// ---------------------------------------------------------------------------
+void CGlxCloudViewImp::HandleMMCRemovalL()
+ {
+ TRACER("CGlxCloudViewImp::HandleMMCRemovalL()");
+ ProcessCommandL(EAknSoftkeyExit);
+ }
+
+// ---------------------------------------------------------------------------
+// Foreground event handling function.
+// ---------------------------------------------------------------------------
//
-void CGlxCloudViewImp::HarvestingUpdated(
- HarvesterEventObserverType HarvestingUpdated,
- HarvesterEventState /*aHarvesterEventState*/,
- TInt /*aItemsLeft*/ )
+void CGlxCloudViewImp::HandleForegroundEventL(TBool aForeground)
{
- TRACER("CGlxCloudViewImp::HarvestingUpdated()");
- if(HarvestingUpdated == EHEObserverTypeMMC)
+ TRACER("CGlxCloudViewImp::HandleForegroundEventL");
+ CAknView::HandleForegroundEventL(aForeground);
+ if(iMMCState)
{
+ iMMCState = EFalse;
ProcessCommandL(EAknSoftkeyClose);
}
}
--- a/photosgallery/viewframework/views/cloudview/src/glxcontainerinfobubble.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/src/glxcontainerinfobubble.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -358,7 +358,6 @@
void CGlxContainerInfoBubble::SetFocus(TPoint aPos)
{
TRACER("GLX_CLOUD::CGlxContainerInfoBubble::SetFocus");
- //iFocusindex = iMediaList->FocusIndex (); //get the medialist focus index
DisappearBubble ();
if ( iTexture )
--- a/photosgallery/viewframework/views/cloudview/src/glxinfobubble.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/src/glxinfobubble.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -123,22 +123,15 @@
(iTypefaceSecondaryStyleId);
styleSecondary->SetTextSizeInPixels (14, 0);
stylePrimary->SetTextSizeInPixels (21, 0);
-
iBubbleTextTitle->SetTextStyle (iTypefacePrimaryStyleId);
TAlfTimedValue opacity;
opacity.SetTarget(1, 500);
iBubbleTextTitle->SetOpacity(opacity);
-
-// iBubbleTextTitle->iOpacity.Set (1);
iBubbleTextTitle->SetColor (KRgbBlack);
-
iBubbleTextSubTitle->SetTextStyle (iTypefaceSecondaryStyleId);
-
opacity.SetTarget(1, 500);
iBubbleTextSubTitle->SetOpacity(opacity);
-
-// iBubbleTextSubTitle->iOpacity.Set (1);
iBubbleTextSubTitle->SetColor (KRgbBlack);
}
@@ -390,8 +383,6 @@
//assign the params
//setting the texts value and image brush boundary
iBubbleTextTitle->SetTextL(aTitle);
- //to-check
- //iBubbleTextTitle->SetChanged();
iBubbleTextSubTitle->SetTextL(aSubTitle);
_LIT(KNullDesc,"");
iTempTitleText->SetTextL(KNullDesc());
@@ -399,8 +390,6 @@
//loading the texture for thumbanil image
UpdateTextureL(aTexture);
- //to-check
- //iInfoDeck->Changed();
TRect rect;
AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, rect);
iScreenWidth = rect.Width();
@@ -446,7 +435,6 @@
DrawBubbleFourthQuadL(aPos);
}
//to-check
-// iInfoBubble->SetChanged();
//all texture loaded
//now find the width of bubblle and create layout based on these visuals.
@@ -488,34 +476,18 @@
TAlfTimedValue opacity;
opacity.SetTarget(0.9, 500);
iInfoBubble->SetOpacity(opacity);
-
- //iInfoBubble->iOpacity.Set(0.9, 1000);
iInfoDeck->SetPos(iBubbleRectDrawPoint);
CreateItemContainerLayoutL();
//Setting properies for Layouts
iInfoDeck->MoveToFront();
-
-// TAlfTimedValue opacity;
opacity.SetTarget(0, 500);
iInfoDeck->SetOpacity(opacity);
-
-// iInfoDeck->iOpacity.Set(0);
-
opacity.SetTarget(1.0, 800);
iInfoDeck->SetOpacity(opacity);
- //iInfoDeck->iOpacity.Set(1.0,800);
-
opacity.SetTarget(1.0, 500);
iInfoBubble->SetOpacity(opacity);
- //iInfoBubble->iOpacity.Set(1.0);
-
iInfoBubbleContainer->MoveToFront();
- //to-check
- // iInfoDeck->SetChanged();
-
- /// @todo would need to reposition the tail as well somehow!!!
-
}
void CGlxInfoBubble::DrawBubbleFirstQuadL(TPoint aReferencepos)
--- a/photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/fullscreenview/group/glxfullscreenview.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -98,6 +98,7 @@
LIBRARY glxcommon.lib // for filter facotory
LIBRARY glxcommonui.lib
LIBRARY glxtvout.lib
-LIBRARY harvesterclient.lib
+LIBRARY gfxtrans.lib
+LIBRARY akntransitionutils.lib
// EOF
--- a/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/fullscreenview/inc/glxfullscreenviewimp.h Wed Mar 31 21:31:03 2010 +0300
@@ -26,7 +26,8 @@
#include "glxfullscreenview.h"
#include "glxfullscreenbindingsetfactory.h"
#include "glxfullscreenview.hrh"
-#include <harvesterclient.h>
+#include "glxmmcnotifier.h"
+
//Gesture Helper namespace
namespace GestureHelper
{
@@ -77,7 +78,7 @@
NONSHARABLE_CLASS (CGlxFullScreenViewImp): public CGlxFullScreenView,
public IAlfWidgetEventHandler,
public MGlxUiCommandHandler,
- public MHarvesterEventObserver
+ public MStorageNotifierObserver
{
public:
/**
@@ -144,12 +145,6 @@
AlfEventHandlerExecutionPhase eventExecutionPhase() ;
-public:
- // from MHarvesterEventObserver
- void HarvestingUpdated(
- HarvesterEventObserverType aHEObserverType,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft );
private:
/*
@@ -270,11 +265,24 @@
/**
* Consume DRM rights
*/
- void ConsumeDRMRightsL( const TDesC& uri );
+ void ConsumeDRMRightsL(const TGlxMedia& aMedia);
/**
* Set the image to external display - HDMI
*/
void SetItemToHDMIL();
+ /**
+ * handle MMC insertion
+ */
+ void HandleMMCInsertionL();
+ /**
+ * handle MMC removal
+ */
+ void HandleMMCRemovalL();
+
+ /**
+ * navigate to main list
+ */
+ void NavigateToMainListL();
private:
/** Softkey resource id's */
TFullScreenViewResourceIds iResourceIds;
@@ -312,8 +320,6 @@
CGlxCommandHandlerAiwShowMapHardKey* iShowOnMapHardKeyhandler;
CGlxScreenFurniture* iScreenFurniture;
- //CGlxSingleLineMetaPane* iSingleLineMetaPane;
-// CHgContextUtility* iContextUtility;
CGlxHdmiController* iHdmiController;
CGlxDRMUtility* iDrmUtility;
@@ -328,7 +334,8 @@
//Previous focused index
TInt iOldFocusIndex;
TBool iImgViewerMode;
- RHarvesterClient iHarvesterClient;
+ CGlxMMCNotifier* iMMCNotifier;
+ TBool iMMCState;
};
#endif
--- a/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenbindingsetfactory.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenbindingsetfactory.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -86,9 +86,7 @@
*/
void TGlxMulFSMPTitleBindingSetFactory::AddBindingsL() const
{
- //AddIconBindingL( Alf::mulvisualitem::KMulIcon1 /*CGlxMulStaticIconProvider::NewL(resource ID)*/ );//@todo the resource file from which this to be read
AddMpxAttributeBindingL( Alf::mulvisualitem::KMulTitle1 , KMPXMediaGeneralTitle );
- //AddIconBindingL( Alf::mulvisualitem::KMulIcon1, CGlxMulStaticIconProvider::NewL(EMbmGlxiconsQgn_lgal_icon_tag_list));
AddTemplateBindingL(Alf::mulwidget::KTemplate5);
}
@@ -114,7 +112,6 @@
*/
void TGlxMulFSMPDateBindingSetFactory::AddBindingsL() const
{
- //AddThumbnailBindingL( Alf::mulvisualitem::KMulIcon1 );
AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralDate,
R_QTN_DATE_USUAL_WITH_ZERO );
AddTemplateBindingL(Alf::mulwidget::KTemplate3);
@@ -199,8 +196,6 @@
*/
void TGlxMulFSMPAlbumBindingSetFactory::AddBindingsL() const
{
-// AddIconBindingL( Alf::mulvisualitem::KMulIcon1 /*CGlxMulStaticIconProvider::NewL(resource ID)//qgn_lgal_fullscr_meta_album
- //AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralTitle );
AddTemplateBindingL(Alf::mulwidget::KTemplate4);
}
@@ -227,7 +222,6 @@
*/
void TGlxMulFSMPLocationBindingSetFactory::AddBindingsL() const
{
-// AddIconBindingL( Alf::mulvisualitem::KMulIcon1, KGlxMediaGeneralLocation );//qgn_lgal_metapane_location
AddIconBindingL( Alf::mulvisualitem::KMulIcon1,
CGlxMulLocationIconProvider::NewL(), KDefaultIconSize );
AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KGlxMediaGeneralLocation );//@todo
@@ -259,8 +253,6 @@
*/
void TGlxMulFSMPTagsBindingSetFactory::AddBindingsL() const
{
-// AddIconBindingL( Alf::mulvisualitem::KMulIcon1 /*CGlxMulStaticIconProvider::NewL(resource ID)//QTN_LGAL_FULLSCR_METAPANE_TAGS //@todo
- //AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralTitle );//@todo
AddTemplateBindingL(Alf::mulwidget::KTemplate4);
}
--- a/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/fullscreenview/src/glxfullscreenviewimp.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -25,6 +25,11 @@
#include <glxcollectionpluginimageviewer.hrh>
#include <StringLoader.h> // String Loader
+//For animation Effects
+#include <akntranseffect.h>
+#include <akntransitionutils.h>
+#include <alf/alflayout.h>
+
// Alf Headers
#include <alf/ialfwidgetfactory.h> // widget factory
#include <alf/alfwidgetcontrol.h> // To get CAlfControl from CAlfWidgetControl
@@ -68,6 +73,7 @@
#include <mpxcollectionpath.h>
#include <glxcollectionpluginimageviewer.hrh>
#include "glxfullscreenbusyicon.h"
+
using namespace Alf;
const TInt KGlxScreenTimeout =10000000;
@@ -87,12 +93,14 @@
const TInt KPeriodicIntervalDelay = 100000;
//This constant is used to calculate the index of the item for which texture has to removed.
-//6 = 5(iterator value in forward or backward direction for fullscreen) + 1(focus index);
+//6 = 5(iterator value in forward or backward direction for fullscreen) + 1(focus index)
const TInt KFullScreenIterator = 3;
//Constant which says maximum number of fullscreen textures that we have have at a time.
//11 = (5(5 fullscreen texture backwards)+1(fucus index texture)+5(5 fullscreen texture forwards))
const TInt KFullScreenTextureOffset = 5;
+_LIT( KTfxResourceActivateFullScreen, "z:\\resource\\effects\\photos_fullscreen_open.fxml" );
+
// ======== MEMBER FUNCTIONS ========
// ---------------------------------------------------------------------------
@@ -195,12 +203,7 @@
// Get object that stores the active media list registry
iActiveMediaListRegistry = CGlxActiveMediaListRegistry::InstanceL();
- TInt err = iHarvesterClient.Connect();
- GLX_LOG_INFO1("iHarvesterClient.Connect() err = %d",err);
- if(err == KErrNone)
- {
- iHarvesterClient.AddHarvesterEventObserver(*this, EHEObserverTypeMMC, 1000);
- }
+ iMMCNotifier = CGlxMMCNotifier::NewL(*this);
if(!iPeriodic)
{
iPeriodic = CPeriodic::NewL(CActive::EPriorityStandard);
@@ -214,7 +217,10 @@
CGlxFullScreenViewImp::~CGlxFullScreenViewImp()
{
TRACER("CGlxFullScreenViewImp::~CGlxFullScreenViewImp");
- iHarvesterClient.Close();
+
+ delete iMMCNotifier;
+ iMMCNotifier = NULL;
+
delete iMediaListMulModelProvider;
if(iTimer->IsActive())
{
@@ -342,9 +348,6 @@
SetItemToHDMIL();
}
iScreenFurniture->SetActiveView(iViewUid);
-
- // create the screen furniture for touch devices
- CreateScreenFurnitureL();
//set the ui state to off,when the Fullscreen launches
SetUiSate(NGlxNFullScreenUIState::EUiOff);
@@ -354,6 +357,9 @@
// create the coverflow
CreateCoverflowWidgetL();
+ // create the screen furniture for touch devices
+ CreateScreenFurnitureL();
+
CreateSliderWidgetL();
iBusyIcon = CGlxFullScreenBusyIcon::NewL(*iMediaList,*iUiUtility);
@@ -366,11 +372,32 @@
// Set active media list pointer, so that UPnP renderer knows about this list
iActiveMediaListRegistry->RegisterActiveMediaList(iMediaList);
- if ( !iPeriodic->IsActive() )
- {
+ if ( !iPeriodic->IsActive() )
+ {
iPeriodic->Start(KPeriodicStartDelay, KPeriodicIntervalDelay,
TCallBack(&PeriodicCallback, static_cast<TAny*> (this)));
- }
+ }
+
+ //Set the animation effect for the coverflow widget since the animation
+ //does not work for both avkon and alf together. This can be done since the
+ //UI Screen furnitures are disabled by default while going to fullscreen.
+ //Check if the transitions are enabled from themes
+ if (CAknTransitionUtils::TransitionsEnabled(
+ AknTransEffect::EFullScreenTransitionsOff))
+ {
+ const_cast<CAlfLayout&> (iCoverFlowWidget->ContainerLayout()).SetEffectL(
+ KTfxResourceActivateFullScreen);
+ }
+
+ //Disable the status pane here as it causes flicker while animating
+ CAknViewAppUi* appui = AppUi();
+ if ( appui )
+ {
+ appui->StatusPane()->MakeVisible(EFalse);
+ appui->Cba()->MakeVisible(EFalse);
+ }
+
+ iViewWidget->show(true);
}
@@ -400,7 +427,6 @@
iViewWidget->enableControlPane(EFalse);
iViewWidget->enableStatusPane(EFalse);
iViewWidget->setRect(TRect(TPoint(0, 0), AlfUtil::ScreenSize()));
- iViewWidget->show(true);
// create coverflow widget
iCoverFlowWidget = widgetFactory.createWidget<IMulCoverFlowWidget> (
KWidgetName, KCoverflowWidget, *iViewWidget, NULL);
@@ -409,14 +435,6 @@
// Widget takes the ownership
iCoverFlowWidget->AddEventHandler(*this);
- CAknViewAppUi* appui = AppUi();
- if ( appui )
- {
- appui->StatusPane()->MakeVisible(EFalse);
- appui->Cba()->MakeVisible(EFalse);
- }
-
- iCoverFlowWidget->ShowWidget(ETrue);
iCoverFlowWidget->control()->AcquireFocus();
iMediaListMulModelProvider = CGlxMediaListMulModelProvider::NewL(
*iEnv, *iCoverFlowWidget, *iMediaList, iFullScreenBindingSet,
@@ -481,8 +499,9 @@
TBool isDrmRightsValid = ETrue;
if(item.IsDrmProtected())
{
- //Fix for ESLM-82WJ59: Since it is always for the focused item - use DisplayRightsL instead of openrightsL
- isDrmRightsValid = iDrmUtility->CheckDisplayRightsL(item.Uri(), (item.Category() == EMPXImage));
+ //Since it is always for the focused item - use DisplayItemRightsCheckL instead of ItemRightsValidityCheckL
+ isDrmRightsValid = iDrmUtility->DisplayItemRightsCheckL(item.Uri(),
+ (item.Category() == EMPXImage));
}
// Display slider only for non corrupted images and items with valid DRM license
@@ -556,8 +575,6 @@
// hide the softkeys
Cba()->MakeVisible( EFalse );
Cba()->DrawNow();
- // Hide the metapane
- //iSingleLineMetaPane->ShowMetaPane(EFalse);
// set the ui state to On
SetUiSate(NGlxNFullScreenUIState::EUiOff);
@@ -574,9 +591,6 @@
CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
CleanupStack::PushL( cba );
cba->SetCommandSetL(R_GLX_FULLSCREEN_SOFTKEYS);
- // hide the softkeys
- cba->MakeVisible( EFalse );
- cba->DrawNow();
CleanupStack::Pop(cba);
}
@@ -684,8 +698,9 @@
TBool isDrmRightsValid = ETrue;
if(item.IsDrmProtected())
{
- //Fix for ESLM-82WJ59: DRM Rights validity check for displayed item
- isDrmRightsValid = iDrmUtility->CheckDisplayRightsL(item.Uri(), (item.Category() == EMPXImage));
+ //DRM Rights validity check for displayed item
+ isDrmRightsValid = iDrmUtility->DisplayItemRightsCheckL(item.Uri(),
+ (item.Category() == EMPXImage));
}
// Activate Zoom if the item is an image and its DRM rights is not expired
if(KErrNone == error && (EMPXImage == item.Category()) && isDrmRightsValid)
@@ -756,10 +771,10 @@
void CGlxFullScreenViewImp::DoMLViewDeactivate()
{
TRACER("CGlxFullScreenViewImp::DoMLViewDeactivate");
- //Fix for ESLM-82WJ59: Clear the last uri for which DRM Rights were consumed before going back to grid view
+ //Clear the last uri for which DRM Rights were consumed before going back to grid view
//since the GridView::Activate() and FullScreen::DeActivate() can be called in any order,
//this call is being made to be on safer side
- iDrmUtility->ClearLastConsumedItemUri();
+ iDrmUtility->ClearLastConsumedItemUriL();
iScreenFurniture->ViewDeactivated(iViewUid);
iImgViewerMode = EFalse;
if (iHdmiController)
@@ -800,8 +815,12 @@
{
TRACER("CGlxFullScreenViewImp::HandleForegroundEventL");
CAknView::HandleForegroundEventL(aForeground);
+ if(iMMCState)
+ {
+ iMMCState =EFalse;
+ NavigateToMainListL();
+ }
-
if(iZoomControl && iZoomControl->Activated())
{
iZoomControl->HandleZoomForegroundEvent(aForeground);
@@ -1267,29 +1286,28 @@
}
// ---------------------------------------------------------------------------
-//
-// Shows expiry note/dialog for expired DRM files, can leave
+// Shows expiry note / Consumes DRM rights for expired DRM files
// ---------------------------------------------------------------------------
//
void CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()
{
- TRACER("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL");
- if(iMediaList->Count()>0)
- {
+ TRACER("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL");
+ if (iMediaList->Count() > 0)
+ {
const TGlxMedia& media = iMediaList->Item(iMediaList->FocusIndex());
TInt tnError = GlxErrorManager::HasAttributeErrorL(
media.Properties(), KGlxMediaIdThumbnail);
GLX_LOG_INFO1("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()"
" tnError=%d ", tnError);
- TSize tnSize = iUiUtility->DisplaySize();
- TMPXAttribute qtyTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId(ETrue, tnSize.iWidth,
- tnSize.iHeight));
- const CGlxThumbnailAttribute* qtyTn = media.ThumbnailAttribute(
- qtyTnAttrib);
+ if (media.IsDrmProtected())
+ {
+ GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()"
+ "- ConsumeDRMRightsL()");
+ ConsumeDRMRightsL(media);
+ }
- if (qtyTn)
+ if (tnError == KErrNone)
{
if (iPeriodic->IsActive())
{
@@ -1297,15 +1315,10 @@
}
}
- if (tnError == KErrNone && qtyTn && media.IsDrmProtected())
- {
- GLX_LOG_INFO("CGlxFullScreenViewImp::ShowDrmExpiaryNoteL()"
- "- ConsumeDRMRightsL()");
- const TDesC& uri = media.Uri();
- ConsumeDRMRightsL(uri);
- }
-
- if (tnError != KErrNone)
+ TMPXGeneralCategory cat = media.Category();
+ TBool checkViewRights = (cat == EMPXImage);
+ if (iDrmUtility->ItemRightsValidityCheckL(media.Uri(),
+ checkViewRights) && tnError != KErrNone)
{
if (iPeriodic->IsActive())
{
@@ -1326,29 +1339,55 @@
CleanupStack::PopAndDestroy(naviState);
CleanupStack::PopAndDestroy(navigationalState);
}
- }
- }
+ }
+ }
// ---------------------------------------------------------------------------
-//
-// consumes DRM rights for DRM files, can leave
+// Consumes DRM rights / Shows DRM rights (if expired) information
+// for DRM files
// ---------------------------------------------------------------------------
//
-void CGlxFullScreenViewImp::ConsumeDRMRightsL( const TDesC& uri )
+void CGlxFullScreenViewImp::ConsumeDRMRightsL(const TGlxMedia& aMedia)
{
TRACER("CGlxFullScreenViewImp::ConsumeDRMRightsL");
- if( uri.Length() > 0 )
+ const TDesC& uri = aMedia.Uri();
+ if (uri.Length() > 0)
{
// check if rights have expired
- TBool expired = !iDrmUtility->CheckOpenRightsL(uri,ETrue);
- if(expired)
+ TBool expired = !iDrmUtility->ItemRightsValidityCheckL(uri, ETrue);
+ if (expired)
{
- iBusyIcon->ShowBusyIconL(EFalse);
+ if (iPeriodic->IsActive())
+ {
+ iPeriodic->Cancel();
+ }
+ iBusyIcon->ShowBusyIconL(EFalse);
iDrmUtility->ShowRightsInfoL(uri);
return;
}
- iDrmUtility->ConsumeRightsL(uri);
- }
+
+ TSize tnSize = iUiUtility->DisplaySize();
+ TMPXAttribute qtyTnAttrib = TMPXAttribute(KGlxMediaIdThumbnail,
+ GlxFullThumbnailAttributeId(ETrue, tnSize.iWidth,
+ tnSize.iHeight));
+ const CGlxThumbnailAttribute* qtyTn = aMedia.ThumbnailAttribute(
+ qtyTnAttrib);
+
+ TInt tnError = GlxErrorManager::HasAttributeErrorL(
+ aMedia.Properties(), KGlxMediaIdThumbnail);
+ GLX_LOG_INFO1("CGlxFullScreenViewImp::ConsumeDRMRightsL()"
+ " tnError=%d ", tnError);
+ if (qtyTn && tnError == KErrNone)
+ {
+ if (iPeriodic->IsActive())
+ {
+ iPeriodic->Cancel();
+ }
+ GLX_LOG_INFO("CGlxFullScreenViewImp::ConsumeDRMRightsL()"
+ "- ConsumeRights");
+ iDrmUtility->ConsumeRightsL(uri);
+ }
+ }
}
// ---------------------------------------------------------------------------
@@ -1381,6 +1420,7 @@
return swipedirection;
}
+
// ---------------------------------------------------------------------------
//
// Gets the index of the item for which the texture has to be removed
@@ -1413,6 +1453,7 @@
GLX_LOG_INFO1("CGlxFullScreenViewImp::GetIndexToBeRemoved index tobe removed %d",indextoberemoved );
return indextoberemoved;
}
+
// ---------------------------------------------------------------------------
//
// Remove the texture on every swipe while HDMI is connected.
@@ -1444,8 +1485,7 @@
// then dont SetImageToHDMI :)
if( ( KErrNotFound == focusIndex)
|| (0 == iMediaList->Count())
- || (NULL == iHdmiController)
- || (!iHdmiController->IsHDMIConnected()))
+ || (NULL == iHdmiController))
{
GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - Cant Set Image To HDMI");
return;
@@ -1460,38 +1500,45 @@
// and it has valid DRM Viewing rights
// and it has no attribute error
if ( (item.Category() != EMPXVideo)
- && iDrmUtility->CheckOpenRightsL(item.Uri(), ETrue)
+ && iDrmUtility->ItemRightsValidityCheckL(item.Uri(), ETrue)
&& (error == KErrNone) )
{
GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - CGlxHdmi - Setting the Image");
- TInt frameCount(0);
- TSize orignalSize;
- item.GetFrameCount(frameCount);
- item.GetDimensions(orignalSize);
- iHdmiController->SetImageL(item.Uri(), orignalSize, frameCount);
+ iHdmiController->SetImageL(item.Uri());
}
else
{
GLX_LOG_INFO("CGlxFullScreenViewImp::SetImageToHDMIL - Unsupported Item");
//Set the external display to cloning mode if
//the current item is something we dont support
- //(e.g. video, corrupted item, item with invalid DRM);
+ //(e.g. video, corrupted item, item with invalid DRM)
iHdmiController->ItemNotSupported();
}
iOldFocusIndex = iMediaList->FocusIndex();
}
+
// ---------------------------------------------------------------------------
-// HarvestingUpdated
+// HandleMMCInsertionL
//
// ---------------------------------------------------------------------------
-//
-void CGlxFullScreenViewImp::HarvestingUpdated(
- HarvesterEventObserverType HarvestingUpdated,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft )
+void CGlxFullScreenViewImp::HandleMMCInsertionL()
{
- TRACER("CGlxFullScreenViewImp::HarvestingUpdated()");
- if(HarvestingUpdated == EHEObserverTypeMMC)
+ TRACER("CGlxFullScreenViewImp::HandleMMCInsertionL()");
+ iMMCState = ETrue;
+ NavigateToMainListL();
+ }
+
+// ---------------------------------------------------------------------------
+// NavigateToMainListL
+//
+// ---------------------------------------------------------------------------
+void CGlxFullScreenViewImp::NavigateToMainListL()
+ {
+ TRACER("CGlxFullScreenViewImp::NavigateToMainListL()");
+ CGlxNavigationalState* navigationalState = CGlxNavigationalState::InstanceL();
+ CleanupClosePushL( *navigationalState );
+ CMPXCollectionPath* naviState = navigationalState->StateLC();
+ if (naviState->Id() != TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid))
{
if(iZoomControl && iZoomControl->Activated())
{
@@ -1500,4 +1547,21 @@
}
ProcessCommandL(EAknSoftkeyClose);
}
+ CleanupStack::PopAndDestroy(naviState);
+ CleanupStack::PopAndDestroy(navigationalState);
}
+
+// ---------------------------------------------------------------------------
+// HandleMMCInsertionL
+//
+// ---------------------------------------------------------------------------
+void CGlxFullScreenViewImp::HandleMMCRemovalL()
+ {
+ TRACER("CGlxFullScreenViewImp::HandleMMCRemovalL()");
+ if(iZoomControl && iZoomControl->Activated())
+ {
+ SetSliderLevel();
+ DeactivateZoomControlL();
+ }
+ ProcessCommandL(EAknSoftkeyExit);
+ }
--- a/photosgallery/viewframework/views/gridview/group/glxgridview.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/group/glxgridview.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -77,5 +77,6 @@
LIBRARY aknskins.lib
LIBRARY featmgr.lib // FeatureManager
LIBRARY harvesterclient.lib
+LIBRARY gfxtrans.lib
// End of File
--- a/photosgallery/viewframework/views/gridview/inc/glxgridviewcontainer.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/inc/glxgridviewcontainer.h Wed Mar 31 21:31:03 2010 +0300
@@ -35,9 +35,9 @@
#include <glxthumbnailcontext.h>
#include <glxuistd.h>
#include <glxprogressindicator.h>
-#include <harvesterclient.h>
#include "glxgridvieweventobserver.h"
+#include "glxmmcnotifier.h"
class CHgGrid;
class CGlxUiUtility;
@@ -54,7 +54,7 @@
public MHgScrollBufferObserver,
public MHgSelectionObserver,
public MHgMarkingObserver,
- public MHarvesterEventObserver
+ public MStorageNotifierObserver
{
public:
/**
@@ -97,12 +97,6 @@
//handle orientaion realted changes
void HandleResourceChange(TInt aType);
-public:
- // from MHarvesterEventObserver
- void HarvestingUpdated(
- HarvesterEventObserverType aHEObserverType,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft );
private:
/**
@@ -158,6 +152,14 @@
* Required as the tool bar is dynamically created.
*/
TRect GetHgGridRect();
+ /**
+ * handle mmc insertion event
+ */
+ void HandleMMCInsertionL();
+ /**
+ * handle mmc removal event
+ */
+ void HandleMMCRemovalL();
private:
//medialist
@@ -219,7 +221,7 @@
//toolbar - created dynamically.
CAknToolbar* iToolbar;
CGlxProgressIndicator* iProgressIndicator;
- RHarvesterClient iHarvesterClient;
+ CGlxMMCNotifier* iMMCNotifier;
};
#endif // CGLXGRIDVIEWCONTROL_H
--- a/photosgallery/viewframework/views/gridview/inc/glxgridviewimp.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/inc/glxgridviewimp.h Wed Mar 31 21:31:03 2010 +0300
@@ -124,6 +124,7 @@
CGlxGridViewContainer* iGlxGridViewContainer;
//toolbar - created dynamically.
CAknToolbar* iToolbar;
+ TBool iMMCState;
};
#endif // C_GLXGRIDLVIEWIMP_H
--- a/photosgallery/viewframework/views/gridview/inc/glxgridviewmlobserver.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/inc/glxgridviewmlobserver.h Wed Mar 31 21:31:03 2010 +0300
@@ -103,10 +103,10 @@
void UpdateItemsL (TInt aItemIndex,const RArray<TMPXAttribute>& aAttributes);
/**
- * DisplayErrorNote - Show an error note based on input parameter
+ * DisplayErrorNoteL - Show an error note based on input parameter
* @param aError The error based on which the error note is to be shown.
*/
- void DisplayErrorNote(TInt aError);
+ void DisplayErrorNoteL(TInt aError);
private:
@@ -123,15 +123,13 @@
//No of visible items in a page/view
TInt iItemsPerPage;
- // Has the error in disk (e.g disk error) been shown to the user?
+ // Variable to check if the error in disk (e.g disk error) has been shown to the user.
// If a disk is full the user should not be intimated everytime over and over again.
TInt iDiskErrorIntimated;
// Modified Indexes array to refresh the screen
RArray<TInt> iModifiedIndexes;
-// CHgContextUtility* iContextUtility;
-
//Grid Thumbnail Attribs
TMPXAttribute iQualityTnAttrib;
TMPXAttribute iSpeedTnAttrib;
--- a/photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/src/glxgridviewcontainer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -85,7 +85,10 @@
CGlxGridViewContainer::~CGlxGridViewContainer()
{
TRACER("CGlxGridViewContainer::~CGlxGridViewContainer");
- iHarvesterClient.Close();
+
+ delete iMMCNotifier;
+ iMMCNotifier = NULL;
+
if(iBgContext)
{
delete iBgContext;
@@ -161,10 +164,10 @@
// For DRM Utility
iDRMUtility = CGlxDRMUtility::InstanceL();
- //Fix for ESLM-82WJ59: Clear the last uri for which DRM Rights were consumed
- //since the GridView::Activate() and FullScreen::DeActivate() can be called in any order,
- //this call is being made to be on safer side
- iDRMUtility->ClearLastConsumedItemUri();
+ //Clear the last uri for which DRM Rights were consumed
+ //since the GridView::Activate() and FullScreen::DeActivate()
+ //can be called in any order, this call is being made to be on safer side
+ iDRMUtility->ClearLastConsumedItemUriL();
// background Skin Context for the skin support
TRect apRect = iEikonEnv->EikAppUi()->ApplicationRect();
@@ -180,12 +183,7 @@
iGridIconSize.iHeight ) );
CreateGridL();
- TInt err = iHarvesterClient.Connect();
- GLX_LOG_INFO1("iHarvesterClient.Connect() err = %d",err);
- if(err == KErrNone)
- {
- iHarvesterClient.AddHarvesterEventObserver(*this, EHEObserverTypeMMC, 1000);
- }
+ iMMCNotifier = CGlxMMCNotifier::NewL(*this);
}
// ---------------------------------------------------------------------------
@@ -495,7 +493,10 @@
void CGlxGridViewContainer::CreateGridAfterFSDeactivatedL()
{
TRACER("CGlxGridViewContainer::CreateGridAfterFSDeactivatedL()");
- if (iBackwardActivation)
+ TInt focusIndex = iMediaList->FocusIndex();
+ GLX_LOG_INFO1("CreateGridAfterFSDeactivatedL() focusIndex=%d", focusIndex);
+
+ if (iBackwardActivation)
{
TInt mlCount = iMediaList->Count();
GLX_LOG_INFO1("CreateGridAfterFSDeactivatedL() mlCount=%d", mlCount);
@@ -512,7 +513,6 @@
iHgGrid->DrawNow();
}
- TInt focusIndex = iMediaList->FocusIndex();
TSize setSize = CHgGrid::PreferredImageSize();
TFileName resFile(KDC_APP_BITMAP_DIR);
resFile.Append(KGlxIconsFilename);
@@ -521,10 +521,13 @@
{
SetIconsL(index);
}
-
- iHgGrid->SetSelectedIndex(focusIndex);
- iHgGrid->RefreshScreen(focusIndex);
}
+
+ if (focusIndex != KErrNotFound)
+ {
+ iHgGrid->SetSelectedIndex(focusIndex);
+ iHgGrid->RefreshScreen(focusIndex);
+ }
iBackwardActivation = EFalse;
}
@@ -607,7 +610,7 @@
TMPXGeneralCategory cat = item.Category();
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
iHgGrid->ItemL(index).SetFlags(CHgItem::EHgItemFlagsDrmRightsValid);
}
@@ -621,7 +624,7 @@
TMPXGeneralCategory cat = item.Category();
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
iHgGrid->ItemL(index).SetFlags(CHgItem::EHgItemFlagsDrmRightsValid);
}
@@ -731,8 +734,8 @@
{
iIsFSVideoViewActivating = ETrue;
iFullscreenViewActivated = ETrue;
+ iGlxGridViewObserver.HandleGridEventsL(EGlxCmdPlay) ;
iIsFSVideoViewActivating = EFalse;
- iGlxGridViewObserver.HandleGridEventsL(EGlxCmdPlay) ;
}
}
else
@@ -931,22 +934,22 @@
}
// ---------------------------------------------------------------------------
-// HarvestingUpdated
+// HandleMMCInsertionL
//
// ---------------------------------------------------------------------------
-//
-void CGlxGridViewContainer::HarvestingUpdated(
- HarvesterEventObserverType HarvestingUpdated,
- HarvesterEventState aHarvesterEventState,
- TInt aItemsLeft )
+void CGlxGridViewContainer::HandleMMCInsertionL()
{
- TRACER("CGlxGridViewContainer::HarvestingUpdated()");
- GLX_LOG_INFO1("HarvestingUpdated = %d",HarvestingUpdated);
- GLX_LOG_INFO1("aHarvesterEventState = %d",aHarvesterEventState);
- GLX_LOG_INFO1("aItemsLeft = %d",aItemsLeft);
- if(HarvestingUpdated == EHEObserverTypeMMC)
- {
- iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyClose);
- }
+ TRACER("CGlxGridViewContainer::HandleMMCInsertionL()");
+ iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyClose);
+ }
+
+// ---------------------------------------------------------------------------
+// HandleMMCRemovalL
+//
+// ---------------------------------------------------------------------------
+void CGlxGridViewContainer::HandleMMCRemovalL()
+ {
+ TRACER("CGlxGridViewContainer::HandleMMCRemovalL()");
+ iGlxGridViewObserver.HandleGridEventsL(EAknSoftkeyExit);
}
//end of file
--- a/photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/src/glxgridviewimp.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -39,6 +39,11 @@
#include "glxgridviewmlobserver.h" // medialist observer for Hg Grid
#include "glxgridviewcontainer.h"
+// For transition effects
+#include <AknTransEffect.h>
+#include <GfxTransEffect/GfxTransEffect.h>
+#include "glxgfxtranseffect.h" // For transition effects
+
const TInt KGlxToolbarButtonUnLatched = 0; // Toolbar mark button's unlatched state defined in the rss file
// ======== MEMBER FUNCTIONS ========
@@ -129,6 +134,15 @@
{
TRACER("CGlxGridViewImp::DoMLViewActivateL()");
+ TUint transitionID = (iUiUtility->ViewNavigationDirection()==
+ EGlxNavigationForwards)?KActivateTransitionId:KFSDeActivateTransitionId;
+
+ GfxTransEffect::BeginFullScreen( transitionID, TRect(),
+ AknTransEffect::EParameterType,
+ AknTransEffect::GfxTransParam( KPhotosUid,
+ AknTransEffect::TParameter::EEnableEffects) );
+ GfxTransEffect::EndFullScreen();
+
if(StatusPane())
{
StatusPane()->MakeVisible(ETrue);
@@ -261,6 +275,11 @@
void CGlxGridViewImp::HandleForegroundEventL(TBool aForeground)
{
TRACER("CGlxGridViewImp::HandleForegroundEventL()");
+ if(iMMCState)
+ {
+ iMMCState = EFalse;
+ ProcessCommandL(EAknSoftkeyClose);
+ }
CAknView::HandleForegroundEventL(aForeground);
}
@@ -274,6 +293,10 @@
{
TRACER("CGlxGridViewImp::HandleGridEventsL()");
//do processcmd related event handling
+ if(EAknSoftkeyClose == aCmd)
+ {
+ iMMCState = ETrue;
+ }
ProcessCommandL(aCmd);
}
--- a/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/gridview/src/glxgridviewmlobserver.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -21,7 +21,6 @@
// Ganes Headers
#include <ganes/HgItem.h>
#include <ganes/HgGrid.h> //Hg Grid Widget
-//#include <hg/hgcontextutility.h>
#include <gulicon.h>
//Photos Headers
@@ -91,8 +90,6 @@
CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
iGridIconSize = uiUtility->GetGridIconSize();
- //Get the HgContextUtility instance
-// iContextUtility = uiUtility->ContextUtility();
iItemsPerPage = uiUtility->VisibleItemsInPageGranularityL();
uiUtility->Close() ;
@@ -209,17 +206,14 @@
return;
}
- TInt mediaCount = iMediaList.Count();
- const TGlxMedia& item = iMediaList.Item( aItemIndex );
TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
-
if (KErrNotFound != aAttributes.Find( iQualityTnAttrib, match ) ||
KErrNotFound != aAttributes.Find( iSpeedTnAttrib, match ))
{
+ const TGlxMedia& item = iMediaList.Item( aItemIndex );
TFileName resFile(KDC_APP_BITMAP_DIR);
resFile.Append(KGlxIconsFilename);
TSize setSize = CHgGrid::PreferredImageSize();
- TIconInfo icon;
const CGlxThumbnailAttribute* qualityTn = item.ThumbnailAttribute(
iQualityTnAttrib );
@@ -229,12 +223,13 @@
TInt tnError = GlxErrorManager::HasAttributeErrorL(
item.Properties(), KGlxMediaIdThumbnail );
+ GLX_DEBUG4("GlxGridMLObs::HandleAttributesAvailableL() tnError(%d)"
+ "qualityTn(%x) and speedTn(%x)", qualityTn, speedTn, tnError);
if (qualityTn)
{
CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
- bitmap->Duplicate( qualityTn->iBitmap->Handle());
- AknIconUtils::SetSize(bitmap, setSize);
+ bitmap->Duplicate(qualityTn->iBitmap->Handle());
iHgGrid->ItemL(aItemIndex).SetIcon(CGulIcon::NewL(bitmap));
GLX_LOG_INFO1("### CGlxGridViewMLObserver::HandleAttributesAvailableL"
" qualityTn-Index is %d",aItemIndex);
@@ -242,8 +237,7 @@
else if (speedTn)
{
CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
- bitmap->Duplicate( speedTn->iBitmap->Handle());
- AknIconUtils::SetSize(bitmap, setSize);
+ bitmap->Duplicate(speedTn->iBitmap->Handle());
iHgGrid->ItemL(aItemIndex).SetIcon(CGulIcon::NewL(bitmap));
GLX_LOG_INFO1("### CGlxGridViewMLObserver::HandleAttributesAvailableL"
" speedTn-Index is %d",aItemIndex);
@@ -344,7 +338,7 @@
flags = CHgItem::EHgItemFlagsNone ;
if (!iDiskErrorIntimated)
{
- DisplayErrorNote(KErrDiskFull);
+ DisplayErrorNoteL(KErrDiskFull);
}
break;
default:
@@ -498,6 +492,7 @@
}
}
}
+
if (iModifiedIndexes.Count() > 0)
{
for(TInt index = 0;index<iModifiedIndexes.Count();index++)
@@ -544,7 +539,7 @@
TMPXGeneralCategory cat = item.Category();
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
iHgGrid->ItemL(aItemIndex).SetFlags(
CHgItem::EHgItemFlagsDrmRightsValid);
@@ -560,7 +555,7 @@
TMPXGeneralCategory cat = item.Category();
TBool checkViewRights = (cat==EMPXImage);
- if(iDRMUtility->CheckOpenRightsL(uri, checkViewRights))
+ if(iDRMUtility->ItemRightsValidityCheckL(uri, checkViewRights))
{
iHgGrid->ItemL(aItemIndex).SetFlags(
CHgItem::EHgItemFlagsDrmRightsValid);
@@ -593,17 +588,16 @@
}
}
-
// ----------------------------------------------------------------------------
-// DisplayErrorNote
+// DisplayErrorNoteL
// ----------------------------------------------------------------------------
//
-void CGlxGridViewMLObserver::DisplayErrorNote(TInt aError)
+void CGlxGridViewMLObserver::DisplayErrorNoteL(TInt aError)
{
- TRACER("CGlxGridViewMLObserver::DisplayErrorNote()");
- GLX_LOG_INFO1("CGlxGridViewMLObserver::DisplayErrorNote Error note "
- "displayed corresponging to [d]", aError);
+ TRACER("CGlxGridViewMLObserver::DisplayErrorNoteL()");
+ GLX_LOG_INFO1("CGlxGridViewMLObserver::DisplayErrorNoteL() "
+ " aError(%d)", aError);
GlxGeneralUiUtilities::ShowErrorNoteL(aError);
iDiskErrorIntimated = ETrue;
- return ;
+ return;
}
--- a/photosgallery/viewframework/views/listview/group/glxlistview.mmp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/listview/group/glxlistview.mmp Wed Mar 31 21:31:03 2010 +0300
@@ -53,7 +53,6 @@
SYSTEMINCLUDE ../../../commandhandlers/inc
SYSTEMINCLUDE ../../../dataprovider/inc
SYSTEMINCLUDE ../../../medialists/inc //glxmedialistiterator
-SYSTEMINCLUDE ../../../uiutilities/inc
LIBRARY euser.lib
LIBRARY cone.lib
@@ -78,3 +77,4 @@
LIBRARY egul.lib
LIBRARY aknskins.lib
LIBRARY bitgdi.lib
+LIBRARY gfxtrans.lib
--- a/photosgallery/viewframework/views/listview/inc/glxlistviewimp.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/listview/inc/glxlistviewimp.h Wed Mar 31 21:31:03 2010 +0300
@@ -26,9 +26,9 @@
// INCLUDES
#include "glxlistview.h"
#include "glxpreviewthumbnailbinding.h"
-
+#include "glxmmcnotifier.h"
#include <glxmedialistiterator.h> // Interface for going through items in
-
+#include <mglxnavigationalstateobserver.h>
#include <ganes/HgScrollBufferObserverIface.h>
#include <ganes/HgSelectionObserverIface.h>
@@ -41,7 +41,7 @@
class CHgDoubleGraphicListFlat;
class CAknsBasicBackgroundControlContext;
-
+class CGlxNavigationalState;
//NOT: This enum is based on TGlxCollectionPluginPriority. If any
//change happen regarding priority order in that, need to change
@@ -73,7 +73,9 @@
public MHgScrollBufferObserver,
public MHgSelectionObserver,
public MPreviewTNObserver,
- public MDialogDismisedObserver
+ public MDialogDismisedObserver,
+ public MStorageNotifierObserver,
+ public MGlxNavigationalStateObserver
{
public:
/**
@@ -160,7 +162,7 @@
void DestroyListViewWidget();
protected:
- void PreviewTNReadyL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TBool aPopulateList);
+ void PreviewTNReadyL(CFbsBitmap* aBitmap, CFbsBitmap* aMask);
protected:
void Request(TInt aRequestStart, TInt aRequestEnd, THgScrollDirection aDirection);
@@ -174,7 +176,11 @@
private:
void CreateListL();
void SetDefaultThumbnailL(TInt aIndex);
-
+ void NavigateToMainListL();
+ void HandleMMCInsertionL();
+ void HandleMMCRemovalL();
+ void HandleNavigationalStateChangedL(){};
+
public: // from MGlxMediaListObserver
void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
@@ -191,7 +197,7 @@
void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
void HandlePopulatedL( MGlxMediaList* aList );
void HandleDialogDismissedL(); // from MDialogDismisedObserver
-
+ void HandleForegroundEventL(TBool aForeground);
private: // Data
CAknsBasicBackgroundControlContext* iBgContext; //Own
@@ -239,6 +245,14 @@
//Check for TN generation
TBool isTnGenerationComplete;
+
+ CActiveSchedulerWait* iSchedulerWait;
+
+ CGlxMMCNotifier* iMMCNotifier;
+
+ CGlxNavigationalState* iNavigationalState;
+
+ TBool iMMCState;
};
#endif // C_GLXLISTVIEWIMP_H
--- a/photosgallery/viewframework/views/listview/inc/glxpreviewthumbnailbinding.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/listview/inc/glxpreviewthumbnailbinding.h Wed Mar 31 21:31:03 2010 +0300
@@ -34,7 +34,7 @@
class MPreviewTNObserver
{
public:
- virtual void PreviewTNReadyL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TBool aPopulateList) = 0;
+ virtual void PreviewTNReadyL(CFbsBitmap* aBitmap, CFbsBitmap* aMask) = 0;
};
// CLASS DECLARATION
@@ -88,7 +88,7 @@
public:
void HandleItemChangedL(const CMPXCollectionPath& aPath,TBool aPopulateListTNs,
TBool aIsRefreshNeeded, TBool aBackwardNavigation);
- void StartTimer(TBool aPopulateListTNs);
+ void StartTimer();
void StopTimer();
// From MGlxMediaListObserver
@@ -132,10 +132,7 @@
// for thumbnail context
TGlxSequentialIterator iThumbnailIterator;
-
- // Preview thumbnail index
- TInt iProgressIndex;
-
+
// flag that says whether timer has expired
TBool iTimerTicked;
@@ -144,17 +141,12 @@
TBool iPopulateListTNs;
TBool iIsRefreshNeeded;
-
- //it holds the initial number of thumbnail to be displayed
- RArray<TInt> iPreviewItemCount;
TSize iGridIconSize;
// Holds the numbers of trials count,after which PreviewTNReady callback
// has to be called
TInt iTrialCount;
-
- TInt iTrial;
CMPXFilter* iPreviewFilter;
};
--- a/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/listview/src/glxlistviewimp.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -44,10 +44,16 @@
#include <glxcollectionpluginalbums.hrh>
#include <glxcollectionpluginmonths.hrh>
#include <glxcollectionplugintype.hrh>
+#include <glxnavigationalstate.h>
+
+#include <AknTransEffect.h> // For transition effects
+#include <GfxTransEffect/GfxTransEffect.h> // For transition effects
+#include "glxgfxtranseffect.h" // For transition effects
const TInt KListDataWindowSize(25);
const TInt KNoOfPages(2);
const TInt KBufferTresholdSize(6);
+const TInt KGlxCollectionRootLevel = 1;
// ======== MEMBER FUNCTIONS ========
@@ -56,13 +62,13 @@
// C++ default constructor can NOT contain any code that might leave.
// ---------------------------------------------------------------------------
//
-CGlxListViewImp::CGlxListViewImp(TInt aViewUid, const TListViewResourceIds& aResourceIds):
- iViewUid(aViewUid),
- iResourceIds(aResourceIds)
+CGlxListViewImp::CGlxListViewImp(TInt aViewUid,
+ const TListViewResourceIds& aResourceIds) :
+ iViewUid(aViewUid), iResourceIds(aResourceIds), iIsRefreshNeeded(EFalse),
+ iBackwardNavigation(EFalse), isTnGenerationComplete(ETrue)
{
}
-
// ---------------------------------------------------------------------------
// Two-phased constructor.
// ---------------------------------------------------------------------------
@@ -109,6 +115,11 @@
BaseConstructL(iResourceIds.iViewId);
ViewBaseConstructL();
MLViewBaseConstructL(aMediaListFactory, aTitle);
+
+ // Create navigational state
+ iNavigationalState = CGlxNavigationalState::InstanceL();
+ iNavigationalState->AddObserverL( *this );
+
CAknToolbar* toolbar = Toolbar();
if(toolbar)
{
@@ -117,9 +128,7 @@
//Register the view to recieve toolbar events. ViewBase handles the events
SetToolbarObserver(this);
- iBackwardNavigation = EFalse;
- iIsRefreshNeeded = EFalse;
- isTnGenerationComplete = ETrue;
+ iMMCNotifier = CGlxMMCNotifier::NewL(*this);
}
// ---------------------------------------------------------------------------
@@ -129,6 +138,15 @@
CGlxListViewImp::~CGlxListViewImp()
{
TRACER("CGlxListViewImp::~CGlxListViewImp");
+ delete iMMCNotifier;
+ iMMCNotifier = NULL;
+
+ if ( iNavigationalState )
+ {
+ iNavigationalState->RemoveObserver(*this);
+ iNavigationalState->Close();
+ }
+
delete iTitletext;
}
@@ -162,6 +180,16 @@
TUid /* aCustomMessageId */, const TDesC8& /* aCustomMessage */)
{
TRACER("CGlxListViewImp::DoMLViewActivateL");
+
+ TUint transitionID = (iUiUtility->ViewNavigationDirection()==
+ EGlxNavigationForwards)?KActivateTransitionId:KDeActivateTransitionId;
+
+ GfxTransEffect::BeginFullScreen( transitionID, TRect(),
+ AknTransEffect::EParameterType,
+ AknTransEffect::GfxTransParam( KPhotosUid,
+ AknTransEffect::TParameter::EEnableEffects) );
+ GfxTransEffect::EndFullScreen();
+
iNextViewActivationEnabled = ETrue;
if(StatusPane())
{
@@ -213,16 +241,18 @@
iPreviewTNBinding = CGlxPreviewThumbnailBinding::NewL(*this);
CreateListL();
- if (iPreviewTNBinding)
+ if (iPreviewTNBinding && iBackwardNavigation && iMediaList->FocusIndex()
+ == 0)
{
- iPopulateListTNs = ETrue;
- CMPXCollectionPath* path = iMediaList->PathLC(
- NGlxListDefs::EPathFocusOrSelection );
- iPreviewTNBinding->HandleItemChangedL(*path,
- iPopulateListTNs, iIsRefreshNeeded, iBackwardNavigation);
- CleanupStack::PopAndDestroy( path );
+ GLX_LOG_INFO("CGlxListViewImp::DoMLViewActivateL() - HandleItemChangedL()");
+ iPopulateListTNs = ETrue;
+ CMPXCollectionPath* path = iMediaList->PathLC(
+ NGlxListDefs::EPathFocusOrSelection);
+ iPreviewTNBinding->HandleItemChangedL(*path, iPopulateListTNs,
+ iIsRefreshNeeded, iBackwardNavigation);
+ CleanupStack::PopAndDestroy(path);
}
-
+ iProgressIndicator = CGlxProgressIndicator::NewL(*this);
}
// ---------------------------------------------------------------------------
@@ -445,10 +475,17 @@
iProgressIndicator = NULL;
}
iProgressIndicator = CGlxProgressIndicator::NewL(*this);
+ if(iSchedulerWait)
+ {
+ delete iSchedulerWait;
+ iSchedulerWait = NULL;
+ }
+ iSchedulerWait = new (ELeave) CActiveSchedulerWait();
+ iSchedulerWait->Start();
}
#endif
if( iNextViewActivationEnabled && ( aIndex >= 0 && aIndex <
- iMediaList->Count()) && isTnGenerationComplete)
+ iMediaList->Count()) && isTnGenerationComplete )
{
//Delete the PreviewTNMBinding as in forward navigation
//we do not get the medialist callback.
@@ -469,24 +506,50 @@
}
void CGlxListViewImp::PreviewTNReadyL(CFbsBitmap* aBitmap, CFbsBitmap*
- /*aMask*/, TBool aPopulateList)
+ /*aMask*/)
{
TRACER("CGlxListViewImp::PreviewTNReadyL");
+ if (!iPopulateListTNs)
+ {
+ GLX_LOG_INFO("CGlxListViewImp::PreviewTNReadyL()- Ignore!");
+ return;
+ }
iPreviewTNBinding->StopTimer();
TInt focusIndex = iMediaList->FocusIndex();
TInt mediaCount = iMediaList->Count();
- iPopulateListTNs = aPopulateList;
+ GLX_LOG_INFO1("CGlxListViewImp::PreviewTNReadyL() focusIndex(%d)",
+ focusIndex);
+ TGlxIdSpaceId id = iMediaList->IdSpaceId(0);
if (aBitmap)
- {
- iList->ItemL(focusIndex).SetIcon(CGulIcon::NewL(aBitmap));
- }
+ {
+ iList->ItemL(focusIndex).SetIcon(CGulIcon::NewL(aBitmap));
+ if (id == KGlxIdSpaceIdRoot && focusIndex == EGlxListItemAll)
+ {
+ CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
+ bitmap->Duplicate(aBitmap->Handle());
+ iList->ItemL(EGlxListItemMonth).SetIcon(CGulIcon::NewL(bitmap));
+ }
+ else if (iBackwardNavigation && id == KGlxIdSpaceIdRoot && focusIndex
+ == EGlxListItemMonth)
+ {
+ CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
+ bitmap->Duplicate(aBitmap->Handle());
+ iList->ItemL(EGlxListItemAll).SetIcon(CGulIcon::NewL(bitmap));
+ }
+ }
else
{
+ // In main list view, default thumbnails will be set according
+ // to the list items.
//Displays default thumbnail if aBitmap is NULL
SetDefaultThumbnailL(focusIndex);
+ if(id == KGlxIdSpaceIdRoot && focusIndex == EGlxListItemAll)
+ {
+ SetDefaultThumbnailL(EGlxListItemMonth);
+ }
}
TInt firstIndex = iList->FirstIndexOnScreen();
@@ -497,12 +560,9 @@
lastOnScreen = mediaCount;
}
- if (!iPopulateListTNs || focusIndex == lastOnScreen)
- {
- GLX_DEBUG2("CGlxListViewImp::PreviewTNReadyL()"
- " RefreshScreen - focusIndex(%d)", focusIndex);
- iList->RefreshScreen(focusIndex);
- }
+ GLX_DEBUG2("CGlxListViewImp::PreviewTNReadyL()"
+ " RefreshScreen - focusIndex(%d)", focusIndex);
+ iList->RefreshScreen(focusIndex);
if (iPopulateListTNs)
{
@@ -514,10 +574,15 @@
TInt count = iMediaList->Count();
if(count)
{
- TInt focus = (focusIndex+1)%count;
+ TInt focus = (focusIndex + 1) % count;
+ if (!iBackwardNavigation && id == KGlxIdSpaceIdRoot && focus
+ == EGlxListItemMonth)
+ {
+ focus += 1;
+ }
if (focus != iStartIndex)
{
- iMediaList->SetFocusL(NGlxListDefs::EAbsolute, focus);
+ iMediaList->SetFocusL(NGlxListDefs::EAbsolute, focus);
}
else
{
@@ -547,6 +612,7 @@
{
CMPXCollectionPath* path = iMediaList->PathLC(
NGlxListDefs::EPathFocusOrSelection );
+ GLX_LOG_INFO("CGlxListViewImp::PreviewTNReadyL() - HandleItemChangedL()");
iPreviewTNBinding->HandleItemChangedL(*path,
iPopulateListTNs, iIsRefreshNeeded, iBackwardNavigation);
CleanupStack::PopAndDestroy( path );
@@ -564,7 +630,6 @@
{
TRACER("CGlxListViewImp::CreateListL");
- iPopulateListTNs = ETrue;
iStartIndex = KErrNotFound;
TInt mediaCount = iMediaList->Count();
GLX_DEBUG2("CGlxListViewImp::CreateListL() mediaCount=%d", mediaCount);
@@ -629,7 +694,7 @@
{
for (TInt i = 0; i < mediaCount; i++)
{
- SetDefaultThumbnailL(i);
+ SetDefaultThumbnailL(i);
}
}
// Set the scrollbar type for albums list
@@ -723,7 +788,7 @@
// ----------------------------------------------------------------------------
//
void CGlxListViewImp::HandleAttributesAvailableL( TInt aItemIndex,
- const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* /*aList*/ )
+ const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList)
{
TRACER("CGlxListViewImp::HandleAttributesAvailableL");
@@ -751,17 +816,18 @@
== EGlxNavigationBackwards)
{
iIsRefreshNeeded = ETrue;
- iPopulateListTNs = EFalse;
}
// Set iPopulateListTNs to ETrue and refresh all the items in
// list view if subtitle is updated
- if (iPreviewTNBinding && !iPopulateListTNs)
- {
+ if (iPreviewTNBinding && ((!iPopulateListTNs && aItemIndex
+ == aList->Count() - 1) || (iIsRefreshNeeded)))
+ {
iPopulateListTNs = ETrue;
iStartIndex = KErrNotFound;
CMPXCollectionPath* path = iMediaList->PathLC(
NGlxListDefs::EPathFocusOrSelection);
+ GLX_LOG_INFO("CGlxListViewImp::HandleAttributesAvailableL() - HandleItemChangedL()");
iPreviewTNBinding->HandleItemChangedL(*path, iPopulateListTNs,
iIsRefreshNeeded, iBackwardNavigation);
CleanupStack::PopAndDestroy(path);
@@ -779,14 +845,21 @@
{
TRACER( "CGlxListViewImp::HandleFocusChangedL");
- if (iPreviewTNBinding)
+ if (iPreviewTNBinding && iPopulateListTNs)
{
- CMPXCollectionPath* path = iMediaList->PathLC(
- NGlxListDefs::EPathFocusOrSelection );
- iPreviewTNBinding->HandleItemChangedL(*path,
- iPopulateListTNs, iIsRefreshNeeded, iBackwardNavigation);
- CleanupStack::PopAndDestroy( path );
- }
+ CMPXCollectionPath* path = iMediaList->PathLC(
+ NGlxListDefs::EPathFocusOrSelection);
+ if (!iBackwardNavigation && path->Levels() == KGlxCollectionRootLevel
+ && path->Id(0) == KGlxCollectionPluginMonthsImplementationUid)
+ {
+ CleanupStack::PopAndDestroy(path);
+ return;
+ }
+ GLX_LOG_INFO("CGlxListViewImp::HandleFocusChangedL() - HandleItemChangedL()");
+ iPreviewTNBinding->HandleItemChangedL(*path, iPopulateListTNs,
+ iIsRefreshNeeded, iBackwardNavigation);
+ CleanupStack::PopAndDestroy(path);
+ }
}
// ----------------------------------------------------------------------------
@@ -961,5 +1034,64 @@
{
TRACER("CGlxListViewImp::HandleDialogDismissedL()");
isTnGenerationComplete = ETrue;
+ if(iSchedulerWait)
+ {
+ iSchedulerWait->AsyncStop();
+ delete iSchedulerWait;
+ iSchedulerWait = NULL;
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// HandleMMCInsertionL
+//
+// ---------------------------------------------------------------------------
+void CGlxListViewImp::HandleMMCInsertionL()
+ {
+ TRACER("CGlxListViewImp::HandleMMCInsertionL()");
+ iMMCState = ETrue;
+ NavigateToMainListL();
+
+ }
+
+// ---------------------------------------------------------------------------
+// HandleMMCRemovalL
+//
+// ---------------------------------------------------------------------------
+void CGlxListViewImp::HandleMMCRemovalL()
+ {
+ TRACER("CGlxListViewImp::HandleMMCRemovalL()");
+ ProcessCommandL(EAknSoftkeyExit);
+ }
+
+// ---------------------------------------------------------------------------
+// HandleForegroundEventL
+//
+// ---------------------------------------------------------------------------
+void CGlxListViewImp::HandleForegroundEventL(TBool aForeground)
+ {
+ TRACER("CGlxListViewImp::HandleForegroundEventL()");
+ CAknView::HandleForegroundEventL(aForeground);
+ if(iMMCState)
+ {
+ iMMCState = EFalse;
+ NavigateToMainListL();
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// NavigateToMainListL
+//
+// ---------------------------------------------------------------------------
+void CGlxListViewImp::NavigateToMainListL()
+ {
+ TRACER("CGlxListViewImp::NavigateToMainListL()");
+ CMPXCollectionPath* naviState = iNavigationalState->StateLC();
+ GLX_LOG_INFO1("From listview level = %d",naviState->Levels());
+// if ( naviState->Levels() >= 1)
+ {
+ ProcessCommandL(EAknSoftkeyClose);
+ }
+ CleanupStack::PopAndDestroy(naviState);
}
// End of File
--- a/photosgallery/viewframework/views/listview/src/glxpreviewthumbnailbinding.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/listview/src/glxpreviewthumbnailbinding.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -20,25 +20,23 @@
#include <glxthumbnailcontext.h>
#include <glxfilterfactory.h> // For TGlxFilterFactory
#include <glxthumbnailattributeinfo.h>
-#include "glxpreviewthumbnailbinding.h"
-#include "glxgeneraluiutilities.h"
#include <glxuiutility.h> // For UiUtility instance
-
+#include <glxcollectionpluginmonths.hrh>
#include <glxtracer.h>
#include <glxlog.h>
-
+#include <glxerrormanager.h> // For CGlxErrormanager
#include <glxuistd.h> // Fetch context priority def'ns
#include <mglxcache.h>
#include <ganes/HgDoubleGraphicList.h>
+#include "glxpreviewthumbnailbinding.h"
+#include "glxgeneraluiutilities.h"
-const TInt KInitialThumbnailsTimeDelay(100000);
-const TInt KWaitCount(10);
-const TInt KThumbnailStartTimeDelay(250000);
+const TInt KThumbnailsTimeTimeDelay(50000);
+const TInt KWaitCount(30);
const TInt KPreviewThumbnailFetchCount(1);
-
// ----------------------------------------------------------------------------
// NewL
// ----------------------------------------------------------------------------
@@ -85,11 +83,12 @@
TRACER("CGlxPreviewThumbnailBinding::ConstructL");
iTimer = CPeriodic::NewL( CActive::EPriorityStandard );
CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
+ CleanupClosePushL(*uiUtility);
iGridIconSize = uiUtility->GetGridIconSize();
- uiUtility->Close() ;
+ CleanupStack::PopAndDestroy(uiUtility);
// Filter that filters out any GIF, corrupted images
- iPreviewFilter = TGlxFilterFactory::CreatePreviewFilterL();
+ iPreviewFilter = TGlxFilterFactory::CreatePreviewTNFilterL();
iThumbnailIterator.SetRange(KPreviewThumbnailFetchCount);
iThumbnailContext = new (ELeave) CGlxAttributeContext(&iThumbnailIterator);
TMPXAttribute tnAttr( KGlxMediaIdThumbnail,
@@ -123,8 +122,7 @@
iTimer->Cancel();
}
delete iTimer;
- iTimer = NULL;
- iPreviewItemCount.Close();
+ iTimer = NULL;
}
// ----------------------------------------------------------------------------
@@ -135,70 +133,55 @@
void CGlxPreviewThumbnailBinding::TimerTickedL()
{
TRACER("CGlxPreviewThumbnailBinding::TimerTickedL");
-
- if(iMediaList && iMediaList->Count() && iPreviewItemCount.Count() )
- {
- TInt thumbnailIndex = iPreviewItemCount[iProgressIndex];
- if(thumbnailIndex < iMediaList->Count())
- {
- const TGlxMedia& item = iMediaList->Item(thumbnailIndex);
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, iGridIconSize.iWidth,
- iGridIconSize.iHeight ) );
-
+
+ if (!iMediaList)
+ {
+ GLX_LOG_INFO("TimerTickedL() iMediaList == NULL!");
+ return;
+ }
+
+ if (iMediaList->IsPopulated())
+ {
+ if (iMediaList->Count())
+ {
+ const TGlxMedia& item = iMediaList->Item(0);
+ TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
+ GlxFullThumbnailAttributeId(ETrue, iGridIconSize.iWidth,
+ iGridIconSize.iHeight));
+
const CGlxThumbnailAttribute* value = item.ThumbnailAttribute(
- thumbnailAttribute );
+ thumbnailAttribute);
if (value)
{
CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
ScaleBitmapToListSizeL(value->iBitmap, bitmap);
- GLX_LOG_INFO1("iObserver.PreviewTNReadyL() iTrial=%d", iTrial);
- iObserver.PreviewTNReadyL(bitmap, NULL,iPopulateListTNs);
+ GLX_LOG_INFO1("iObserver.PreviewTNReadyL() iTrialCount=%d", iTrialCount);
+ iObserver.PreviewTNReadyL(bitmap, NULL);
}
- }
- }
- else if (iPopulateListTNs && iMediaList && iMediaList->Count() == 0)
- {
- if (iTrial == KWaitCount)
- {
- iObserver.PreviewTNReadyL(NULL, NULL, iPopulateListTNs);
- iTrial=0;
- return;
- }
- iTrial++;
- }
- else if(iMediaList && iMediaList->Count() )
- {
- if(iProgressIndex > iMediaList->Count()-1 )
- {
- iProgressIndex = 0;
- }
- const TGlxMedia& item = iMediaList->Item(iProgressIndex);
- TMPXAttribute thumbnailAttribute(KGlxMediaIdThumbnail,
- GlxFullThumbnailAttributeId( ETrue, iGridIconSize.iWidth,
- iGridIconSize.iHeight ) );
-
- const CGlxThumbnailAttribute* value = item.ThumbnailAttribute(
- thumbnailAttribute );
- if (value)
- {
- CFbsBitmap* bitmap = new (ELeave) CFbsBitmap;
- ScaleBitmapToListSizeL(value->iBitmap, bitmap);
- GLX_LOG_INFO1("iObserver.PreviewTNReadyL() iTrialCount=%d", iTrialCount);
- iObserver.PreviewTNReadyL(bitmap, NULL,iPopulateListTNs);
- }
- else
- {
- if (iTrialCount == KWaitCount)
- {
- iObserver.PreviewTNReadyL(NULL, NULL, iPopulateListTNs);
- iTrialCount=0;
- return;
- }
- iTrialCount++;
- }
- }
+ else
+ {
+ TInt tnError = GlxErrorManager::HasAttributeErrorL(
+ item.Properties(), KGlxMediaIdThumbnail);
+ if (tnError != KErrNone || iTrialCount == KWaitCount)
+ {
+ GLX_LOG_INFO1("TimerTickedL() tnError(%d) / Max Trialcount reached", tnError);
+ iObserver.PreviewTNReadyL(NULL, NULL);
+ iTrialCount = 0;
+ return;
+ }
+ iTrialCount++;
+ }
+ }
+ else
+ {
+ // Media count is zero,
+ // Notify immedialtely to jump to the next item in the list
+ GLX_LOG_INFO("TimerTickedL() iMediaList->Count() = 0");
+ iObserver.PreviewTNReadyL(NULL, NULL);
+ }
+ }
}
+
// ----------------------------------------------------------------------------
// IsTimeL callback function invoked when timer expires
// ----------------------------------------------------------------------------
@@ -229,16 +212,16 @@
TBool aPopulateListTNs, TBool aIsRefreshNeeded, TBool aBackwardNavigation)
{
TRACER("CGlxPreviewThumbnailBinding::HandleItemChangedL");
+ GLX_LOG_INFO("CGlxPreviewThumbnailBinding::HandleItemChangedL()");
+
iTimerTicked = EFalse;
iPopulateListTNs = aPopulateListTNs;
- iProgressIndex = KErrNone;
iIsRefreshNeeded = aIsRefreshNeeded;
// remove and close old medialist
if( iMediaList )
{
- // Reset the trial and the trialCount to 0 while deleting the medialist
- iTrial = 0;
+ // Reset the trialCount to 0 while deleting the medialist
iTrialCount = 0;
iMediaList->RemoveMediaListObserver( this );
iMediaList->RemoveContext(iThumbnailContext);
@@ -255,7 +238,7 @@
{
//On backward navigation start the timer manually, since we do not
//get the attribute callback.
- StartTimer(iPopulateListTNs);
+ StartTimer();
}
}
@@ -265,12 +248,10 @@
// are populated.
// ----------------------------------------------------------------------------
//
-void CGlxPreviewThumbnailBinding::StartTimer(TBool aPopulateListTNs)
+void CGlxPreviewThumbnailBinding::StartTimer()
{
TRACER("CGlxPreviewThumbnailBinding::StartTimer");
- iPopulateListTNs = aPopulateListTNs;
-
if (iTimer)
{
iTimer->Cancel();
@@ -278,8 +259,8 @@
if (iPopulateListTNs)
{
- iTimer->Start(KThumbnailStartTimeDelay,
- KInitialThumbnailsTimeDelay, TCallBack(IsTimeL,this));
+ iTimer->Start(KThumbnailsTimeTimeDelay, KThumbnailsTimeTimeDelay,
+ TCallBack(IsTimeL, this));
}
}
@@ -342,13 +323,13 @@
thumbnailAttribute );
if (value)
{
- iPreviewItemCount.AppendL( aItemIndex );
+ GLX_LOG_INFO("CGlxPreviewThumbnailBinding::HandleAttributesAvailableL()");
// sometimes we get HandleAttributesAvailableL callback after some delay
// when we do cache cleanup.
if(!iPopulateListTNs)
{
iPopulateListTNs = ETrue;
- StartTimer(iPopulateListTNs);
+ StartTimer();
}
}
}
@@ -433,6 +414,7 @@
void CGlxPreviewThumbnailBinding::HandlePopulatedL( MGlxMediaList* /*aList*/ )
{
TRACER("CGlxPreviewThumbnailBinding::HandlePopulatedL()");
+ GLX_LOG_INFO("CGlxPreviewThumbnailBinding::HandlePopulatedL()");
// Do cache cleanup. If iIsRefreshNeeded is set,
// then clean up the item at 0th index
@@ -448,7 +430,7 @@
}
}
//Start the timer
- StartTimer(iPopulateListTNs);
+ StartTimer();
}
// ----------------------------------------------------------------------------
--- a/photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/metadatadialog/data/glxmetadatadialog.rss Wed Mar 31 21:31:03 2010 +0300
@@ -218,7 +218,6 @@
{
items=
{
- //MENU_ITEM { command = KGlxEditBoundMenuCommandId; txt = qtn_lgal_options_edit; },
MENU_ITEM { command = KGlxViewBoundMenuCommandId; txt = qtn_lgal_options_view; },
MENU_ITEM { command = EGlxCmdAiwShowMap; txt = qtn_lgal_option_show_on_map;},
MENU_ITEM { command = KGlxDeleteBoundMenuCommandId; txt = qtn_lgal_options_delete;flags = EEikMenuItemSpecific; },
@@ -411,46 +410,12 @@
buf = qtn_lgal_note_no_location;
}
-//==============================================================================//
-//===========================start of Imageviewer details Dialog================//
-//==============================================================================//
-
-RESOURCE EIK_APP_INFO
- {
- menubar = r_imgvwr_metadata_menubar;
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- }
- // -----------------------------------------------------------------------------
-// reource for menubar
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_imgvwr_metadata_menubar
- {
- titles=
- {
- MENU_TITLE { menu_pane = r_imgvwr_metadata_menu; txt = qtn_lgal_title_details; }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-// reource for menupane
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_imgvwr_metadata_menu
- {
- items=
- {
- MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }
- };
- }
-
// -----------------------------------------------------------------------------
// Metadata Dialog
// -----------------------------------------------------------------------------
RESOURCE DIALOG r_img_viewer_metadata_dialog
{
- buttons = R_AVKON_SOFTKEYS_OPTIONS_BACK;
+ buttons = R_AVKON_SOFTKEYS_BACK;
flags = EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect |
EEikDialogFlagCbaButtons | EEikDialogFlagWait;// |EEikDialogFlagNoBackgroundFade |EEikDialogFlagNoBorder;
items =
--- a/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatacontainer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -63,7 +63,6 @@
const TInt KMarqueeScrollAmount = 20;
const TInt KMarqueeScrollDelay = 1000000;
const TInt KMarqueeScrollInterval = 200000;
-_LIT( KGlxTextSetter, "");
// ============================ MEMBER FUNCTIONS ===============================
@@ -158,7 +157,7 @@
{
TRACER("CGlxImgVwrMetadataContainer::CreateSettingItemL");
CAknSettingItem* settingItem = NULL; // No need to push onto cleanup stack
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
//Creating a empty Settings list box which will be populated with metadata in handleattributeavailable
switch(aResourceId)
@@ -305,6 +304,7 @@
for(TInt index = 0; index <= EImgVwrlicenseItem; index++)
{
HBufC* string = NULL;
+ iTextSetter.Zero();
if(index == EImgVwrSizeItem)
{
@@ -344,7 +344,7 @@
}
if(string)
{
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
iTextSetter.Append(*string);
}
CleanupStack::PushL( string );
@@ -374,8 +374,8 @@
// HandleCommandCompleteL
// ----------------------------------------------------------------------------
//
-void CGlxImgVwrMetadataContainer::HandleCommandCompleteL(TAny* aSessionId,
- CMPXCommand* /*aCommandResult*/, TInt aError, MGlxMediaList* aList)
+void CGlxImgVwrMetadataContainer::HandleCommandCompleteL(TAny* /*aSessionId*/,
+ CMPXCommand* /*aCommandResult*/, TInt /*aError*/, MGlxMediaList* /*aList*/)
{
TRACER("CGlxImgVwrMetadataContainer::HandleCommandCompleteL()");
}
@@ -574,7 +574,7 @@
//get the settings item based on the attribute and set the text.
if ( string )
{
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
iTextSetter.Append(*string);
if(attribute == KMPXMediaGeneralSize)
{
@@ -665,6 +665,7 @@
if(0 != (titleText.Compare(*textBuf)))
{
//Modify the MDS and setting list only if the entry is different from previous Item value
+ iTextSetter.Zero();
iTextSetter.Copy(*textBuf);
EditItemL(aItem,EFalse);
if( iItemMediaList->Count() > 0 )
--- a/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatadialog.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/metadatadialog/src/glximgvwrmetadatadialog.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -112,9 +112,6 @@
iUiUtility = CGlxUiUtility::UtilityL();
- // Call the base class' two-phased constructor
- CAknDialog::ConstructL( R_IMGVWR_METADATA_MENUBAR );
-
}
// -----------------------------------------------------------------------------
@@ -188,34 +185,9 @@
//
void CGlxImgVwrMetadataDialog::ProcessCommandL( TInt aCommandId )
{
-
TRACER("CGlxImgVwrMetadataDialog::ProcessCommandL");
// hide menu bar
iMenuBar->StopDisplayingMenuBar();
- switch( aCommandId )
- {
- /// @todo need to put the proper help file.for the time being it will not do any thing.
- /*
- case EAknCmdHelp:
- {
- TCoeHelpContext helpContext;
- helpContext.iMajor = TUid::Uid( KGlxGalleryApplicationUid );
- helpContext.iContext.Copy( LGAL_HLP_DETAILS_VIEW );
- const TInt KListSz = 1;
- CArrayFix<TCoeHelpContext>* contextList =
- new (ELeave) CArrayFixFlat<TCoeHelpContext>( KListSz );
- CleanupStack::PushL(contextList);
- contextList->AppendL(helpContext);
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(), contextList );
- CleanupStack::Pop( contextList );
- break;
- }*/
-
- default:
- break;
- }
-
}
//-----------------------------------------------------------------------------
// CGlxImgVwrMetadataDialog::CreateCustomControlL
--- a/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/metadatadialog/src/glxmetadatacontainer.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -217,7 +217,7 @@
{
TRACER("CGlxMetadataContainer::CreateSettingItemL");
CAknSettingItem* settingItem = NULL; // No need to push onto cleanup stack
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
//Creating a empty Settings list box which will be populated with metadata in handleattributeavailable
@@ -733,7 +733,7 @@
//get the settings item based on the attribute and set the text.
if ( string )
{
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
iTextSetter.Append(*string);
if(attribute == KMPXMediaGeneralSize)
{
@@ -821,6 +821,7 @@
else
{
//Modify the MDS and setting list only if the entry is different from previous Item value
+ iTextSetter.Zero();
iTextSetter.Copy(*textBuf);
EditItemL(aItem,EFalse);
iItemMediaList->SetFocusL(NGlxListDefs::EAbsolute,0);//set focus to first item
@@ -1017,6 +1018,7 @@
for(TInt index = 0; index <= ElicenseItem ; index++)
{
HBufC* string = NULL;
+ iTextSetter.Zero();
if(index == ESizeItem)
{
@@ -1127,7 +1129,7 @@
iModifiedUri = NULL;
}
iModifiedUri = fileName.AllocL();
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
TInt error = manager->RenameFile(media.Uri(), iModifiedUri->Des());
if(error == KErrNone)
{
@@ -1149,7 +1151,7 @@
iLocationinfo = EFalse;
if ( aError == KErrNone )
{
- iTextSetter.Copy(KGlxTextSetter);
+ iTextSetter.Zero();
EditItemL(ELocationItem,EFalse);
}
}
--- a/photosgallery/viewframework/views/metadataview/bwins/glxunifiedmetadataviewu.def Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
- ??0TGlxMulAlbumsDetailsBindingSetFactory@@QAE@XZ @ 1 NONAME ; TGlxMulAlbumsDetailsBindingSetFactory::TGlxMulAlbumsDetailsBindingSetFactory(void)
- ??0TGlxMulDateAndTimeDetailsBindingSetFactory@@QAE@XZ @ 2 NONAME ; TGlxMulDateAndTimeDetailsBindingSetFactory::TGlxMulDateAndTimeDetailsBindingSetFactory(void)
- ??0TGlxMulDescriptionDetailsBindingSetFactory@@QAE@XZ @ 3 NONAME ; TGlxMulDescriptionDetailsBindingSetFactory::TGlxMulDescriptionDetailsBindingSetFactory(void)
- ??0TGlxMulDurationDetailsBindingSetFactory@@QAE@XZ @ 4 NONAME ; TGlxMulDurationDetailsBindingSetFactory::TGlxMulDurationDetailsBindingSetFactory(void)
- ??0TGlxMulFileSizeDetailsBindingSetFactory@@QAE@XZ @ 5 NONAME ; TGlxMulFileSizeDetailsBindingSetFactory::TGlxMulFileSizeDetailsBindingSetFactory(void)
- ??0TGlxMulLocationDetailsBindingSetFactory@@QAE@XZ @ 6 NONAME ; TGlxMulLocationDetailsBindingSetFactory::TGlxMulLocationDetailsBindingSetFactory(void)
- ??0TGlxMulResolutionDetailsBindingSetFactory@@QAE@XZ @ 7 NONAME ; TGlxMulResolutionDetailsBindingSetFactory::TGlxMulResolutionDetailsBindingSetFactory(void)
- ??0TGlxMulTagsDetailsBindingSetFactory@@QAE@XZ @ 8 NONAME ; TGlxMulTagsDetailsBindingSetFactory::TGlxMulTagsDetailsBindingSetFactory(void)
- ??0TGlxMulTitleDetailsBindingSetFactory@@QAE@XZ @ 9 NONAME ; TGlxMulTitleDetailsBindingSetFactory::TGlxMulTitleDetailsBindingSetFactory(void)
- ??0TGlxMulUsageRightsDetailsBindingSetFactory@@QAE@XZ @ 10 NONAME ; TGlxMulUsageRightsDetailsBindingSetFactory::TGlxMulUsageRightsDetailsBindingSetFactory(void)
- ??1TGlxMulAlbumsDetailsBindingSetFactory@@UAE@XZ @ 11 NONAME ; TGlxMulAlbumsDetailsBindingSetFactory::~TGlxMulAlbumsDetailsBindingSetFactory(void)
- ??1TGlxMulDateAndTimeDetailsBindingSetFactory@@UAE@XZ @ 12 NONAME ; TGlxMulDateAndTimeDetailsBindingSetFactory::~TGlxMulDateAndTimeDetailsBindingSetFactory(void)
- ??1TGlxMulDescriptionDetailsBindingSetFactory@@UAE@XZ @ 13 NONAME ; TGlxMulDescriptionDetailsBindingSetFactory::~TGlxMulDescriptionDetailsBindingSetFactory(void)
- ??1TGlxMulDurationDetailsBindingSetFactory@@UAE@XZ @ 14 NONAME ; TGlxMulDurationDetailsBindingSetFactory::~TGlxMulDurationDetailsBindingSetFactory(void)
- ??1TGlxMulFileSizeDetailsBindingSetFactory@@UAE@XZ @ 15 NONAME ; TGlxMulFileSizeDetailsBindingSetFactory::~TGlxMulFileSizeDetailsBindingSetFactory(void)
- ??1TGlxMulLocationDetailsBindingSetFactory@@UAE@XZ @ 16 NONAME ; TGlxMulLocationDetailsBindingSetFactory::~TGlxMulLocationDetailsBindingSetFactory(void)
- ??1TGlxMulResolutionDetailsBindingSetFactory@@UAE@XZ @ 17 NONAME ; TGlxMulResolutionDetailsBindingSetFactory::~TGlxMulResolutionDetailsBindingSetFactory(void)
- ??1TGlxMulTagsDetailsBindingSetFactory@@UAE@XZ @ 18 NONAME ; TGlxMulTagsDetailsBindingSetFactory::~TGlxMulTagsDetailsBindingSetFactory(void)
- ??1TGlxMulTitleDetailsBindingSetFactory@@UAE@XZ @ 19 NONAME ; TGlxMulTitleDetailsBindingSetFactory::~TGlxMulTitleDetailsBindingSetFactory(void)
- ??1TGlxMulUsageRightsDetailsBindingSetFactory@@UAE@XZ @ 20 NONAME ; TGlxMulUsageRightsDetailsBindingSetFactory::~TGlxMulUsageRightsDetailsBindingSetFactory(void)
- ?NewL@CGlxMetadataView@@SAPAV1@PAVMGlxMediaListFactory@@@Z @ 21 NONAME ; class CGlxMetadataView * CGlxMetadataView::NewL(class MGlxMediaListFactory *)
- ?NewLC@CGlxMetadataView@@SAPAV1@PAVMGlxMediaListFactory@@@Z @ 22 NONAME ; class CGlxMetadataView * CGlxMetadataView::NewLC(class MGlxMediaListFactory *)
-
--- a/photosgallery/viewframework/views/metadataview/data/glxmetadataview.rss Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,298 +0,0 @@
-/*
-* Copyright (c) 2008-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: Resource definitions for Metadata View
-*
-*/
-
-
-//RESOURCE IDENTIFIER
-
-NAME MGMV
-
-//INCLUDES
-
-#include <eikon.rsg>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <eikon.rh>
-#include <uikon.hrh>
-#include <avkon.hrh>
-#include <glxdetailsboundcommand.hrh>
-#include <photos.loc>
-#include <glxcommandhandlers.hrh>
-#include <AiwCommon.hrh>
-
-//RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf="MGMV"; }
-
-// -----------------------------------------------------------------------------
-// reource for view
-// -----------------------------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_glx_metadata_view
- {
- menubar = r_metadata_menubar;
- cba = R_AVKON_SOFTKEYS_OPTIONS_BACK;
- }
-
-// -----------------------------------------------------------------------------
-// reource for menubar
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_metadata_menubar
- {
- titles=
- {
- MENU_TITLE { menu_pane=r_metadata_menu; txt = qtn_lgal_title_details; }
- };
- }
-
-// -----------------------------------------------------------------------------
-// reource for menupane
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_metadata_menu
- {
- items=
- {
- MENU_ITEM { command = KGlxEditBoundMenuCommandId; txt = qtn_lgal_options_edit; },
- MENU_ITEM { command = KGlxViewBoundMenuCommandId; txt = qtn_lgal_options_view; },
- MENU_ITEM { command = EGlxCmdAiwShowMap; txt = qtn_lgal_option_show_on_map;},
- MENU_ITEM { command = KGlxDeleteBoundMenuCommandId; txt = qtn_lgal_options_delete;flags = EEikMenuItemSpecific; },
- MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }
- };
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// metadata view custom resource
-//
-// -----------------------------------------------------------------------------
-//
-
-// -----------------------------------------------------------------------------
-// reource for CEikEdwin control
-// -----------------------------------------------------------------------------
-//
-RESOURCE EDWIN r_glx_edwin
- {
- flags = EAknEditorFlagDefault
- | EEikEdwinNoAutoSelection
- | EEikEdwinAvkonDisableCursor ;
- width = 10;
- lines= 1;
- maxlength = 512; // Max number of characters
- allowed_input_modes = EAknEditorTextInputMode;
- default_input_mode = EAknEditorTextInputMode;
- }
-
-// -----------------------------------------------------------------------------
-// reource for CAknQueryControl control
-// -----------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_glx_data_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_DATA_QUERY
- {
- layout = EDataLayout;
- label = " "; // prompt text
- control = EDWIN
- {
- width = 5;
- lines = 1;
- maxlength = 50;
- };
- };
- }
- };
- }
-
-// -----------------------------------------------------------------------------
-// reource for view title
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_title
- {
- buf = qtn_lgal_title_details; // CHANGED FROM qtn_lgal_view_title_properties;
- }
-
-// -----------------------------------------------------------------------------
-// reource for options edit
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_options_edit
- {
- buf = qtn_lgal_options_edit;
- }
-
-// -----------------------------------------------------------------------------
-// reource for options delete
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_options_delete
- {
- buf = qtn_lgal_options_delete;
- }
-
-// -----------------------------------------------------------------------------
-// reource for options view
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_options_view
- {
- buf = qtn_lgal_options_view;
- }
-
-// -----------------------------------------------------------------------------
-// reource for options show on map
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_show_on_map_options_view
- {
- buf = qtn_lgal_option_show_on_map;
- }
-
-// -----------------------------------------------------------------------------
-// reource for view title
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_title_details
- {
- buf = qtn_lgal_title_details;
- }
-
-// -----------------------------------------------------------------------------
-// reource for metadata view title pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_title_nseries
- {
- buf = qtn_lgal_details_title;
- }
-
-// -----------------------------------------------------------------------------
-// reource for metadata view description pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_description_nseries
- {
- buf = qtn_lgal_details_description;
- }
-
-// -----------------------------------------------------------------------------
-// reource for metadata view tags pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_tags_nseries
- {
- buf = qtn_lgal_details_tags;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view albums pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_albums_nseries
- {
- buf = qtn_lgal_details_albums;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view location pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_location_nseries
- {
- buf = qtn_lgal_details_location;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view resolution pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_resolution_nseries
- {
- buf = qtn_lgal_details_resolution_title;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view duration pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_duration_nseries
- {
- buf = qtn_lgal_details_duration;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view drm pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_drm_nseries
- {
- buf = qtn_lgal_detail_drm;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view date and time pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_date_time_nseries
- {
- buf = qtn_lgal_details_date_time;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view file size pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_file_size_nseries
- {
- buf = qtn_lgal_details_file_size;
- }
-// -----------------------------------------------------------------------------
-// reource for metadata view file size pane
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_view_resolution_detail_nseries
- {
- buf = qtn_lgal_details_resolution_detail;
- }
-
-// -----------------------------------------------------------------------------
-// reource for delete location confirmation note
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_note_delete_location
- {
- buf = qtn_lgal_note_delete_location;
- }
-
-// -----------------------------------------------------------------------------
-// reource for no location info note
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_glx_metadata_note_info_no_location
- {
- buf = qtn_lgal_note_no_location;
- }
-
-//End of file
--- a/photosgallery/viewframework/views/metadataview/eabi/glxunifiedmetadataviewu.def Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-EXPORTS
- _ZN16CGlxMetadataView4NewLEP20MGlxMediaListFactory @ 1 NONAME
- _ZN16CGlxMetadataView5NewLCEP20MGlxMediaListFactory @ 2 NONAME
- _ZN35TGlxMulTagsDetailsBindingSetFactoryC1Ev @ 3 NONAME
- _ZN35TGlxMulTagsDetailsBindingSetFactoryC2Ev @ 4 NONAME
- _ZN35TGlxMulTagsDetailsBindingSetFactoryD0Ev @ 5 NONAME
- _ZN35TGlxMulTagsDetailsBindingSetFactoryD1Ev @ 6 NONAME
- _ZN35TGlxMulTagsDetailsBindingSetFactoryD2Ev @ 7 NONAME
- _ZN36TGlxMulTitleDetailsBindingSetFactoryC1Ev @ 8 NONAME
- _ZN36TGlxMulTitleDetailsBindingSetFactoryC2Ev @ 9 NONAME
- _ZN36TGlxMulTitleDetailsBindingSetFactoryD0Ev @ 10 NONAME
- _ZN36TGlxMulTitleDetailsBindingSetFactoryD1Ev @ 11 NONAME
- _ZN36TGlxMulTitleDetailsBindingSetFactoryD2Ev @ 12 NONAME
- _ZN37TGlxMulAlbumsDetailsBindingSetFactoryC1Ev @ 13 NONAME
- _ZN37TGlxMulAlbumsDetailsBindingSetFactoryC2Ev @ 14 NONAME
- _ZN37TGlxMulAlbumsDetailsBindingSetFactoryD0Ev @ 15 NONAME
- _ZN37TGlxMulAlbumsDetailsBindingSetFactoryD1Ev @ 16 NONAME
- _ZN37TGlxMulAlbumsDetailsBindingSetFactoryD2Ev @ 17 NONAME
- _ZN39TGlxMulDurationDetailsBindingSetFactoryC1Ev @ 18 NONAME
- _ZN39TGlxMulDurationDetailsBindingSetFactoryC2Ev @ 19 NONAME
- _ZN39TGlxMulDurationDetailsBindingSetFactoryD0Ev @ 20 NONAME
- _ZN39TGlxMulDurationDetailsBindingSetFactoryD1Ev @ 21 NONAME
- _ZN39TGlxMulDurationDetailsBindingSetFactoryD2Ev @ 22 NONAME
- _ZN39TGlxMulFileSizeDetailsBindingSetFactoryC1Ev @ 23 NONAME
- _ZN39TGlxMulFileSizeDetailsBindingSetFactoryC2Ev @ 24 NONAME
- _ZN39TGlxMulFileSizeDetailsBindingSetFactoryD0Ev @ 25 NONAME
- _ZN39TGlxMulFileSizeDetailsBindingSetFactoryD1Ev @ 26 NONAME
- _ZN39TGlxMulFileSizeDetailsBindingSetFactoryD2Ev @ 27 NONAME
- _ZN39TGlxMulLocationDetailsBindingSetFactoryC1Ev @ 28 NONAME
- _ZN39TGlxMulLocationDetailsBindingSetFactoryC2Ev @ 29 NONAME
- _ZN39TGlxMulLocationDetailsBindingSetFactoryD0Ev @ 30 NONAME
- _ZN39TGlxMulLocationDetailsBindingSetFactoryD1Ev @ 31 NONAME
- _ZN39TGlxMulLocationDetailsBindingSetFactoryD2Ev @ 32 NONAME
- _ZN41TGlxMulResolutionDetailsBindingSetFactoryC1Ev @ 33 NONAME
- _ZN41TGlxMulResolutionDetailsBindingSetFactoryC2Ev @ 34 NONAME
- _ZN41TGlxMulResolutionDetailsBindingSetFactoryD0Ev @ 35 NONAME
- _ZN41TGlxMulResolutionDetailsBindingSetFactoryD1Ev @ 36 NONAME
- _ZN41TGlxMulResolutionDetailsBindingSetFactoryD2Ev @ 37 NONAME
- _ZN42TGlxMulDateAndTimeDetailsBindingSetFactoryC1Ev @ 38 NONAME
- _ZN42TGlxMulDateAndTimeDetailsBindingSetFactoryC2Ev @ 39 NONAME
- _ZN42TGlxMulDateAndTimeDetailsBindingSetFactoryD0Ev @ 40 NONAME
- _ZN42TGlxMulDateAndTimeDetailsBindingSetFactoryD1Ev @ 41 NONAME
- _ZN42TGlxMulDateAndTimeDetailsBindingSetFactoryD2Ev @ 42 NONAME
- _ZN42TGlxMulDescriptionDetailsBindingSetFactoryC1Ev @ 43 NONAME
- _ZN42TGlxMulDescriptionDetailsBindingSetFactoryC2Ev @ 44 NONAME
- _ZN42TGlxMulDescriptionDetailsBindingSetFactoryD0Ev @ 45 NONAME
- _ZN42TGlxMulDescriptionDetailsBindingSetFactoryD1Ev @ 46 NONAME
- _ZN42TGlxMulDescriptionDetailsBindingSetFactoryD2Ev @ 47 NONAME
- _ZN42TGlxMulUsageRightsDetailsBindingSetFactoryC1Ev @ 48 NONAME
- _ZN42TGlxMulUsageRightsDetailsBindingSetFactoryC2Ev @ 49 NONAME
- _ZN42TGlxMulUsageRightsDetailsBindingSetFactoryD0Ev @ 50 NONAME
- _ZN42TGlxMulUsageRightsDetailsBindingSetFactoryD1Ev @ 51 NONAME
- _ZN42TGlxMulUsageRightsDetailsBindingSetFactoryD2Ev @ 52 NONAME
-
--- a/photosgallery/viewframework/views/metadataview/group/bld.inf Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2008-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: Project build file
-*
-*/
-
-
-
-PRJ_EXPORTS
-
-//../rom/glxmetadataview.iby CORE_APP_LAYER_IBY_EXPORT_PATH(glxmetadataview.iby)
-
-PRJ_MMPFILES
-
-//glxmetadataview.mmp
-
-//End of files
-
-
-
--- a/photosgallery/viewframework/views/metadataview/group/glxmetadataview.mmp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2008-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: Project definition file
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-#include "../../../../group/glxbuildcommon.mmh"
-#include "../../../../inc/glxalfhelper.mmh"
-
-TARGET glxunifiedmetadataview.dll
-TARGETTYPE dll
-UID 0x1000008D 0x200104E2
-
-#ifndef WINSCW
-EPOCALLOWDLLDATA
-#endif
-CAPABILITY CAP_GENERAL_DLL
-
-SOURCEPATH ../src
-SOURCE glxmetadataviewimp.cpp
-SOURCE glxmetadataview.cpp
-SOURCE glxmetadatabindingsetfactory.cpp
-
-START RESOURCE ../data/glxmetadataview.rss
-HEADER
-TARGETPATH resource/apps
-LANGUAGE_IDS
-END
-
-SYSTEMINCLUDE ../inc
-SYSTEMINCLUDE ../../viewbase/inc
-SYSTEMINCLUDE ../../../inc
-SYSTEMINCLUDE ../../../dataprovider/inc
-SYSTEMINCLUDE ../../../medialists/inc
-SYSTEMINCLUDE ../../../uiutilities/inc //for attribute retrival
-SYSTEMINCLUDE ../../../drmutility/inc //for drm utility
-SYSTEMINCLUDE ../../../commandhandlers/inc
-SYSTEMINCLUDE ../../../../inc
-SYSTEMINCLUDE ../../../../common/inc // for CGlxResourceUtilities
-SYSTEMINCLUDE ../../../commandhandlers/commandhandlerbase/inc
-SYSTEMINCLUDE ../../../commandhandlers/commoncommandhandlers/inc
-
-// System includes from epoc32/include
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY avkon.lib //for Avkon conrols
-LIBRARY eikcoctl.lib //for eik controls
-LIBRARY eikcore.lib //for eik controls
-LIBRARY cone.lib //for CCoeEnv
-LIBRARY efsrv.lib //for TParse
-LIBRARY glxmedialists.lib //for CGlxMedia
-LIBRARY glxviewbase.lib //for CGlxViewBase
-LIBRARY mpxcommon.lib //for TMPXAttribute
-LIBRARY glxcommon.lib //for filter factory, CResourceUtilities
-LIBRARY glxuiutilities.lib //for ui utility
-LIBRARY glxcommoncommandhandlers.lib //for show on map
-LIBRARY flogger.lib
-
-// Uiaccelerator related libraries
-LIBRARY osncore.lib // CAlfString
-LIBRARY alfclient.lib // MAlfWidgetFactory
-LIBRARY alfwidgetmodel.lib
-
-// MUL related libraries
-LIBRARY libstdcpp.lib //for STL code
-LIBRARY glxdataprovider.lib //data provider
-
-
-// End of File
--- a/photosgallery/viewframework/views/metadataview/inc/glxmetadatabindingsetfactory.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2008-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: Implementation of Metadata view
-*
-*/
-
-
-
-#ifndef _GLXMETADATABINDINGSETFACTORY_H_
-#define _GLXMETADATABINDINGSETFACTORY_H_
-
-
-#include <e32def.h>
-#include <mul\mulvisualitem.h>
-#include "glxmulbindingsetfactory.h"
-
-NONSHARABLE_CLASS( TGlxMulTitleDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulTitleDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulTitleDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulDateAndTimeDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulDateAndTimeDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulDateAndTimeDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulDescriptionDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulDescriptionDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulDescriptionDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulTagsDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulTagsDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulTagsDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulAlbumsDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulAlbumsDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulAlbumsDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulLocationDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulLocationDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulLocationDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulFileSizeDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulFileSizeDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulFileSizeDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-
-NONSHARABLE_CLASS( TGlxMulResolutionDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulResolutionDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulResolutionDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulDurationDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulDurationDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulDurationDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-NONSHARABLE_CLASS( TGlxMulUsageRightsDetailsBindingSetFactory ) : public TGlxMulBindingSetFactory
- {
-public:
- IMPORT_C TGlxMulUsageRightsDetailsBindingSetFactory();
- IMPORT_C ~TGlxMulUsageRightsDetailsBindingSetFactory();
-private:
- /**
- * Add different types of binding to the Binding set
- * @param aCommand command associated with option menu item/items
- */
- void AddBindingsL() const;
- };
-
-#endif // _GLXMETADATABINDINGSETFACTORY_H_
\ No newline at end of file
--- a/photosgallery/viewframework/views/metadataview/inc/glxmetadataview.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2008-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: Metadata view implementation
-*
-*/
-
-
-#ifndef C_GLXMETADATAVIEW_H
-#define C_GLXMETADATAVIEW_H
-
-
-// INCLUDES
-#include <glxmedialistviewbase.h>
-
-// CLASS DECLARATION
-
-/**
- * Metadata view
- *
- */
-NONSHARABLE_CLASS(CGlxMetadataView) :public CGlxMediaListViewBase
- {
-public:
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to newly created object.
- */
- IMPORT_C static CGlxMetadataView* NewL( MGlxMediaListFactory* aMediaListFactory );
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to newly created object.
- */
- IMPORT_C static CGlxMetadataView* NewLC( MGlxMediaListFactory* aMediaListFactory );
-
- /**
- * Destructor.
- */
- virtual ~CGlxMetadataView();
-
- };
-
-#endif // C_GLXMETADATAVIEW_H
-
-// End of File
-
--- a/photosgallery/viewframework/views/metadataview/inc/glxmetadataviewimp.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2008-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: Metadata view implementation
- *
-*/
-
-
-#ifndef C_GLXMETADATAVIEWIMP_H__
-#define C_GLXMETADATAVIEWIMP_H__
-
-// INCLUDES
-#include <alf/alfwidgeteventhandler.h>
-
-#include "glxmetadataview.h"
-
-// FORWARD DECLARATIONS
-class MGlxMediaList;
-class CGlxDetailsMulModelProvider;
-
-// CLASS DECLARATION
-/**
- * CGlxMetadataViewImp
- *
- * Metadata view implementation.
- */
-NONSHARABLE_CLASS( CGlxMetadataViewImp ) : public CGlxMetadataView, public IAlfWidgetEventHandler
- {
-public:
- /**
- * Two-phased constructor.
- *
- * @return Pointer to newly created object.
- */
- static CGlxMetadataViewImp* NewL( MGlxMediaListFactory* aMediaListFactory );
-
- /**
- * Two-phased constructor.
- *
- * @return Pointer to newly created object.
- */
- static CGlxMetadataViewImp* NewLC( MGlxMediaListFactory* aMediaListFactory );
-
- /**
- * Destructor.
- */
- virtual ~CGlxMetadataViewImp();
-
-private:
-
- /**
- * C++ default constructor.
- */
- CGlxMetadataViewImp();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( MGlxMediaListFactory* aMediaListFactory );
-
- // From MEikMenuObserver
- void ViewDynInitMenuPaneL( TInt /*aResourceId*/, CEikMenuPane *aMenuPane );
-
-public: // From CGlxMediaListViewBase
-
- virtual TBool HandleViewCommandL( TInt aCommand );
-
- virtual TInt MenuResourceId();
-
- MGlxMediaList& MediaList();
-
-private: // from base class CGlxMediaListViewBase
-
- TUid Id() const;
-
- void DoMLViewActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/,
- const TDesC8& aCustomMessage );
-
- void DoMLViewDeactivate();
-
-
-public: // ialfwidgeteventhandler
-
- bool accept( CAlfWidgetControl& /*aControl*/, const TAlfEvent& /*aEvent*/ ) const;
-
- void setActiveStates( unsigned int /*aStates*/ );
-
- AlfEventStatus offerEvent( CAlfWidgetControl& aControl, const TAlfEvent& aEvent );
-
- IAlfInterfaceBase* makeInterface( const IfId& /*aType*/ );
-
- void setEventHandlerData( const AlfWidgetEventHandlerInitData& /*aData*/ );
-
- AlfWidgetEventHandlerInitData* eventHandlerData();
-
- AlfEventHandlerType eventHandlerType() ;
-
- AlfEventHandlerExecutionPhase eventExecutionPhase() ;
-
-private : //new method
-
- /**
- * Create media list with URI filter
- *
- * @param aURI uri or file name of item
- */
- void CreateMediaListL( const TDesC8& aURI );
-
- /**
- * Sets the default text for the List View when empty
- */
- void CreateEmptyText();
-
- /**
- * Constructs the Alf Environment and display
- */
- void ConstructAlfEnvL();
-
- /**
- * Constructs the list widget
- */
- void ConstructInitialViewL();
-
- /**
- * Destroys the view Widget
- */
- void DestroyListViewWidget();
-
- /**
- * Send factory instance for the items to be shown in the list
- */
- void AddListEntryL();
-
-private: // Data
-
- MGlxMediaList* iItemMediaList;//own
- TInt iResourceOffset;
- HBufC* iItemURI;
-
- //Alf environment (not owned)
- CAlfEnv* iEnv;
-
- //Alf display (not owned)
- CAlfDisplay* iDisp;
-
- // Owns the list widget (not owned)
- IMulListWidget* iListWidget;
- IAlfViewWidget* iViewWidget;
-
- //Owns DetailsMulModelProvider
- CGlxDetailsMulModelProvider* iDetailsMulModelProvider;
-
-
- //Control gorup id
- TInt iControlGroupId;
-
- TBool iIsVideo;
-
- TBool iIsDrm;
-
- };
-
-#endif // C_GLXMETADATAVIEWIMP_H__
-
-// End of File
-
--- a/photosgallery/viewframework/views/metadataview/rom/glxmetadataview.iby Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2008-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: Metadataview iby file.
-*
-*/
-
-
-
-#ifndef __GLXMETADATAVIEW_IBY__
-#define __GLXMETADATAVIEW_IBY__
-
-file=ABI_DIR\BUILD_DIR\glxunifiedmetadataview.dll SHARED_LIB_DIR\glxunifiedmetadataview.dll
-data=DATAZ_\app_resource_dir\glxmetadataview.rsc RESOURCE_FILES_DIR\glxmetadataview.rsc
-
-#endif // __GLXMETADATAVIEW_IBY__
-
-// End of file
--- a/photosgallery/viewframework/views/metadataview/src/glxmetadatabindingsetfactory.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-/*
-* Copyright (c) 2008-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: Implementation of Metadata view
-*
-*/
-
-
-#include "glxmetadatabindingsetfactory.h"
-#include "glxmuliconprovider.h"
-#include "glxdetailsboundcommand.h"
-#include "glxuiutility.h"
-#include <alf/ialfviewwidget.h>
-#include <mul/imulwidget.h>
-#include <avkon.rsg>
-#include <glxmetadataview.rsg>
-#include <mpxcollectionpath.h>
-#include <glxcollectionplugintags.hrh> // tag collection plugin uid
-#include <glxcollectionpluginalbums.hrh> // album collection plugin uid
-#include <glxtracer.h>
-
-//-----------------------------------------------------------------------------
-// TGlxMulTitleDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulTitleDetailsBindingSetFactory::TGlxMulTitleDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulTitleDetailsBindingSetFactory::~TGlxMulTitleDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulTitleDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulTitleDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate6, Alf::mulwidget::KTemplate6);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_TITLE_NSERIES );
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralTitle );
-
- CGlxUiUtility* uiUtility = CGlxUiUtility::UtilityL();
- CleanupClosePushL( *uiUtility );
- AddThumbnailBindingL( Alf::mulvisualitem::KMulIcon1, uiUtility->GetGridIconSize() );
- CleanupStack::PopAndDestroy( uiUtility );
-
-// AddThumbnailBindingL( Alf::mulvisualitem::KMulIndicator1 );//qgn_lgal_details_editable_item
- AddCommandBindingL(CGlxTitleBoundCommand::NewL());
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulDateAndTimeDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulDateAndTimeDetailsBindingSetFactory::TGlxMulDateAndTimeDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulDateAndTimeDetailsBindingSetFactory::~TGlxMulDateAndTimeDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulDateAndTimeDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulDateAndTimeDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle,R_GLX_METADATA_VIEW_DATE_TIME_NSERIES );
- AddCommandBindingL(CGlxDateAndTimeBoundCommand::NewL());
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail ,
- KMPXMediaGeneralDate, R_QTN_DATE_USUAL_WITH_ZERO );
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulDescriptionDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulDescriptionDetailsBindingSetFactory::TGlxMulDescriptionDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulDescriptionDetailsBindingSetFactory::~TGlxMulDescriptionDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulDescriptionDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulDescriptionDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle,R_GLX_METADATA_VIEW_DESCRIPTION_NSERIES );
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralComment );
-// AddThumbnailBindingL( Alf::mulvisualitem::KMulIndicator1 );//qgn_lgal_details_editable_item
- AddCommandBindingL(CGlxDescriptionBoundCommand::NewL());
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulTagsDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulTagsDetailsBindingSetFactory::TGlxMulTagsDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulTagsDetailsBindingSetFactory::~TGlxMulTagsDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulTagsDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulTagsDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_TAGS_NSERIES );
-
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL( path );
- path->AppendL( KGlxTagCollectionPluginImplementationUid );
- AddContainerListBindingL( Alf::mulvisualitem::KMulDetail, *path );
- CleanupStack::PopAndDestroy( path );
-
-// AddThumbnailBindingL( Alf::mulvisualitem::KMulIndicator1 );//qgn_lgal_details_editable_item
- AddCommandBindingL(CGlxTagsBoundCommand::NewL());
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulAlbumsDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulAlbumsDetailsBindingSetFactory::TGlxMulAlbumsDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulAlbumsDetailsBindingSetFactory::~TGlxMulAlbumsDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulAlbumsDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulAlbumsDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_ALBUMS_NSERIES );
-
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL( path );
- path->AppendL( KGlxCollectionPluginAlbumsImplementationUid );
- AddContainerListBindingL( Alf::mulvisualitem::KMulDetail, *path );
- CleanupStack::PopAndDestroy( path );
-
- //AddThumbnailBindingL( Alf::mulvisualitem::KMulIndicator1 );//qgn_lgal_details_editable_item
- AddCommandBindingL(CGlxAlbumsBoundCommand::NewL());
-
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulLocationDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulLocationDetailsBindingSetFactory::TGlxMulLocationDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulLocationDetailsBindingSetFactory::~TGlxMulLocationDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulLocationDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulLocationDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_LOCATION_NSERIES );
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KGlxMediaGeneralLocation ) ;//@todo
-// AddThumbnailBindingL( Alf::mulvisualitem::KMulIndicator1 );//qgn_lgal_details_editable_item
- AddCommandBindingL(CGlxLocationBoundCommand::NewL());
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulFileSizeDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulFileSizeDetailsBindingSetFactory::TGlxMulFileSizeDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulFileSizeDetailsBindingSetFactory::~TGlxMulFileSizeDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulFileSizeDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulFileSizeDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle,R_GLX_METADATA_VIEW_FILE_SIZE_NSERIES );
- AddCommandBindingL(CGlxFileSizeBoundCommand::NewL());
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralSize );
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulResolutionDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulResolutionDetailsBindingSetFactory::TGlxMulResolutionDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulResolutionDetailsBindingSetFactory::~TGlxMulResolutionDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulResolutionDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulResolutionDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_RESOLUTION_NSERIES );
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KGlxMediaGeneralDimensions );
- AddCommandBindingL(CGlxResolutionBoundCommand::NewL());
- }
-
-//-----------------------------------------------------------------------------
-// TGlxMulDurationDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
- /**
- * Constructor
- */
-EXPORT_C TGlxMulDurationDetailsBindingSetFactory::TGlxMulDurationDetailsBindingSetFactory()
- {
- }
-
-/**
- * Destructor
- */
-EXPORT_C TGlxMulDurationDetailsBindingSetFactory::~TGlxMulDurationDetailsBindingSetFactory()
- {
- }
-
- /**
- * AddBindingsL
- */
-void TGlxMulDurationDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulDurationDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_DURATION_NSERIES);
- AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaGeneralDuration );
- AddCommandBindingL(CGlxDurationBoundCommand::NewL());
- }
-
-
-//-----------------------------------------------------------------------------
-// TGlxMulUsageRightsDetailsBindingSetFactory
-//-----------------------------------------------------------------------------
-
-/**
-* Constructor
-*/
-EXPORT_C TGlxMulUsageRightsDetailsBindingSetFactory::TGlxMulUsageRightsDetailsBindingSetFactory()
- {
- }
-
-/**
-* Destructor
-*/
-EXPORT_C TGlxMulUsageRightsDetailsBindingSetFactory::~TGlxMulUsageRightsDetailsBindingSetFactory()
- {
- }
-
-/**
-* AddBindingsL
-*/
-void TGlxMulUsageRightsDetailsBindingSetFactory::AddBindingsL() const
- {
- TRACER("TGlxMulUsageRightsDetailsBindingSetFactory::AddBindingsL");
-
- AddTemplateBindingL(Alf::mulwidget::KTemplate5, Alf::mulwidget::KTemplate5);
- AddStringBindingL( Alf::mulvisualitem::KMulTitle, R_GLX_METADATA_VIEW_DRM_NSERIES );
- //AddMpxAttributeBindingL( Alf::mulvisualitem::KMulDetail , KMPXMediaNullAttribute );//@todo
- AddCommandBindingL(CGlxUsageRightsBoundCommand::NewL());
- }
-
-
-
-
-
-
-
-
-
--- a/photosgallery/viewframework/views/metadataview/src/glxmetadataview.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2008-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: Implementation of Metadata view
-*
-*/
-
-
-// INCLUDE FILES
-#include "glxmetadataview.h"
-#include "glxmetadataviewimp.h"
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGlxMetadataView* CGlxMetadataView::NewL( MGlxMediaListFactory* aMediaListFactory )
- {
- return CGlxMetadataViewImp::NewL( aMediaListFactory );
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CGlxMetadataView* CGlxMetadataView::NewLC( MGlxMediaListFactory* aMediaListFactory )
- {
- return CGlxMetadataViewImp::NewLC( aMediaListFactory );
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataView::~CGlxMetadataView()
- {
- // Do nothing
- }
-
-// End of File
--- a/photosgallery/viewframework/views/metadataview/src/glxmetadataviewimp.cpp Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,537 +0,0 @@
-/*
-* Copyright (c) 2008-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: Implementation of Metadataview
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "glxmetadataviewimp.h"
-
-#include <aknviewappui.h>
-#include <data_caging_path_literals.hrh>
-#include <avkon.rsg>
-
-#include <alf/ialfviewwidget.h>
-#include <alf/alfdisplay.h>
-#include <alf/alfwidgetenvextension.h>
-#include <alf/alfwidgetcontrol.h>
-
-#include <glxmedialist.h>
-#include <glxtracer.h>
-#include <glxlog.h>
-#include <glxresourceutilities.h> // for CGlxResourceUtilities
-#include <glxsetappstate.h> // set app state in PCFW key
-
-#include <glxfilterfactory.h> // for TGlxFilterFactory
-#include <glxdetailsmulmodelprovider.h> //Details data provider
-#include "glxmetadatabindingsetfactory.h" //for Binding list entries
-#include <glxdetailsboundcommand.hrh>
-
-#include "glxmetadataview.h"
-#include <glxmetadataview.rsg>
-
-#include <glxuiutilities.rsg>
-
-#include <glxcommandhandleraiwshowmap.h>
-
-//CONSTANTS
-const TInt KViewId = 0x200071B0;
-const TInt KMainMediaListId = 0x2000D248;
-const TInt KDetialsDataWindowSize = 5;
-_LIT( KGlxStrETrue, "\x0001");
-
-// ============================== MEMBER FUNCTIONS ===========================
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewImp* CGlxMetadataViewImp::NewL
- ( MGlxMediaListFactory* aMediaListFactory )
- {
- TRACER("CGlxMetadataViewImp::NewL");
-
- CGlxMetadataViewImp* self = CGlxMetadataViewImp::NewLC( aMediaListFactory );
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// Two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewImp* CGlxMetadataViewImp::NewLC
- ( MGlxMediaListFactory* aMediaListFactory )
- {
- TRACER("CGlxMetadataViewImp::NewLC");
-
- CGlxMetadataViewImp* self = new (ELeave) CGlxMetadataViewImp();
- CleanupStack::PushL(self);
- self->ConstructL( aMediaListFactory );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewImp::CGlxMetadataViewImp()
- {
- //No implementation
- }
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGlxMetadataViewImp::~CGlxMetadataViewImp()
- {
- TRACER("CGlxMetadataViewImp::~CGlxMetadataViewImp");
-
-
- if ( iResourceOffset )
- {
- CCoeEnv::Static()->DeleteResourceFile( iResourceOffset );
- }
- }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::ConstructL( MGlxMediaListFactory* /*aMediaListFactory*/ )
- {
- TRACER("CGlxMetadataViewImp::ConstructL");
-
- _LIT(KGlxMetadataViewResource,"glxmetadataview.rsc");
-
- //add resource file
- TParse parse;
- parse.Set(KGlxMetadataViewResource, &KDC_APP_RESOURCE_DIR, NULL);
- TFileName resourceFile;
- resourceFile.Append(parse.FullName());
- CGlxResourceUtilities::GetResourceFilenameL(resourceFile);
- iResourceOffset = CCoeEnv::Static()->AddResourceFileL(resourceFile);
-
- //call base class's consructor
- BaseConstructL(R_GLX_METADATA_VIEW);
- ViewBaseConstructL();
-
- HBufC* title = iEikonEnv->AllocReadResourceLC(R_GLX_METADATA_VIEW_TITLE_DETAILS);
- MLViewBaseConstructL(NULL,*title);
- CleanupStack::PopAndDestroy(title);
-
- // ShowMap commandhandler
- GLX_LOG_INFO("Adding CGlxCommandHandlerAiwShowMap");
- this->AddCommandHandlerL(CGlxCommandHandlerAiwShowMap::
- NewL(this, R_METADATA_MENU));
-
- // Creating the Alf Environment
- ConstructAlfEnvL();
- }
-
-// ---------------------------------------------------------------------------
-// DynInitMenuPaneL
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::ViewDynInitMenuPaneL(TInt /*aResourceId*/, CEikMenuPane *aMenuPane)
- {
- TRACER("CGlxMetadataViewImp::DynInitMenuPaneL");
-
- iDetailsMulModelProvider->InitMenuL(*aMenuPane);
- }
-
-// ---------------------------------------------------------------------------
-// HandleViewCommandL
-// ---------------------------------------------------------------------------
-//
-TBool CGlxMetadataViewImp::HandleViewCommandL(TInt aCommand)
- {
- TRACER("CGlxMetadataViewImp::HandleViewCommandL");
-
- if( aCommand )
- {
- return iDetailsMulModelProvider->OfferCommandL( aCommand );
- }
- return EFalse;
- }
-
-// ---------------------------------------------------------------------------
-// From CGlxViewBase
-// return menuresource id
-// ---------------------------------------------------------------------------
-//
-TInt CGlxMetadataViewImp::MenuResourceId()
- {
- return R_METADATA_MENU;
- }
-
-// ---------------------------------------------------------------------------
-// From CAknView
-// Returns views id.
-// ---------------------------------------------------------------------------
-//
-TUid CGlxMetadataViewImp::Id() const
- {
- return TUid::Uid(KViewId);
- }
-
-// ---------------------------------------------------------------------------
-// From CAknView
-// Handles a view activation.
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::DoMLViewActivateL( const TVwsViewId& /* aPrevViewId */,
- TUid /* aCustomMessageId */, const TDesC8& aCustomMessage )
- {
- TRACER("CGlxMetadataViewImp::DoMLViewActivateL");
- CreateMediaListL( aCustomMessage );
-
- StatusPane()->MakeVisible(ETrue);
-
- // Construct the application's default view i.e., listview widget
- ConstructInitialViewL();
- GlxSetAppState::SetState( EGlxInListView );
- }
-
-// ---------------------------------------------------------------------------
-// From CAknView
-// View deactivation function.
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::DoMLViewDeactivate()
- {
- TRACER("CGlxMetadataViewImp::DoMLViewDeactivate");
-
-
-
- DestroyListViewWidget();
- if( iItemMediaList )
- {
- iItemMediaList->Close();
- iItemMediaList = NULL;
- }
- if( iItemURI )
- {
- delete iItemURI;
- iItemURI = NULL;
- }
- }
-
-// ---------------------------------------------------------------------------
-// ConstructAlfEnvL
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::ConstructAlfEnvL()
- {
- TRACER("CGlxMetadataViewImp::ConstructAlfEnvL");
-
-
- // Creating the Alf Environment
- // Should be the first thing to be done before widgets can be created
- iEnv = iUiUtility->Env();
-
- // Creating the Alf display
- // display is need to show anything related to Alf
- // Avkon perceives the Alf display as one CoeControl,
- // it can't see widgets inside the display
- iDisp = iUiUtility->Display();
-
- // Use the Avkon skin background as the display background.
- iDisp->SetClearBackgroundL (CAlfDisplay::EClearWithSkinBackground);
- }
-
-// ---------------------------------------------------------------------------
-// ConstructInitialViewL
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::ConstructInitialViewL()
- {
- TRACER("CGlxMetadataViewImp::ConstructInitialViewL");
-
- const char* KLoadName("mullistwidget");
- const char* KWidgetLoadName("ListWidget");
-
- iControlGroupId = reinterpret_cast < TInt > (this);
-
- try
- {
- // Get widget factory from CAlfEnv
- // Factory is then used to create the individual widgets & data model
-
- IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(*iEnv);
-
-
- iViewWidget = widgetFactory.createViewWidget("detaillistviewwidget", iControlGroupId);
-
- //Enable status pane
- iViewWidget->enableStatusPane(true);
- iViewWidget->setRect( ClientRect() );
- iViewWidget->show(true);
-
- // Create List widget. CAlfEnv owns widget
- iListWidget = widgetFactory.createWidget<IMulListWidget>( KLoadName,
- KWidgetLoadName, *iViewWidget, NULL);
-
- // Disable marking for list, need to remove this flag when widget
- // construction has no marking flag set by default
- iListWidget->ClearFlags( IMulMultiItemWidget::EMulWidgetMarkingMode );
-
- //Sets the default text for the List View when empty
- CreateEmptyText();
-
- if ( iListWidget )
- {
- // Widget takes the ownership
- iListWidget->AddEventHandler (*this);
- iListWidget->ShowWidget(true);
- iListWidget->control()->AcquireFocus();
- }
-
- AddListEntryL();
-
- }
- catch(...)
- {
- User::Leave(KErrGeneral);
- }
- }
-
-// ---------------------------------------------------------------------------
-// Destroys the Widget
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::DestroyListViewWidget()
- {
- if( iDetailsMulModelProvider )
- {
- delete iDetailsMulModelProvider;
- iDetailsMulModelProvider = NULL;
- }
- if( iListWidget )
- {
- iListWidget->RemoveEventHandler (*this);
- iListWidget->ShowWidget(false);
- iViewWidget->show(false);
- }
-
- IAlfWidgetFactory& widgetFactory = AlfWidgetEnvExtension::widgetFactory(*iEnv);
- widgetFactory.destroyWidget(iViewWidget);
-
- iListWidget = NULL;
- iViewWidget = NULL;
- }
-
-// ---------------------------------------------------------------------------
-// From AddListEntryL
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::AddListEntryL()
- {
- TRACER("CGlxMetadataViewImp::AddListEntryL");
-
- iDetailsMulModelProvider = CGlxDetailsMulModelProvider::NewL( *iEnv,
- *iListWidget,
- *iItemMediaList,
- mulwidget::KTemplate5, KDetialsDataWindowSize );
-
- iDetailsMulModelProvider->AddEntryL(TGlxMulTitleDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulDateAndTimeDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulDescriptionDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulTagsDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulAlbumsDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulLocationDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulFileSizeDetailsBindingSetFactory() );
- iDetailsMulModelProvider->AddEntryL(TGlxMulResolutionDetailsBindingSetFactory() );
- if( iIsVideo)
- {
- iDetailsMulModelProvider->AddEntryL(TGlxMulDurationDetailsBindingSetFactory() );
- }
- if( iIsDrm )
- {
- iDetailsMulModelProvider->AddEntryL(TGlxMulUsageRightsDetailsBindingSetFactory() );
- }
- }
-
-// ---------------------------------------------------------
-// CreateEmptyText
-// ---------------------------------------------------------
-//
-void CGlxMetadataViewImp::CreateEmptyText()
- {
- TRACER("CGlxMetadataViewImp::CreateEmptyText");
-
- // The listwidget can set an empty text on the display
- // If there are no data items in the associated data model,
- // then the empty text is shown on the widget
- // If the empty text is not set, then widget won't shown any text by default
- UString* defaultText = new UString("No Items Present");
- iListWidget->SetEmptyText (*defaultText); // Widget takes the ownership
- delete defaultText;
- }
-
-// ---------------------------------------------------------------------------
-// CreateMediaListL
-// ---------------------------------------------------------------------------
-//
-void CGlxMetadataViewImp::CreateMediaListL( const TDesC8& aURI )
- {
- TRACER("CGlxMetadataViewImp::CreateMediaListL");
-
- CMPXCollectionPath* path = CMPXCollectionPath::NewL();
- CleanupStack::PushL( path );
-
- path->AppendL(KGlxCollectionPluginAllImplementationUid);
-
- //convert uri from 8 bit to unicode
- iItemURI = HBufC::NewL( aURI.Length() );
- iItemURI->Des().Copy( aURI );
-
- //Get last two characters for checking drm or video and reset the length for uri
- TPtr uriPtr (iItemURI->Des());
-
- TPtr isVideo = uriPtr.MidTPtr(uriPtr.Length()-1,1);
- if( !isVideo.Compare(KGlxStrETrue ))
- {
- iIsVideo = ETrue;
- }
-
- TPtr isDrm = uriPtr.MidTPtr(uriPtr.Length()-2,1);
- if( !isDrm.Compare(KGlxStrETrue))
- {
- iIsDrm = ETrue;
- }
-
- uriPtr.SetLength(uriPtr.Length()-2);
-
- CMPXFilter* filter = TGlxFilterFactory::CreateURIFilterL( *iItemURI );
- CleanupStack::PushL( filter );
-
- //@TODO remove magic no - allocate uid from uid list
- iItemMediaList = MGlxMediaList::InstanceL(*path, TGlxHierarchyId(KMainMediaListId), filter);
-
- CleanupStack::PopAndDestroy( filter );
- CleanupStack::PopAndDestroy( path );
- }
-
-// ---------------------------------------------------------------------------
-// MediaList.
-// ---------------------------------------------------------------------------
-//
-MGlxMediaList& CGlxMetadataViewImp::MediaList()
- {
- return *iItemMediaList;
- }
-
-// ---------------------------------------------------------
-// offerEvent
-// ---------------------------------------------------------
-//
-AlfEventStatus CGlxMetadataViewImp::offerEvent( CAlfWidgetControl& /*aControl*/, const TAlfEvent& aEvent )
- {
-
- //Check if its a Custom Event else return
- if(!aEvent.IsCustomEvent())
- {
- GLX_LOG_INFO("Event Not Handled");
- return EEventNotHandled;
- }
- TInt eventId = aEvent.CustomParameter();
- switch(eventId)
- {
- case KAlfActionIdDeviceLayoutChanged:
- {
- iViewWidget->setRect( ClientRect() );
- return EEventNotHandled;
- }
- case ETypeSelect:
- {
- TRAP_IGNORE(HandleViewCommandL((TInt)KGlxEditBoundMenuCommandId));
- }
- }
-
- return EEventConsumed;
- }
-
-//----------------------------------------------------------------------------------
-// eventHandlerType
-//----------------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerType CGlxMetadataViewImp::eventHandlerType()
- {
- return IAlfWidgetEventHandler::EPresentationEventHandler;
- }
-
-//----------------------------------------------------------------------------------
-// eventExecutionPhase
-//----------------------------------------------------------------------------------
-//
-IAlfWidgetEventHandler::AlfEventHandlerExecutionPhase CGlxMetadataViewImp::eventExecutionPhase()
- {
- return EBubblingPhaseEventHandler;
- }
-// ---------------------------------------------------------
-// accept
-// ---------------------------------------------------------
-//
-
-bool CGlxMetadataViewImp::accept( CAlfWidgetControl& /*aControl*/, const TAlfEvent& /*aEvent*/ ) const
- {
- return ETrue;
- }
-
-// ---------------------------------------------------------
-// setActiveStates
-// ---------------------------------------------------------
-//
-
- void CGlxMetadataViewImp::setActiveStates( unsigned int /*aStates*/ )
- {
-
- }
-
-// ---------------------------------------------------------
-// makeInterface
-// ---------------------------------------------------------
-//
-
-IAlfInterfaceBase* CGlxMetadataViewImp::makeInterface( const IfId& /*aType*/ )
- {
- return NULL;
- }
-
-// ---------------------------------------------------------
-// setEventHandlerData
-// ---------------------------------------------------------
-//
-
-void CGlxMetadataViewImp::setEventHandlerData(const AlfWidgetEventHandlerInitData& /*aData*/ )
- {
-
- }
-
-// ---------------------------------------------------------
-// eventHandlerData
-// ---------------------------------------------------------
-//
-
-AlfWidgetEventHandlerInitData* CGlxMetadataViewImp::eventHandlerData()
- {
- return NULL;
- }
-
-// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/views/viewbase/inc/glxgfxtranseffect.h Wed Mar 31 21:31:03 2010 +0300
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2008-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: Transition Effects Header
+*
+*/
+
+#ifndef GLXGFXTRANSEFFECT_H_
+#define GLXGFXTRANSEFFECT_H_
+
+#include<glxgallery.hrh>
+
+//Photos uid
+const TUid KPhotosUid = TUid::Uid(KGlxGalleryApplicationUid);
+
+//Transition id for view activation for grid, list and cloud views
+const TUint KActivateTransitionId (1000);
+
+//Transition id for view De-activation for grid, list and cloud views
+const TUint KDeActivateTransitionId (1001);
+
+//Transition id for view De-activation for fullscreen view
+const TUint KFSDeActivateTransitionId (1003);
+
+#endif /* GLXGFXTRANSEFFECT_H_ */
--- a/photosgallery/viewframework/views/viewbase/inc/glxtoolbarcontroller.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/viewbase/inc/glxtoolbarcontroller.h Wed Mar 31 21:31:03 2010 +0300
@@ -90,11 +90,7 @@
* aLatched ETrue if the command button needs to be latched.
*/
void EnableLatch( TInt aCommandId, TInt aLatched );
-
- /*
- * check the current view
- */
- TBool IsFullScreenView();
+
private:
CAknToolbar* iToolbar;
TBool iAttributeAvailable;
--- a/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/viewbase/src/glxtoolbarcontroller.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -203,24 +203,6 @@
{
EnableLatch( EGlxCmdStartMultipleMarking, ETrue );
}
- /* single clk chngs
- * check the current view status.
- * need to disable upload button in toolbar for grid by default
- */
- if(!IsFullScreenView())
- {
- if(aList->SelectionCount() >= 1 )
- {
- iToolbar->SetItemDimmed(EGlxCmdUpload,EFalse , ETrue);
- }
- else
- {
- iToolbar->SetItemDimmed(EGlxCmdUpload,ETrue , ETrue);
- }
- }
-
- //DrawNow must be called since SetDimmed does not redraw the toolbar
- iToolbar->DrawNow();
}
//----------------------------------------------------------------------------
@@ -293,13 +275,6 @@
iToolbar->SetItemDimmed( EGlxCmdRename, EFalse, ETrue );
}
}
- /* single clk chngs
- * enable/disable upload button as per selection count, only in grid view
- */
- if(aList->SelectionCount()== 0 && !IsFullScreenView())
- {
- iToolbar->SetItemDimmed(EGlxCmdUpload,ETrue , ETrue);
- }
//DrawNow must be called since SetDimmed does not redraw the toolbar
iToolbar->DrawNow();
@@ -326,42 +301,5 @@
}
}
}
-//----------------------------------------------------------------------------
-// Check for current view mode .Grid/fullscreen/imgviewer
-//----------------------------------------------------------------------------
-//
-TBool CGlxToolbarController::IsFullScreenView()
- {
- TBool fullscreenViewingMode = EFalse;
-
- CGlxNavigationalState* aNavigationalState = CGlxNavigationalState::InstanceL();
- CMPXCollectionPath* naviState = aNavigationalState->StateLC();
-
- if ( naviState->Levels() >= 1)
- {
- if (aNavigationalState->ViewingMode() == NGlxNavigationalState::EBrowse)
- {
- // For image viewer collection, goto view mode
- if (naviState->Id() == TMPXItemId(KGlxCollectionPluginImageViewerImplementationUid))
- {
- // current view mode is img vwr
- fullscreenViewingMode = ETrue;
- }
- else
- {
- //current view mode is Grid
- fullscreenViewingMode = EFalse;
- }
- }
- else
- {
- //current view mode is Fullscreen
- fullscreenViewingMode = ETrue;
- }
- }
- CleanupStack::PopAndDestroy( naviState );
- aNavigationalState->Close();
- return fullscreenViewingMode;
- }
-//end os file
+//end of file
--- a/photosgallery/viewframework/views/viewbase/src/glxviewbase.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/viewbase/src/glxviewbase.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -41,6 +41,8 @@
#include <mglxanimation.h>
#include "glxcommandhandler.h"
+#include <aknbutton.h> // for getting the button state
+
_LIT(KGlxViewBaseResource, "glxviewbase.rsc");
/// Length of time a view-switch animation should take
@@ -247,7 +249,6 @@
{
iTitlePane->SetTextL(aTitleText);
}
- //StatusPane()->MakeVisible(ETrue);
}
// -----------------------------------------------------------------------------
@@ -257,7 +258,6 @@
EXPORT_C void CGlxViewBase::DisableTitle()
{
TRACER( "CGlxViewBase::DisableTitle" );
- //StatusPane()->MakeVisible(EFalse);
}
// DoActivateL
@@ -474,6 +474,7 @@
{
TRACER("CGlxViewBase::SetGridToolBar()");
iToolbar = aToolbar;
+ iUiUtility->SetGridToolBar(aToolbar);
}
// -----------------------------------------------------------------------------
// GetToolBar
@@ -538,6 +539,21 @@
CAknToolbar* toolbar = GetToolBar();
if(toolbar)
{
+ //Here after the toolbar cmd is processed it is enabled
+ //back. For share the toolbar state should be same as it was
+ //earlier, so we take the current state and reset back after
+ //the command is processed.
+ CAknButton* uploadButton =
+ static_cast<CAknButton*> (toolbar->ControlOrNull(EGlxCmdUpload));
+ TBool dimmed = EFalse;
+
+ if(uploadButton)
+ {
+ // Get current button state
+ CAknButtonState* currentState = uploadButton->State();
+ dimmed = uploadButton->IsDimmed();
+ }
+
// Deactivate the toolbar. Don't accept the toolbar input when the command
// execution is already in progress.
toolbar->SetDimmed(ETrue);
@@ -549,6 +565,11 @@
// Activate back the toolbar and set it's state properly
// after command execution.
SetToolbarStateL();
+
+ if(dimmed || (aCommand == EGlxCmdStartMultipleMarking))
+ {
+ toolbar->SetItemDimmed(EGlxCmdUpload, ETrue, ETrue);
+ }
}
}
--- a/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/zoomview/src/glxzoomcontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -272,7 +272,7 @@
// ActivateL:Activates the Zoom Control,set the image visual ,do the initial setup
// -----------------------------------------------------------------------------
//
-EXPORT_C void CGlxZoomControl::ActivateL(TInt aInitialZoomRatio, TZoomStartMode aStartMode,
+EXPORT_C void CGlxZoomControl::ActivateL(TInt /*aInitialZoomRatio*/, TZoomStartMode aStartMode,
TInt aFocusIndex, TGlxMedia& aItem, TPoint* aZoomFocus,TBool aViewingMode)
{
TRACER("CGlxZoomControl::ActivateL()");
--- a/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/zoomview/src/glxzoomeventhandler.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -135,7 +135,7 @@
//----------------------------------------------------------------------------------
//
// Todo: Combine logics of setting up animated zoom and pan.
-void CGlxZoomPanEventHandler::SetupAnimatedZoom(TZoomMode aZoomMode, TPoint* aZoomFocus)
+void CGlxZoomPanEventHandler::SetupAnimatedZoom(TZoomMode aZoomMode, TPoint* /*aZoomFocus*/)
{
TRACER("CGlxZoomPanEventHandler::SetupAnimatedZoom");
@@ -606,7 +606,7 @@
// HandleGestureReleased
// -----------------------------------------------------------------------------
//
-void CGlxZoomPanEventHandler::HandleGestureReleased(const GestureHelper::MGestureEvent& aEvent )
+void CGlxZoomPanEventHandler::HandleGestureReleased(const GestureHelper::MGestureEvent& /*aEvent*/ )
{
TRACER("CGlxZoomPanEventHandler::HandleGestureReleasedEvent(const GestureHelper::MGestureEvent& )");
@@ -710,7 +710,7 @@
// HandleDoubleTap
// -----------------------------------------------------------------------------
//
-void CGlxZoomPanEventHandler::HandleDoubleTap(const GestureHelper::MGestureEvent& aEvent )
+void CGlxZoomPanEventHandler::HandleDoubleTap(const GestureHelper::MGestureEvent& /*aEvent*/ )
{
TRACER("CGlxZoomControl::HandleDoubleTap(GestureHelper::MGestureEvent&)");
@@ -727,7 +727,7 @@
// HandleSingleTap
// -----------------------------------------------------------------------------
//
-void CGlxZoomPanEventHandler::HandleSingleTap(const GestureHelper::MGestureEvent& aEvent )
+void CGlxZoomPanEventHandler::HandleSingleTap(const GestureHelper::MGestureEvent& /*aEvent*/ )
{
TRACER("CGlxZoomControl::HandleSingleTap(GestureHelper::MGestureEvent&)");
@@ -1151,6 +1151,5 @@
void CGlxZoomPanEventHandler::HandleMultiTouchReleased()
{
TRACER("CGlxZoomPanEventHandler::HandleMultiTouchReleased");
-
-// ShowScreenFurniture(KGlxScreenTimeout);
+ //Do nothing
}
--- a/photosgallery/viewframework/views/zoomview/src/glxzoommathsengine.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/views/zoomview/src/glxzoommathsengine.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -47,7 +47,7 @@
void TGlxZoomAndPanMathsEngine::Initialize(TPoint& aCenter,
TSize& aScreenSize,
TSize& aImageSize,
- TSize& aOriginalZoomedDimensions,
+ TSize& /*aOriginalZoomedDimensions*/,
TUint8 aInitialZoomRatio)
{
TRACER("void TGlxZoomAndPanMathsEngine::Initialize()");
@@ -233,8 +233,8 @@
imageDimension.iWidth = (imageDimension.iWidth * newZoomRatio)/100;
imageDimension.iHeight = (imageDimension.iHeight * newZoomRatio)/100;
- // Is image size bigger than screen size AND image is panned to such an extent that
- // the an edge of the image comes within the screen rectange? If so go ahead,
+ // Check if image size is bigger than screen size AND image is panned to such an extent that
+ // the an edge of the image comes within the screen rectange. If so go ahead,
// for everything else there is mastercard. I mean the else condition below.
// [TODO] The master card however needs more simplification.
if(
@@ -392,7 +392,7 @@
// UpdatePanFactor: Calculates the Pan Factor based on time the key was pressed
//-------------------------------------------------------------------------------------
//
-void TGlxZoomAndPanMathsEngine::UpdatePanFactor(TTime& aPanTime)
+void TGlxZoomAndPanMathsEngine::UpdatePanFactor(TTime& /*aPanTime*/)
{
TRACER("void TGlxZoomAndPanMathsEngine::UpdatePanFactor()");
--- a/photosgallery/viewframework/visuallistmanager/inc/glxitemvisual.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/inc/glxitemvisual.h Wed Mar 31 21:31:03 2010 +0300
@@ -57,7 +57,7 @@
#include "glxiconmgrdefs.h"
class MGlxVisualObjectStatusObserver;
-class MGlxVisualObjectLayoutRefreshObserver;
+
/**
* MGlxVisualObjectParameterFactory
* Interface for the CGlxVisualObject
@@ -255,16 +255,6 @@
TBool SetObserver( MGlxVisualObjectStatusObserver& aObserver );
- /**
- * Set observer to be notified when the thumbnail texture gains or
- * loses content.
- * @param aObserver Observer for the thumbnail status.
- * @return Whether the thumbnail texture currently has content.
- */
- void AddObserver( MGlxVisualObjectLayoutRefreshObserver* aObserver );
-
- void RemoveObserver( MGlxVisualObjectLayoutRefreshObserver* aObserver );
-
void Reset();
void ResetLayout( CAlfVisual& aVisual );
@@ -476,10 +466,6 @@
// The id of the zoom texture from the texture manager
TInt iZoomTextureId;
-
- /** Array of observers (owned) */
- RPointerArray<MGlxVisualObjectLayoutRefreshObserver> iObservers;
-
};
#endif // C_GLXITEMVISUAL_H
--- a/photosgallery/viewframework/visuallistmanager/inc/glxvisuallistcontrol.h Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/inc/glxvisuallistcontrol.h Wed Mar 31 21:31:03 2010 +0300
@@ -35,12 +35,9 @@
#include "mglxmedialistobserver.h"
#include "mglxmedialist.h"
#include "glxlistwindow.h"
-#include "glxblendlayout.h"
-#include "mglxvisualobjectlayoutrefreshobserver.h"
#include "mglxvisuallist.h"
class CGlxVisualListWindow;
-//class MGlxLayout;
class MGlxVisualListObserver;
class CAlfBorderBrush;
class CGlxUiUtility;
@@ -56,7 +53,7 @@
* @author Aki Vanhatalo
*/
class CGlxVisualListControl : public CAlfControl, public MGlxVisualList,
- public MGlxMediaListObserver//, public MGlxVisualObjectLayoutRefreshObserver
+ public MGlxMediaListObserver
{
friend class CGlxVisualListWindow;
public:
@@ -136,12 +133,7 @@
void HandleItemSelectedL(TInt aIndex, TBool aSelected, MGlxMediaList* aList);
void HandleMessageL(const CMPXMessage& aMessage, MGlxMediaList* aList);
-// From MHuiDisplayRefreshObserver
-// void NotifyDisplayRefreshStarted( CHuiDisplay &aDisplay );
- //From
-
- void VisualObjectLayoutRefreshed(TInt aListIndex ,TSize aScreenSize );
/**
* @return The thumbnail scale mode of list
*/
@@ -191,10 +183,11 @@
void VisualLayoutUpdated( CAlfVisual& aVisual );
private:
- /** The media list (not owned) */
- MGlxMediaList& iMediaList;
- /** The alf env (not owned) */
- CAlfEnv& iEnv;
+ /** The media list (not owned) */
+ MGlxMediaList& iMediaList;
+ /** The alf env (not owned) */
+ CAlfEnv& iEnv;
+
/**
* Structure to hold information about a view context.
*/
@@ -222,17 +215,14 @@
TInt iControlGroupId;
/** Parent layout for the visuals (owned by HUI) */
- CAlfAnchorLayout* iParentLayout;
+ CAlfAnchorLayout* iParentLayout;
/** Current Size of the Parent Layout */
TSize iCurrentLayoutSize;
- // TGlxBlendLayout iLayoutBlender;
+
/** Ref: UI utility */
CGlxUiUtility* iUiUtility;
- /** Blender of multiple MGlxLayouts */
- //MGlxLayout* iLayout;
-
/** Array of view contexts (owned) */
RArray<TContext> iContexts;
--- a/photosgallery/viewframework/visuallistmanager/inc/mglxvisualobjectlayoutrefreshobserver.h Mon Mar 15 12:40:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2008-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: Item visual container
-*
-*/
-
-
-
-
-
-
-//NONSHARABLE_CLASS ( MGlxVisualObjectLayoutRefreshObserver )
-// {
-// public:
-// virtual void VisualObjectLayoutRefreshed(TInt aListIndex ,TSize aScreenSize )=0;
-// };
\ No newline at end of file
--- a/photosgallery/viewframework/visuallistmanager/src/glxiconmanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/src/glxiconmanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -62,11 +62,11 @@
{
TRACER("CGlxIconManager::~CGlxIconManager");
GLX_LOG_INFO("CGlxIconManager::~CGlxIconManager");
+
if(iUiUtility)
{
iUiUtility->Close();
}
-
// remove brushes we've added to visuals in visual list
TInt mcount = iMediaList.Count();
@@ -142,11 +142,7 @@
CleanupStack::PushL(imageBrush);
imageBrush->SetLayer(EAlfBrushLayerForeground);
-
- /// @todo Remove these 2 lines when Hui fixes the image brush rendering bug
imageBrush->SetBorders(-1,-1,-1,-1);
- // imageBrush->SetClipToVisual(ETrue);
-
iImageBrushArray.AppendL(imageBrush);
CleanupStack::Pop(imageBrush);
}
@@ -168,10 +164,7 @@
CleanupStack::PushL(imageBrush);
imageBrush->SetLayer( EAlfBrushLayerForeground );
-
- /// @todo Remove these 2 lines when Hui fixes the image brush rendering bug
imageBrush->SetBorders(-1,-1,-1,-1);
- // imageBrush->SetClipToVisual(ETrue);
TAlfTimedValue opacity( aParams.iOpacity, 0 );
imageBrush->SetOpacity( opacity );
@@ -208,7 +201,6 @@
aVisual->EnableBrushesL();
aVisual->Brushes()->AppendL(iImageBrushArray[aBrushIndex],
EAlfDoesNotHaveOwnership );
- // aVisual->SetChanged();
}
}
}
@@ -246,7 +238,6 @@
if(brush==iImageBrushArray[aIconIndex])
{
brushArray->Remove(i);
- // aVisual->SetChanged();
break;
}
}
--- a/photosgallery/viewframework/visuallistmanager/src/glxitemvisual.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/src/glxitemvisual.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -49,10 +49,8 @@
#include <glxthumbnailutility.h>
#include <alf/alftransformation.h>
#include "mglxvisualobjectstatusobserver.h"
-#include "mglxvisualobjectlayoutrefreshobserver.h"
const TInt KGlxOpacityFadeDuration = 400;
-
const TInt KGlxForegroundAnchorOrdinal = 2;
// -----------------------------------------------------------------------------
@@ -107,7 +105,6 @@
{
iUiUtility->Close();
}
- iObservers.Close();
}
// -----------------------------------------------------------------------------
@@ -137,7 +134,6 @@
// create the child image visual
iImageVisual =
CAlfImageVisual::AddNewL( aFactory.VisualOwner(), iMainVisual );
- //iImageVisual->SetScaleMode( aFactory.ThumbnailScaleMode() );
iImageVisual->SetScaleMode(CAlfImageVisual::EScaleNormal);
// Turn on clipping only if cover-mode has been chosen
iImageVisual->SetClipping(ETrue);
@@ -286,7 +282,7 @@
//
void CGlxVisualObject::HandleAttributesAvailableL(
const TGlxIdSpaceId& aIdSpaceId, const TGlxMedia& aItem,
- const RArray<TMPXAttribute>& aAttributes)
+ const RArray<TMPXAttribute>& /*aAttributes*/)
{
TRACER("CGlxVisualObject::HandleAttributesAvailableL");
TBool animate = ( EHasDefaultIcon == Status() );
@@ -500,8 +496,8 @@
// ---------------------------------------------------------------------------
//
TInt CGlxVisualObject::AddZoomTileL(
- const TGlxMedia& aItem, const TMPXAttribute& aAttribute,
- TGlxIdSpaceId aIdSpaceId, const TRect& aCroppingRect )
+ const TGlxMedia& /*aItem*/, const TMPXAttribute& aAttribute,
+ TGlxIdSpaceId /*aIdSpaceId*/, const TRect& aCroppingRect )
{
TRACER("CGlxVisualObject::AddZoomTileL");
// Reserve space for new tile
@@ -1041,24 +1037,4 @@
TRACER("CGlxVisualObject::Match");
return ( aIcon1.iTexture == aIcon2.iTexture );
}
-
-void CGlxVisualObject::AddObserver( MGlxVisualObjectLayoutRefreshObserver* aObserver )
- {
- TRACER("CGlxVisualObject::AddObserver");
- __ASSERT_DEBUG(iObservers.Find(aObserver) == KErrNotFound,
- Panic(EGlxPanicIllegalArgument)); // Already exists
- iObservers.Append(aObserver);
- }
-
-void CGlxVisualObject::RemoveObserver( MGlxVisualObjectLayoutRefreshObserver* aObserver )
- {
- TRACER("CGlxVisualObject::RemoveObserver");
- TInt i = iObservers.Find(aObserver);
- if (i != KErrNotFound)
- {
- iObservers.Remove(i);
- }
- }
-
-
-
+
--- a/photosgallery/viewframework/visuallistmanager/src/glxvisualiconmanager.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/src/glxvisualiconmanager.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -108,8 +108,8 @@
// HandleVisualAddedL
// ---------------------------------------------------------------------------
//
-void CGlxVisualIconManager::HandleVisualAddedL( CAlfVisual* aVisual,
- TInt aIndex, MGlxVisualList* aList )
+void CGlxVisualIconManager::HandleVisualAddedL( CAlfVisual* /*aVisual*/,
+ TInt aIndex, MGlxVisualList* /*aList*/ )
{
TRACER("CGlxVisualIconManager::HandleVisualAddedL");
GLX_LOG_INFO("CGlxVisualIconManager::HandleVisualAddedL");
@@ -190,9 +190,6 @@
GLX_LOG_INFO("CGlxVisualIconManager::ConstructL");
BaseConstructL();
- //iWhiteTexture =
- // &( iTextureManager.CreateFlatColourTextureL( KRgbWhite ) );
-
// create 'default' icon
TFileName resFile(KDC_APP_BITMAP_DIR);
resFile.Append(KGlxIconsFilename);
@@ -283,9 +280,6 @@
{
iconTexture = iIconTextureArray[pos];
}
- // add to visual
- //@Migration info: Required?
- //visItem->SetImage( THuiImage( *iconTexture ) );
}
else
{
@@ -301,7 +295,6 @@
// add to visual
visItem->AddIconL( *iconTexture, NGlxIconMgrDefs::EGlxIconCentred,
ETrue, EFalse, 0, 1.0, 1.0 );
- // }
}
}
}
--- a/photosgallery/viewframework/visuallistmanager/src/glxvisuallistcontrol.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/src/glxvisuallistcontrol.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -122,8 +122,6 @@
// create the visual list window
iVisualWindow = CGlxVisualListWindow::NewL(this,&iMediaList, iUiUtility, iScaleMode);
- //@todo below method not found
- //iVisualWindow->SetOwnsObjects( ETrue );
iControlGroupId = reinterpret_cast<int>((void*)this); // @todo: Temp, have better logic for control group ids
iControlGroup = &Env().NewControlGroupL(iControlGroupId);
iControlGroup->AppendL(this);
@@ -416,8 +414,7 @@
//
void CGlxVisualListControl::AddLayoutL(MGlxLayout* /*aLayout*/)
{
- // add the layout to the blender
- //iLayoutBlender.AddLayoutL( aLayout );
+ // No implementation
}
// -----------------------------------------------------------------------------
@@ -426,8 +423,7 @@
//
void CGlxVisualListControl::RemoveLayout(const MGlxLayout* /*aLayout*/)
{
- // remove layout
- //iLayoutBlender.RemoveLayout( aLayout );
+ // No implementation
}
// BringVisualsToFront
@@ -562,7 +558,6 @@
{
indexesMoved += ItemCount();
}
- //speed = indexesMoved / elapsed;
}
TInt count = iObservers.Count();
@@ -666,7 +661,6 @@
{
TRACER("CGlxVisualListControl::HandleVisualAddedL");
GLX_LOG_INFO("CGlxVisualListControl::HandleVisualAddedL");
- //iVisualWindow->ObjectByIndex(aIndex)->AddObserver(this);
TInt count = iObservers.Count();
for (TInt i = 0; i < count; i++)
{
@@ -685,7 +679,6 @@
CGlxVisualObject* visualObject = iVisualWindow->ObjectByIndex( aIndex );
if ( visualObject )
{
- //iVisualWindow->ObjectByIndex(aIndex)->RemoveObserver(this);
if( aAnimate )
{
visualObject->TryAnimateL( iMediaList.Item( aIndex ) );
@@ -789,14 +782,3 @@
}
}
-// -----------------------------------------------------------------------------
-// VisualObjectLayoutRefreshed
-// -----------------------------------------------------------------------------
-//
-void CGlxVisualListControl::VisualObjectLayoutRefreshed(TInt aListIndex ,TSize /*aScreensize*/)
- {
- TRACER("CGlxVisualListControl::VisualObjectLayoutRefreshed");
- GLX_LOG_INFO("CGlxVisualListControl::VisualObjectLayoutRefreshed");
- iLayoutObserver->UpdateLayout( * ( Visual ( aListIndex ) ) );
- }
-
--- a/photosgallery/viewframework/visuallistmanager/src/glxvisuallistwindow.cpp Mon Mar 15 12:40:30 2010 +0200
+++ b/photosgallery/viewframework/visuallistmanager/src/glxvisuallistwindow.cpp Wed Mar 31 21:31:03 2010 +0300
@@ -109,9 +109,6 @@
// No easy way to get rid of this trap. Would be possible to do
// multiple objects within the same trap by modifying the CGlxListWindowBase
// but would be surprising if this TRAP is a actually a performance problem
-
- // create texture from thumbnail
- //TSize visSize = object.Visual()->Size().ValueNow().AsSize();
TSize visSize =iUiUtility->DisplaySize();
CAlfTexture* texture = NULL;
@@ -138,11 +135,16 @@
iMediaList->Item( aIndex ).GetDimensions(imageSize);
// Set scale mode to EScaleFitInside if the Image is bigger then screen
// or to scale the grid size thumbnails if full thumbnail is not available while fast swipe
- if ( imageSize.iWidth >= visSize.iWidth || imageSize.iHeight >= visSize.iHeight
+ if ( (imageSize.iWidth >= visSize.iWidth || imageSize.iHeight >= visSize.iHeight)
||(texture->Size().iHeight < imageSize.iHeight && texture->Size().iWidth < imageSize.iWidth ))
{
object.SetScaleMode(CAlfImageVisual::EScaleFitInside);
}
+ //this will keep the image back to its normal size if the condition is not satsified.
+ else
+ {
+ object.SetScaleMode(CAlfImageVisual::EScaleNormal);
+ }
// show the object. do this before notifying control, to show
// at the image if control leaves
@@ -152,7 +154,7 @@
iControl->HandleVisualAddedL( object.Visual(), aIndex );
}
- void CGlxVisualListWindow::CleanupObject(TInt aListIndex, CBase& aObject)
+ void CGlxVisualListWindow::CleanupObject(TInt /*aListIndex*/, CBase& aObject)
{
TRACER("CGlxVisualListWindow::CleanupObject");
GLX_LOG_INFO("CGlxVisualListWindow::CleanupObject");
@@ -193,23 +195,8 @@
// -----------------------------------------------------------------------------
// PostObjectsAdded
// -----------------------------------------------------------------------------
-void CGlxVisualListWindow::PostObjectsAdded( RArray<TInt>& aAddedAtListIndexes )
+void CGlxVisualListWindow::PostObjectsAdded( RArray<TInt>& /*aAddedAtListIndexes*/ )
{
- /*
- TInt count = aAddedAtListIndexes.Count();
- // step through array and notify our observers
- // cant leave so need to just ignore the error
- TRAP_IGNORE(
- {
- for(TInt i = 0; i < count; i++ )
- {
- TInt listIdx = aAddedAtListIndexes[i];
- //TInt idx = ListIndexToWindowIndex( listIdx );
- //CGlxVisualObject* item = ObjectByIndex( idx);
- //iControl->HandleVisualAddedL( item->Visual(), listIdx );
- }
- });
- */
}
// -----------------------------------------------------------------------------