|
1 /* |
|
2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: image provider for application uid |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #include <AknsSkinInstance.h> |
|
20 #include <AknsUtils.h> |
|
21 #include <avkon.mbg> |
|
22 #include "hnglobals.h" |
|
23 #include "hnattrimgprovappimage.h" |
|
24 |
|
25 // ============================ MEMBER FUNCTIONS ============================= |
|
26 |
|
27 |
|
28 // --------------------------------------------------------------------------- |
|
29 // |
|
30 // --------------------------------------------------------------------------- |
|
31 // |
|
32 CHnAttrImgProvAppImage::CHnAttrImgProvAppImage( ) |
|
33 { |
|
34 } |
|
35 |
|
36 // --------------------------------------------------------------------------- |
|
37 // |
|
38 // --------------------------------------------------------------------------- |
|
39 // |
|
40 void CHnAttrImgProvAppImage::ConstructL( TUid aApplicationUid ) |
|
41 { |
|
42 iApplicationUid = aApplicationUid; |
|
43 |
|
44 CFbsBitmap* bitmap; |
|
45 CFbsBitmap* mask; |
|
46 ProvideBitmapL( NULL, bitmap, mask ); |
|
47 CreateIconL( bitmap, mask ); |
|
48 |
|
49 } |
|
50 |
|
51 // --------------------------------------------------------------------------- |
|
52 // |
|
53 // --------------------------------------------------------------------------- |
|
54 // |
|
55 EXPORT_C CHnAttrImgProvAppImage* CHnAttrImgProvAppImage::NewL( |
|
56 TUid aApplicationUid ) |
|
57 { |
|
58 CHnAttrImgProvAppImage* self = NewLC( aApplicationUid ); |
|
59 CleanupStack::Pop( self ); |
|
60 return self; |
|
61 } |
|
62 |
|
63 // --------------------------------------------------------------------------- |
|
64 // |
|
65 // --------------------------------------------------------------------------- |
|
66 // |
|
67 EXPORT_C CHnAttrImgProvAppImage* CHnAttrImgProvAppImage::NewLC( |
|
68 TUid aApplicationUid ) |
|
69 { |
|
70 CHnAttrImgProvAppImage* self = new( ELeave ) CHnAttrImgProvAppImage; |
|
71 CleanupStack::PushL( self ); |
|
72 self->ConstructL( aApplicationUid ); |
|
73 return self; |
|
74 } |
|
75 |
|
76 // --------------------------------------------------------------------------- |
|
77 // |
|
78 // --------------------------------------------------------------------------- |
|
79 // |
|
80 CHnAttrImgProvAppImage::~CHnAttrImgProvAppImage() |
|
81 { |
|
82 |
|
83 } |
|
84 |
|
85 // --------------------------------------------------------------------------- |
|
86 // |
|
87 // --------------------------------------------------------------------------- |
|
88 // |
|
89 const TDesC8& CHnAttrImgProvAppImage::Value( ) |
|
90 { |
|
91 return iValue; |
|
92 } |
|
93 |
|
94 // --------------------------------------------------------------------------- |
|
95 // |
|
96 // --------------------------------------------------------------------------- |
|
97 // |
|
98 void CHnAttrImgProvAppImage::ProvideBitmapL( TInt /*aId*/, CFbsBitmap*& aBitmap, |
|
99 CFbsBitmap*& aMaskBitmap ) |
|
100 { |
|
101 MAknsSkinInstance* skin = AknsUtils::SkinInstance(); |
|
102 |
|
103 TInt err( KErrNone ); |
|
104 TRAP( err, |
|
105 { |
|
106 AknsUtils::CreateAppIconLC( skin, iApplicationUid, |
|
107 EAknsAppIconTypeContext, aBitmap, aMaskBitmap ); |
|
108 CleanupStack::Pop( 2 ); // for trap |
|
109 } |
|
110 ); |
|
111 |
|
112 if( err != KErrNone ) |
|
113 { |
|
114 // If icon is not created, try to create default application icon |
|
115 TRAP( err, |
|
116 { |
|
117 AknsUtils::CreateIconLC( skin, |
|
118 KAknsIIDQgnMenuUnknownLst, aBitmap, aMaskBitmap, |
|
119 AknIconUtils::AvkonIconFileName(), |
|
120 EMbmAvkonQgn_menu_unknown_lst, |
|
121 EMbmAvkonQgn_menu_unknown_lst_mask ); |
|
122 CleanupStack::Pop( 2 ); // for trap |
|
123 } |
|
124 ); |
|
125 } |
|
126 } |
|
127 |
|
128 |