2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
4 // Licensed under the Flora License, Version 1.1 (the License);
\r
5 // you may not use this file except in compliance with the License.
\r
6 // You may obtain a copy of the License at
\r
8 // http://floralicense.org/license/
\r
10 // Unless required by applicable law or agreed to in writing, software
\r
11 // distributed under the License is distributed on an AS IS BASIS,
\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 // See the License for the specific language governing permissions and
\r
14 // limitations under the License.
\r
18 * @file MpContentEditPanel.cpp
\r
19 * @brief This is the implementation file for ContentEditPanel class.
\r
23 #include "MpContentEditPanel.h"
\r
24 #include "MpContentForm.h"
\r
25 #include "MpCommonUtil.h"
\r
26 #include "MpPlaylistPickerPopup.h"
\r
27 #include "MpSharePopup.h"
\r
28 #include "MpTypes.h"
\r
30 using namespace Tizen::Base;
\r
31 using namespace Tizen::Base::Collection;
\r
32 using namespace Tizen::Graphics;
\r
33 using namespace Tizen::Ui;
\r
34 using namespace Tizen::Ui::Controls;
\r
35 using namespace Tizen::Ui::Scenes;
\r
37 static const int H_SHOW_CHECKED_COUNT_BALLOON_TOOL_TIP = 48;
\r
39 ContentEditPanel::ContentEditPanel(void)
\r
40 : ContentPanel::ContentPanel()
\r
41 , __checkedItemCount(0)
\r
42 , __pPlayListPicker(null)
\r
43 , __pSharePicker(null)
\r
44 , __pBallonTooltip(null)
\r
46 AppLogDebug("ENTER");
\r
47 AppLogDebug("EXIT");
\r
50 ContentEditPanel::~ContentEditPanel(void)
\r
52 AppLogDebug("ENTER");
\r
53 AppLogDebug("EXIT");
\r
57 ContentEditPanel::Initialize(void)
\r
59 AppLogDebug("ENTER");
\r
60 result r = Panel::Construct(IDL_CONTENTS_LIBARY_EDITOR_PANEL);
\r
63 AppLogDebug("Construct(IDL_CONTENT_EDIT_PANEL) failed(%s)", GetErrorMessage(r));
\r
66 AppLogDebug("EXIT");
\r
71 ContentEditPanel::Construct(void)
\r
73 AppLogDebug("ENTER");
\r
74 __pContentTableView = static_cast<TableView*>(GetControl(IDC_CONTENTS_EDIT_TABLEVIEW));
\r
75 __pContentTableView->SetItemProvider(this);
\r
76 __pContentTableView->AddTableViewItemEventListener(*this);
\r
77 __pBallonTooltip = static_cast<Label*>(GetControl(IDC_ITEM_SELECTED_COUNT_LABEL));
\r
78 __pNoContentLabel = static_cast<Panel*>(GetControl(IDC_NO_CONTENTS_PANEL));
\r
79 __pNoContentTextLabel = static_cast<Label*>(__pNoContentLabel->GetControl(L"IDC_LABEL2"));
\r
80 SetControlAlwaysOnTop(*__pBallonTooltip, true);
\r
81 AppLogDebug("EXIT");
\r
86 ContentEditPanel::OnTerminating(void)
\r
88 RemovePlayListPicker();
\r
89 RemoveSharePicker();
\r
90 return ContentPanel::OnTerminating();
\r
94 ContentEditPanel::LanucherPicker(PickerType pickerType, PickerArgumentType argumentType)
\r
96 AppLogDebug("ENTER");
\r
97 IList* pArgumentList = GetPickerArgumentListN(pickerType, argumentType);
\r
98 if (pArgumentList == null)
\r
100 AppLogDebug("GetPickerArgumentListN is null");
\r
104 result r = E_FAILURE;
\r
105 if (pickerType == PICKER_TYPE_PLAY_LIST_PICKER)
\r
107 r = ShowPlayListPicker(pArgumentList);
\r
109 else if (pickerType == PICKER_TYPE_SHARE_PICKER)
\r
111 r = ShowSharePicker(pArgumentList);
\r
116 AppLogDebug("ShowPlayListPicker failed(%s)", GetErrorMessage(r));
\r
117 delete pArgumentList;
\r
120 AppLogDebug("EXIT");
\r
124 Tizen::Base::Collection::IList*
\r
125 ContentEditPanel::GetPickerArgumentListN(PickerType pickerType, PickerArgumentType argumentType)
\r
127 AppLogDebug("ENTER");
\r
128 AppLogDebug("EXIT");
\r
133 ContentEditPanel::ShowPlayListPicker(Tizen::Base::Collection::IList* pIList)
\r
135 AppLogDebug("ENTER");
\r
136 RemovePlayListPicker();
\r
138 __pPlayListPicker = new (std::nothrow) PlayListPickerPopup();
\r
139 if (IsFailed(__pPlayListPicker->Initialize(this, pIList)))
\r
141 AppLogDebug("__pSharePicker->Initialize failed(%s)", GetErrorMessage(E_FAILURE));
\r
142 RemovePlayListPicker();
\r
146 __pPlayListPicker->SetShowState(true);
\r
147 __pPlayListPicker->Show();
\r
149 AppLogDebug("EXIT");
\r
154 ContentEditPanel::RemoveSharePicker(const bool deleteInstance)
\r
156 AppLogDebug("ENTER");
\r
157 if (__pSharePicker != null)
\r
159 CommonUtil::SetShowStateControl(*__pSharePicker, false);
\r
160 if (deleteInstance)
\r
162 delete __pSharePicker;
\r
163 __pSharePicker = null;
\r
166 AppLogDebug("EXIT");
\r
170 ContentEditPanel::RemovePlayListPicker(const bool deleteInstance)
\r
172 AppLogDebug("ENTER");
\r
173 if (__pPlayListPicker != null )
\r
175 CommonUtil::SetShowStateControl(*__pPlayListPicker, false);
\r
176 if (deleteInstance)
\r
178 delete __pPlayListPicker;
\r
179 __pPlayListPicker = null;
\r
182 AppLogDebug("EXIT");
\r
186 ContentEditPanel::ShowSharePicker(Tizen::Base::Collection::IList* pIList)
\r
188 AppLogDebug("ENTER");
\r
189 RemoveSharePicker();
\r
191 __pSharePicker = new (std::nothrow) SharePopup();
\r
192 if (IsFailed(__pSharePicker->Initialize(this)))
\r
194 AppLogDebug("__pSharePicker->Initialize failed(%s)", GetErrorMessage(E_FAILURE));
\r
195 RemoveSharePicker();
\r
199 __pSharePicker->SetArguments(pIList);
\r
200 __pSharePicker->SetShowState(true);
\r
201 __pSharePicker->Show();
\r
203 AppLogDebug("EXIT");
\r
208 ContentEditPanel::SetShowStateBalloonTooltip(bool isShow)
\r
210 AppLogDebug("ENTER");
\r
211 int balloonTooltipHeight = INIT_VALUE;
\r
212 if (isShow == true && __checkedItemCount != INIT_VALUE)
\r
214 balloonTooltipHeight = H_SHOW_CHECKED_COUNT_BALLOON_TOOL_TIP;
\r
221 AppLogDebug("EXIT");
\r
222 return CommonUtil::SetShowStateVariableHeightSizeControl(*__pBallonTooltip, balloonTooltipHeight, isShow);
\r
226 ContentEditPanel::SetCheckedCountBallonTooltip(unsigned int checkedItemCount)
\r
228 AppLogDebug("ENTER");
\r
229 if (checkedItemCount == INIT_VALUE)
\r
231 SetShowStateBalloonTooltip(false);
\r
235 __pBallonTooltip->SetText(CommonUtil::GetStringItemSelected(checkedItemCount));
\r
236 SetShowStateBalloonTooltip(true);
\r
237 AppLogDebug("EXIT");
\r
241 ContentEditPanel::SetNoContentSongs(bool isNoContents)
\r
243 AppLogDebug("ENTER");
\r
244 if (isNoContents == true)
\r
246 SetShowStateBalloonTooltip(false);
\r
247 SetShowStateContentTableview(false);
\r
249 SetShowStateNoContent(true);
\r
250 AppLogDebug("EXIT");
\r
254 SetShowStateNoContent(false);
\r
255 SetShowStateContentTableview(true);
\r
256 AppLogDebug("EXIT");
\r
260 ContentEditPanel::SetContentEditHeader(void)
\r
262 AppLogDebug("ENTER");
\r
263 CommonUtil::SetSimpleTitleStyle(*GetHeader(), ResourceManager::GetString(L"IDS_COM_BODY_EDIT"));
\r
264 CommonUtil::SetButtonItemUnCheckedIcon(*GetHeader());
\r
265 AppLogDebug("EXIT");
\r
269 ContentEditPanel::SetItemCheckedAll(bool isChecked)
\r
271 AppLogDebug("ENTER");
\r
272 if (isChecked == true)
\r
274 __checkedItemCount = __pContentTableView->GetItemCount();
\r
278 __checkedItemCount = INIT_VALUE;
\r
280 CommonUtil::SetItemCheckedAll(isChecked, *__pContentTableView);
\r
282 if (GetFooter() != null)
\r
284 CommonUtil::SetFooterItemEnabled(*GetFooter(), isChecked);
\r
286 SetCheckedCountBallonTooltip(__checkedItemCount);
\r
287 AppLogDebug("EXIT");
\r
291 ContentEditPanel::OnOrientationPanelChanged(Tizen::Ui::OrientationStatus orientationStatus)
\r
293 AppLogDebug("ENTER");
\r
294 UpdateContentEditScreenState();
\r
295 AppLogDebug("EXIT");
\r
299 ContentEditPanel::OnMusicContentUpdateCompleted(void)
\r
301 AppLogDebug("ENTER");
\r
302 __checkedItemCount = INIT_VALUE;
\r
304 //just hide the popups and don't delete those
\r
305 RemovePlayListPicker(false);
\r
306 RemoveSharePicker(false);
\r
308 UpdateContentList();
\r
309 UpdateContentEditScreenState();
\r
311 if (__pContentTableView != null && IsEmptyContentList() == false)
\r
313 SetItemCheckedAll(false);
\r
314 __pContentTableView->UpdateTableView();
\r
317 if (GetFooter() != null)
\r
319 CommonUtil::SetFooterItemEnabled(*GetFooter(), false);
\r
322 AppLogDebug("EXIT");
\r
326 ContentEditPanel::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
\r
328 AppLogDebug("ENTER");
\r
330 if ((requestId != ID_DESTORY_PLAY_LIST_PICKER_POPUP) && (requestId != ID_DESTORY_SHARE_POPUP))
\r
332 AppLogDebug("EXIT");
\r
338 if (requestId == ID_DESTORY_PLAY_LIST_PICKER_POPUP)
\r
340 Boolean* pIsInitialize = static_cast<Boolean*>(pArgs->GetAt(0));
\r
342 if (pIsInitialize->Equals(true))
\r
344 SetItemCheckedAll(false);
\r
347 pArgs->RemoveAll(true);
\r
351 RemovePlayListPicker();
\r
352 RemoveSharePicker();
\r
354 AppLogDebug("EXIT");
\r
358 ContentEditPanel::UpdateContentEditScreenState(void)
\r
360 AppLogDebug("ENTER");
\r
361 if (IsEmptyContentList() == true)
\r
363 SceneManager* pSceneManager = SceneManager::GetInstance();
\r
364 SetShowStateContentTableview(false);
\r
365 SetShowStateNoContent(true);
\r
366 SetShowStateBalloonTooltip(false);
\r
368 if(__pNoContentTextLabel != null)
\r
370 __pNoContentTextLabel->SetText(GetNoContentText());
\r
373 GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, false);
\r
374 GetHeader()->Invalidate(true);
\r
375 AppAssert(pSceneManager);
\r
376 pSceneManager->GoBackward(BackwardSceneTransition());
\r
377 AppLogDebug("EXIT");
\r
382 GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, true);
\r
383 GetHeader()->Invalidate(true);
\r
386 SetCheckedCountBallonTooltip(__checkedItemCount);
\r
387 SetShowStateNoContent(false);
\r
388 SetShowStateContentTableview(true);
\r
389 AppLogDebug("EXIT");
\r
393 ContentEditPanel::GetNoContentText(void)
\r
395 return ResourceManager::GetString(L"IDS_MUSIC_HEADER_NO_SONGS");
\r