44 #include <glxscreenfurniture.h> |
44 #include <glxscreenfurniture.h> |
45 #include <glxuiutilities.rsg> |
45 #include <glxuiutilities.rsg> |
46 #include <glxpanic.h> // For Panics |
46 #include <glxpanic.h> // For Panics |
47 #include "glxmetadatacommandhandler.h" |
47 #include "glxmetadatacommandhandler.h" |
48 |
48 |
49 #define GetAppUi() (dynamic_cast<CAknAppUi*>(iEikonEnv->EikAppUi())) |
|
50 |
|
51 |
|
52 // ============================ MEMBER FUNCTIONS =============================== |
49 // ============================ MEMBER FUNCTIONS =============================== |
53 |
50 |
54 // ----------------------------------------------------------------------------- |
51 // ----------------------------------------------------------------------------- |
55 // NewL |
52 // NewL |
56 // ----------------------------------------------------------------------------- |
53 // ----------------------------------------------------------------------------- |
105 SetTitleL( *text ); |
102 SetTitleL( *text ); |
106 if( text) |
103 if( text) |
107 { |
104 { |
108 delete text; |
105 delete text; |
109 } |
106 } |
110 GetAppUi()->StatusPane()->MakeVisible(ETrue); |
107 iAvkonAppUi->StatusPane()->MakeVisible(ETrue); |
111 } |
108 } |
112 |
109 |
113 iUiUtility = CGlxUiUtility::UtilityL(); |
110 iUiUtility = CGlxUiUtility::UtilityL(); |
114 iAddToTag = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddTag, EFalse); |
111 iAddToTag = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddTag, EFalse); |
115 iAddToAlbum = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddToAlbum, EFalse); |
112 iAddToAlbum = CGlxCommandHandlerAddToContainer::NewL(this, EGlxCmdAddToAlbum, EFalse); |
126 // ~CGlxMetadataDialog |
123 // ~CGlxMetadataDialog |
127 // ----------------------------------------------------------------------------- |
124 // ----------------------------------------------------------------------------- |
128 // |
125 // |
129 CGlxMetadataDialog::~CGlxMetadataDialog() |
126 CGlxMetadataDialog::~CGlxMetadataDialog() |
130 { |
127 { |
131 |
128 TRACER("CGlxMetadataDialog::~CGlxMetadataDialog"); |
132 TRACER("CGlxMetadataDialog::~CGlxMetadataDialog"); |
129 |
133 |
130 //To Disable the status pane if the dialog is launched from fullscreenview |
134 //To Disable the status pane if the dialog is launched from fullscreenview |
131 if (!iStatusPaneAvailable && iAvkonAppUi) |
135 if(!iStatusPaneAvailable) |
132 { |
136 { |
133 iAvkonAppUi->StatusPane()->MakeVisible(EFalse); |
137 GetAppUi()->StatusPane()->MakeVisible(EFalse); |
134 } |
138 } |
135 |
139 |
136 TRAP_IGNORE(SetPreviousTitleL()); |
140 TRAP_IGNORE(SetPreviousTitleL()); |
137 |
141 |
138 delete iPreviousTitle; |
142 delete iPreviousTitle; |
139 delete iMetadataCmdHandler; |
143 delete iMetadataCmdHandler; |
|
144 |
140 |
145 // Restore the Toolbar as it was in the Calling application |
141 // Restore the Toolbar as it was in the Calling application |
146 SetDetailsDlgToolbarVisibility(ETrue); |
142 SetDetailsDlgToolbarVisibility(ETrue); |
147 |
143 |
148 // If details launched from FullScreen View, while moving back, |
144 // If details launched from FullScreen View, while moving back, |
149 // all the UI components should be hidden. Hence processing this command here. |
145 // all the UI components should be hidden. Hence processing this command here. |
150 TRAP_IGNORE(GetAppUi()->ProcessCommandL(EGlxCmdResetView)); |
146 if (iAvkonAppUi) |
151 |
147 { |
152 if(iAddToTag) |
148 TRAP_IGNORE(iAvkonAppUi->ProcessCommandL(EGlxCmdResetView)); |
153 { |
149 } |
154 delete iAddToTag; |
150 |
155 } |
151 if (iAddToTag) |
156 |
152 { |
157 if(iAddToAlbum) |
153 delete iAddToTag; |
158 { |
154 } |
159 delete iAddToAlbum; |
155 |
160 } |
156 if (iAddToAlbum) |
161 |
157 { |
162 if( iUiUtility ) |
158 delete iAddToAlbum; |
163 { |
159 } |
164 iUiUtility->Close(); |
160 |
165 } |
161 if (iUiUtility) |
166 |
162 { |
167 if (iResourceOffset) |
163 iUiUtility->Close(); |
168 { |
164 } |
169 CCoeEnv::Static()->DeleteResourceFile(iResourceOffset); |
165 |
170 } |
166 if (iResourceOffset) |
|
167 { |
|
168 CCoeEnv::Static()->DeleteResourceFile(iResourceOffset); |
|
169 } |
171 } |
170 } |
172 |
171 |
173 // --------------------------------------------------------------------------- |
172 // --------------------------------------------------------------------------- |
174 // SetDetailsDlgToolbarVisibility() |
173 // SetDetailsDlgToolbarVisibility() |
175 // --------------------------------------------------------------------------- |
174 // --------------------------------------------------------------------------- |
176 void CGlxMetadataDialog::SetDetailsDlgToolbarVisibility(TBool aVisible) |
175 void CGlxMetadataDialog::SetDetailsDlgToolbarVisibility(TBool aVisible) |
177 { |
176 { |
178 TRACER("CGlxMetadataDialog::SetDetailsDlgToolbarVisibility"); |
177 TRACER("CGlxMetadataDialog::SetDetailsDlgToolbarVisibility"); |
179 CAknAppUi* appUi = GetAppUi(); |
|
180 __ASSERT_DEBUG(appUi, Panic(EGlxPanicNullPointer)); |
|
181 |
|
182 |
178 |
183 HandleToolbarResetting(aVisible); |
179 HandleToolbarResetting(aVisible); |
184 CAknToolbar* currentPopupToolbar = appUi->CurrentPopupToolbar(); |
180 CAknToolbar* currentPopupToolbar = iAvkonAppUi->CurrentPopupToolbar(); |
185 if(currentPopupToolbar) |
181 if(currentPopupToolbar) |
186 { |
182 { |
187 currentPopupToolbar->SetToolbarVisibility(aVisible); |
183 currentPopupToolbar->SetToolbarVisibility(aVisible); |
188 currentPopupToolbar->MakeVisible( aVisible ); |
184 currentPopupToolbar->MakeVisible( aVisible ); |
189 } |
185 } |
282 controlInfo.iControl = NULL; |
278 controlInfo.iControl = NULL; |
283 controlInfo.iTrailerTextId = 0; |
279 controlInfo.iTrailerTextId = 0; |
284 controlInfo.iFlags = 0; |
280 controlInfo.iFlags = 0; |
285 if (aControlType == EMetaDataDialogListBox) |
281 if (aControlType == EMetaDataDialogListBox) |
286 { |
282 { |
287 iContainer = CGlxMetadataContainer::NewL(GetAppUi()->ClientRect(), |
283 iContainer = CGlxMetadataContainer::NewL(iAvkonAppUi->ClientRect(), |
288 *this, iUri, *this); |
284 *this, iUri, *this); |
289 controlInfo.iControl = iContainer; // giving ownership |
285 controlInfo.iControl = iContainer; // giving ownership |
290 } |
286 } |
291 return controlInfo; // returns ownership of ItemList |
287 return controlInfo; // returns ownership of ItemList |
292 } |
288 } |
563 // ----------------------------------------------------------------------------- |
559 // ----------------------------------------------------------------------------- |
564 // |
560 // |
565 void CGlxMetadataDialog::HandleToolbarResetting(TBool aVisible) |
561 void CGlxMetadataDialog::HandleToolbarResetting(TBool aVisible) |
566 { |
562 { |
567 TRACER("CGlxMetadataDialog::HandleToolbarResetting"); |
563 TRACER("CGlxMetadataDialog::HandleToolbarResetting"); |
568 CAknAppUi* appUi = GetAppUi(); |
564 |
569 __ASSERT_DEBUG(appUi, Panic(EGlxPanicNullPointer)); |
565 CAknToolbar* popupToolbar = iAvkonAppUi->PopupToolbar(); |
570 |
|
571 CAknToolbar* popupToolbar = appUi->PopupToolbar(); |
|
572 if(popupToolbar) |
566 if(popupToolbar) |
573 { |
567 { |
574 popupToolbar->SetToolbarVisibility( !aVisible ); |
568 popupToolbar->SetToolbarVisibility( !aVisible ); |
575 popupToolbar->MakeVisible( !aVisible ); |
569 popupToolbar->MakeVisible( !aVisible ); |
576 if(!aVisible) |
570 if(!aVisible) |
577 { |
571 { |
578 popupToolbar->DrawNow(); |
572 popupToolbar->DrawNow(); |
579 } |
573 } |
580 } |
574 } |
581 CAknToolbar* toolbar = appUi->CurrentFixedToolbar(); |
575 CAknToolbar* toolbar = iAvkonAppUi->CurrentFixedToolbar(); |
582 if(toolbar) |
576 if(toolbar) |
583 { |
577 { |
584 toolbar->HideItemsAndDrawOnlyBackground(!aVisible); |
578 toolbar->HideItemsAndDrawOnlyBackground(!aVisible); |
585 toolbar->SetToolbarVisibility(aVisible); |
579 toolbar->SetToolbarVisibility(aVisible); |
586 toolbar->MakeVisible( aVisible ); |
580 toolbar->MakeVisible( aVisible ); |