--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meetingrequest/mrgui/src/cmrimage.cpp Thu Dec 17 08:39:21 2009 +0200
@@ -0,0 +1,434 @@
+/*
+* Copyright (c) 2007-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 CMRImage class.
+*
+*/
+
+#include "cmrimage.h"
+
+#include <AknsUtils.h>
+#include <esmrgui.mbg>
+#include <data_caging_path_literals.hrh>
+
+#include "esmrhelper.h"
+#include "cesmrlayoutmgr.h"
+
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CMRImage::NewL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CMRImage* CMRImage::NewL(
+ const TAknsItemID& aIconId, TScaleMode aScaleMode )
+ {
+ CMRImage* self = new (ELeave) CMRImage( aScaleMode );
+ CleanupStack::PushL( self );
+ self->ConstructL( aIconId );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::~CMRImage
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CMRImage* CMRImage::NewL(
+ NMRBitmapManager::TMRBitmapId aBitmapId, TScaleMode aScaleMode )
+ {
+ CMRImage* self = new (ELeave) CMRImage( aScaleMode );
+ CleanupStack::PushL( self );
+ self->ConstructL( aBitmapId );
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::~CMRImage
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CMRImage::~CMRImage()
+ {
+ // Do nothing
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::SizeChanged
+// ---------------------------------------------------------------------------
+//
+void CMRImage::SizeChanged()
+ {
+ TSize sz = Rect().Size();
+ const CFbsBitmap* bitmap = Bitmap();
+ AknIconUtils::SetSize( const_cast< CFbsBitmap* >( bitmap ), sz, iScaleMode );
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::CMRImage
+// ---------------------------------------------------------------------------
+//
+CMRImage::CMRImage( TScaleMode aScaleMode )
+ : iScaleMode( aScaleMode )
+ {
+ // Do nothing
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CMRImage::ConstructL( const TAknsItemID& aIconId )
+ {
+ CreateIconL( aIconId );
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CMRImage::ConstructL( NMRBitmapManager::TMRBitmapId aBitmapId )
+ {
+ CreateIconL( aBitmapId );
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::CreateIconL
+// ---------------------------------------------------------------------------
+//
+void CMRImage::CreateIconL( const TAknsItemID& aIconId )
+ {
+ TInt fileIndex(-1);
+ TInt fileMaskIndex(-1);
+
+ SetBitmapFallback( aIconId, fileIndex, fileMaskIndex );
+
+ TFileName bitmapFilePath;
+ ESMRHelper::LocateResourceFile(
+ KESMRMifFile,
+ KDC_APP_BITMAP_DIR,
+ bitmapFilePath );
+
+ CFbsBitmap* bitMap;
+ CFbsBitmap* bitMapMask;
+
+ AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
+ aIconId,
+ bitMap,
+ bitMapMask,
+ bitmapFilePath,
+ fileIndex,
+ fileMaskIndex
+ );
+
+ if( bitMap && bitMapMask )
+ {
+ SetPictureOwnedExternally( EFalse );
+ SetBrushStyle( CWindowGc::ENullBrush );
+ SetPicture( bitMap, bitMapMask );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::CreateIconL
+// ---------------------------------------------------------------------------
+//
+void CMRImage::CreateIconL( NMRBitmapManager::TMRBitmapId aBitmapId )
+ {
+ CFbsBitmap* bitMap( NULL );
+ CFbsBitmap* bitMapMask( NULL );
+ TSize sz( Rect().Size() );
+ User::LeaveIfError(
+ NMRBitmapManager::GetSkinBasedBitmap(
+ aBitmapId,
+ bitMap, bitMapMask, sz ) );
+
+ if( bitMap && bitMapMask )
+ {
+ SetPictureOwnedExternally( EFalse );
+ SetBrushStyle( CWindowGc::ENullBrush );
+ SetPicture( bitMap, bitMapMask );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CMRImage::SetBitmapFallback
+// ---------------------------------------------------------------------------
+//
+void CMRImage::SetBitmapFallback(
+ const TAknsItemID& aIconId,
+ TInt& aFileIndex,
+ TInt& aFileMaskIndex )
+ {
+ // <cmail> icons changed
+ switch ( aIconId.iMinor )
+ {
+ case EAknsMinorGenericQgnFscalIndiPriorityHigh:
+ case EAknsMinorGenericQgnFsIndiPriorityHigh:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_priority_high;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_priority_high_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiPriorityNormal:
+ case EAknsMinorGenericQgnFsIndiPriorityNormal:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_priority_normal;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_priority_normal_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiPriorityLow:
+ case EAknsMinorGenericQgnFsIndiPriorityLow:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_priority_low;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_priority_low_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiAlarmDay:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_alarm_day;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_alarm_day_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiAlarmTime:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_alarm;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_alarm_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiSubject:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_subject;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_subject_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiRecurrence:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_recurrence;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_recurrence_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiAlarm:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_alarm;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_alarm_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiCheckboxMark:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_checkbox_on;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_checkbox_on_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiCheckboxUnmark:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_checkbox_off;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_checkbox_off_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiClock:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_clock;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_clock_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiDateEnd:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_date_end;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_date_end_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiDateStart:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_date_start;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_date_start_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnMeetReqIndiLocation:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_location;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_meet_req_location_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiSynchronisation:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_synchronisation;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_synchronisation_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFscalIndiOccasion:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_occasion;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_occasion_mask;
+ break;
+ }
+
+ case EAknsMinorGenericQgnFsIndiCaleTrackingTentative:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_tentative;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_tentative_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFsIndiCaleTrackingAccept:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_accept;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_accept_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFsIndiCaleTrackingNone:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_none;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_none_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFsIndiCaleTrackingReject:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_reject;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_calendar_tracking_reject_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFseMailAttachment:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_attachment;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_attachment_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFsGrafEmailCtrlbar:
+ {
+ aFileIndex = EMbmEsmrguiQgn_graf_cmail_email_ctrlbar;
+ aFileMaskIndex = EMbmEsmrguiQgn_graf_cmail_email_ctrlbar_mask;
+ break;
+ }
+ case EAknsMinorQgnPropCheckboxOn:
+ aFileIndex = EMbmEsmrguiQgn_prop_checkbox_on;
+ aFileMaskIndex = EMbmEsmrguiQgn_prop_checkbox_on_mask;
+ break;
+ case EAknsMinorQgnPropCheckboxOff:
+ aFileIndex = EMbmEsmrguiQgn_prop_checkbox_off;
+ aFileMaskIndex = EMbmEsmrguiQgn_prop_checkbox_off_mask;
+ break;
+ case EAknsMinorQgnFsListCenter:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_center;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_center_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListSideT:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_side_t;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_side_t_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListSideL:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_side_l;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_side_l_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListSideR:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_side_r;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_side_r_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListSideB:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_side_b;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_side_b_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListCornerTl:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_corner_tl;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_corner_tl_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListCornerTr:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_corner_tr;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_corner_tr_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListCornerBl:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_corner_bl;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_corner_bl_mask;
+ break;
+ }
+ case EAknsMinorQgnFsListCornerBr:
+ {
+ aFileIndex = EMbmEsmrguiQsn_fr_list_corner_br;
+ aFileMaskIndex = EMbmEsmrguiQsn_fr_list_corner_br_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFsHscrActionArrowLeft:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_arrow_right;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_arrow_right_mask;
+ break;
+ }
+ // <cmail> removed when icons changed to common ones
+ /*
+ case EAknsMinorGenericQgnFsHscrActionArrowRight:
+ {
+ aFileIndex = EMbmEsmrguiQgn_indi_action_menu;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_action_menu_mask;
+ break;
+ }
+ */
+ // </cmail>
+ // <cmail> Commented to enable compilation in wk04
+ /*case EAknsMinorGenericQgnFseActionMenuOpenInWebIcon:
+ {
+ aFileIndex = EMbmEsmrguiQgn_fse_action_menu_open_in_web_icon;
+ aFileMaskIndex = EMbmEsmrguiQgn_fse_action_menu_open_in_web_icon;
+ break;
+ }
+ case EAknsMinorGenericQgnFseActionMenuOpenInIntranetIcon:
+ {
+ aFileIndex = EMbmEsmrguiQgn_fse_action_menu_open_in_intranet_icon;
+ aFileMaskIndex = EMbmEsmrguiQgn_fse_action_menu_open_in_intranet_icon_mask;
+ break;
+ }
+ case EAknsMinorGenericQgnFseActionMenuBookmarkIcon:
+ {
+ aFileIndex = EMbmEsmrguiQgn_fse_action_menu_bookmark_icon;
+ aFileMaskIndex = EMbmEsmrguiQgn_fse_action_menu_bookmark_icon_mask;
+ break;
+ }*/
+ // </cmail>
+ // <cmail> removed when icons changed to common ones
+ /*
+ case EAknsMinorGenericQgnPropBlidWaypoint:
+ {
+ aFileIndex = EMbmEsmrguiQgn_fs_action_show_on_maps;
+ aFileMaskIndex = EMbmEsmrguiQgn_fs_action_show_on_maps_mask;
+ break;
+ }
+ */
+ // </cmail>
+ default:
+ {
+ // <cmail> icons changed
+ aFileIndex = EMbmEsmrguiQgn_indi_cmail_arrow_right;
+ aFileMaskIndex = EMbmEsmrguiQgn_indi_cmail_arrow_right_mask;
+ break;
+ // </cmail>
+ }
+// </cmail>
+ }
+ }
+
+// EOF