equal
deleted
inserted
replaced
56 #include <AknTasHook.h> |
56 #include <AknTasHook.h> |
57 |
57 |
58 #include <touchfeedback.h> |
58 #include <touchfeedback.h> |
59 #include <aknitemactionmenu.h> |
59 #include <aknitemactionmenu.h> |
60 #include "aknitemactionmenuregister.h" |
60 #include "aknitemactionmenuregister.h" |
61 #include <aknPriv.hrh> |
61 #include <AknPriv.hrh> |
62 #include "akntrace.h" |
62 #include "akntrace.h" |
63 |
63 |
64 enum { EEikMenuBarTitleArrayGranularity=10 }; |
64 enum { EEikMenuBarTitleArrayGranularity=10 }; |
65 enum { EEikMenuBarPosArrayGranularity=2 }; |
65 enum { EEikMenuBarPosArrayGranularity=2 }; |
66 const TInt KExtraBaselineOffsetForFirstPaneItem=4; |
66 const TInt KExtraBaselineOffsetForFirstPaneItem=4; |
76 /** |
76 /** |
77 * Sets item specific commands dimmed if highlight is not visible. |
77 * Sets item specific commands dimmed if highlight is not visible. |
78 */ |
78 */ |
79 void SetItemCommandsDimmedL(); |
79 void SetItemCommandsDimmedL(); |
80 |
80 |
81 /** |
|
82 * Saves current value of iItemActionMenu->CollectionHighlightVisible() to |
|
83 * a member variable iCollectionHighlightVisible |
|
84 */ |
|
85 void StoreCollectionHighlightValue(); |
|
86 public: // from MAknFadedComponent |
81 public: // from MAknFadedComponent |
87 TInt CountFadedComponents(); |
82 TInt CountFadedComponents(); |
88 CCoeControl* FadedComponent(TInt aIndex); |
83 CCoeControl* FadedComponent(TInt aIndex); |
89 |
84 |
90 private: |
85 private: |
108 /** |
103 /** |
109 * Item action menu. |
104 * Item action menu. |
110 * Not own. |
105 * Not own. |
111 */ |
106 */ |
112 CAknItemActionMenu* iItemActionMenu; |
107 CAknItemActionMenu* iItemActionMenu; |
113 |
|
114 /** |
|
115 * When menu pane is opened this value is updated to store the value about |
|
116 * collection highlight visibility |
|
117 */ |
|
118 TBool iCollectionHighlightVisible; |
|
119 }; |
108 }; |
120 |
109 |
121 |
110 |
122 CEikMenuBarExtension* CEikMenuBarExtension::NewL(CEikMenuBar* aBar) |
111 CEikMenuBarExtension* CEikMenuBarExtension::NewL(CEikMenuBar* aBar) |
123 { |
112 { |
160 iBar->iMenuPane->SetItemCommandsDimmed(); |
149 iBar->iMenuPane->SetItemCommandsDimmed(); |
161 } |
150 } |
162 } |
151 } |
163 |
152 |
164 |
153 |
165 void CEikMenuBarExtension::StoreCollectionHighlightValue() |
|
166 { |
|
167 if ( iItemActionMenu ) |
|
168 { |
|
169 iCollectionHighlightVisible |
|
170 = iItemActionMenu->CollectionHighlightVisible(); |
|
171 } |
|
172 } |
|
173 CEikMenuBarExtension::CEikMenuBarExtension(CEikMenuBar* aBar) |
154 CEikMenuBarExtension::CEikMenuBarExtension(CEikMenuBar* aBar) |
174 :iBar(aBar), |
155 :iBar(aBar), |
175 iDoingMenuCloseTransition(EFalse), |
156 iDoingMenuCloseTransition(EFalse), |
176 iItemActionMenu( NULL ) |
157 iItemActionMenu( NULL ) |
177 { |
158 { |
423 } |
404 } |
424 |
405 |
425 inline void CEikMenuBar::SetMenuHasItems() |
406 inline void CEikMenuBar::SetMenuHasItems() |
426 { |
407 { |
427 iMenuFlags|=EMenuHasItems; |
408 iMenuFlags|=EMenuHasItems; |
428 iExt->StoreCollectionHighlightValue(); |
|
429 } |
409 } |
430 |
410 |
431 inline TBool CEikMenuBar::MenuHasPane() const |
411 inline TBool CEikMenuBar::MenuHasPane() const |
432 { |
412 { |
433 return iMenuFlags&EMenuHasPane; |
413 return iMenuFlags&EMenuHasPane; |
1001 if ( feedback ) |
981 if ( feedback ) |
1002 { |
982 { |
1003 TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; |
983 TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; |
1004 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
984 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
1005 { |
985 { |
1006 fbLogicalType = ETouchFeedbackIncreasingPopUp; |
986 fbLogicalType = ETouchFeedbackPopupOpen; |
1007 } |
987 } |
1008 feedback->InstantFeedback( |
988 feedback->InstantFeedback( |
1009 this, |
989 this, |
1010 fbLogicalType, |
990 fbLogicalType, |
1011 ETouchFeedbackVibra, |
991 ETouchFeedbackVibra, |
1191 if ( feedback ) |
1171 if ( feedback ) |
1192 { |
1172 { |
1193 TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; |
1173 TTouchLogicalFeedback fbLogicalType = ETouchFeedbackPopUp; |
1194 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
1174 if ( CAknTransitionUtils::TransitionsEnabled( AknTransEffect::EComponentTransitionsOff ) ) |
1195 { |
1175 { |
1196 fbLogicalType = ETouchFeedbackDecreasingPopUp; |
1176 fbLogicalType = ETouchFeedbackPopupClose; |
1197 } |
1177 } |
1198 feedback->InstantFeedback( |
1178 feedback->InstantFeedback( |
1199 this, |
1179 this, |
1200 fbLogicalType, |
1180 fbLogicalType, |
1201 ETouchFeedbackVibra, |
1181 ETouchFeedbackVibra, |
1375 |
1355 |
1376 |
1356 |
1377 EXPORT_C TBool CEikMenuBar::ItemSpecificCommandsEnabled() const |
1357 EXPORT_C TBool CEikMenuBar::ItemSpecificCommandsEnabled() const |
1378 { |
1358 { |
1379 TBool enabled( ETrue ); |
1359 TBool enabled( ETrue ); |
1380 if ( MenuHasPane() && iExt->iItemActionMenu ) |
1360 if ( iExt->iItemActionMenu && |
1381 { |
|
1382 enabled = iExt->iCollectionHighlightVisible; |
|
1383 } |
|
1384 else if ( iExt->iItemActionMenu && |
|
1385 !iExt->iItemActionMenu->CollectionHighlightVisible() ) |
1361 !iExt->iItemActionMenu->CollectionHighlightVisible() ) |
1386 { |
1362 { |
1387 enabled = EFalse; |
1363 enabled = EFalse; |
1388 } |
1364 } |
1389 return enabled; |
1365 return enabled; |