2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
4 // Licensed under the Flora License, Version 1.0 (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
36 static const int H_SHOW_CHECKED_COUNT_BALLOON_TOOL_TIP = 48;
\r
38 ContentEditPanel::ContentEditPanel(void)
\r
39 : ContentPanel::ContentPanel()
\r
40 , __checkedItemCount(0)
\r
41 , __pPlayListPicker(null)
\r
42 , __pSharePicker(null)
\r
43 , __pBallonTooltip(null)
\r
45 AppLogDebug("ENTER");
\r
46 AppLogDebug("EXIT");
\r
49 ContentEditPanel::~ContentEditPanel(void)
\r
51 AppLogDebug("ENTER");
\r
52 AppLogDebug("EXIT");
\r
56 ContentEditPanel::Initialize(void)
\r
58 AppLogDebug("ENTER");
\r
59 result r = Panel::Construct(IDL_CONTENTS_LIBARY_EDITOR_PANEL);
\r
62 AppLogDebug("Construct(IDL_CONTENT_EDIT_PANEL) failed(%s)", GetErrorMessage(r));
\r
65 AppLogDebug("EXIT");
\r
70 ContentEditPanel::Construct(void)
\r
72 AppLogDebug("ENTER");
\r
73 __pContentTableView = static_cast<TableView*>(GetControl(IDC_CONTENTS_EDIT_TABLEVIEW));
\r
74 __pContentTableView->SetItemProvider(this);
\r
75 __pContentTableView->AddTableViewItemEventListener(*this);
\r
76 __pBallonTooltip = static_cast<Label*>(GetControl(IDC_ITEM_SELECTED_COUNT_LABEL));
\r
77 __pNoContentLabel = static_cast<Label*>(GetControl(IDC_NO_CONTENTS_LABEL));
\r
78 SetControlAlwaysOnTop(*__pBallonTooltip, true);
\r
79 AppLogDebug("EXIT");
\r
84 ContentEditPanel::OnTerminating(void)
\r
86 RemovePlayListPicker();
\r
87 RemoveSharePicker();
\r
88 return ContentPanel::OnTerminating();
\r
92 ContentEditPanel::LanucherPicker(PickerType pickerType, PickerArgumentType argumentType)
\r
94 AppLogDebug("ENTER");
\r
95 IList* pArgumentList = GetPickerArgumentListN(pickerType, argumentType);
\r
96 if (pArgumentList == null)
\r
98 AppLogDebug("GetPickerArgumentListN is null");
\r
102 result r = E_FAILURE;
\r
103 if (pickerType == PICKER_TYPE_PLAY_LIST_PICKER)
\r
105 r = ShowPlayListPicker(pArgumentList);
\r
107 else if (pickerType == PICKER_TYPE_SHARE_PICKER)
\r
109 r = ShowSharePicker(pArgumentList);
\r
114 AppLogDebug("ShowPlayListPicker failed(%s)", GetErrorMessage(r));
\r
115 delete pArgumentList;
\r
118 AppLogDebug("EXIT");
\r
122 Tizen::Base::Collection::IList*
\r
123 ContentEditPanel::GetPickerArgumentListN(PickerType pickerType, PickerArgumentType argumentType)
\r
125 AppLogDebug("ENTER");
\r
126 AppLogDebug("EXIT");
\r
131 ContentEditPanel::ShowPlayListPicker(Tizen::Base::Collection::IList* pIList)
\r
133 AppLogDebug("ENTER");
\r
134 RemovePlayListPicker();
\r
136 __pPlayListPicker = new (std::nothrow) PlayListPickerPopup();
\r
137 if (IsFailed(__pPlayListPicker->Initialize(this, pIList)))
\r
139 AppLogDebug("__pSharePicker->Initialize failed(%s)", GetErrorMessage(E_FAILURE));
\r
140 RemovePlayListPicker();
\r
144 __pPlayListPicker->SetShowState(true);
\r
145 __pPlayListPicker->Show();
\r
147 AppLogDebug("EXIT");
\r
152 ContentEditPanel::RemoveSharePicker(void)
\r
154 AppLogDebug("ENTER");
\r
155 if (__pSharePicker != null)
\r
157 CommonUtil::SetShowStateControl(*__pSharePicker, false);
\r
158 delete __pSharePicker;
\r
159 __pSharePicker = null;
\r
161 AppLogDebug("EXIT");
\r
165 ContentEditPanel::RemovePlayListPicker(void)
\r
167 AppLogDebug("ENTER");
\r
168 if (__pPlayListPicker != null )
\r
170 CommonUtil::SetShowStateControl(*__pPlayListPicker, false);
\r
171 delete __pPlayListPicker;
\r
172 __pPlayListPicker = null;
\r
174 AppLogDebug("EXIT");
\r
178 ContentEditPanel::ShowSharePicker(Tizen::Base::Collection::IList* pIList)
\r
180 AppLogDebug("ENTER");
\r
181 RemoveSharePicker();
\r
183 __pSharePicker = new (std::nothrow) SharePopup();
\r
184 if (IsFailed(__pSharePicker->Initialize(this)))
\r
186 AppLogDebug("__pSharePicker->Initialize failed(%s)", GetErrorMessage(E_FAILURE));
\r
187 RemoveSharePicker();
\r
191 __pSharePicker->SetArguments(pIList);
\r
192 __pSharePicker->SetShowState(true);
\r
193 __pSharePicker->Show();
\r
195 AppLogDebug("EXIT");
\r
200 ContentEditPanel::SetShowStateBalloonTooltip(bool isShow)
\r
202 AppLogDebug("ENTER");
\r
203 int balloonTooltipHeight = INIT_VALUE;
\r
204 if (isShow == true && __checkedItemCount != INIT_VALUE)
\r
206 balloonTooltipHeight = H_SHOW_CHECKED_COUNT_BALLOON_TOOL_TIP;
\r
213 AppLogDebug("EXIT");
\r
214 return CommonUtil::SetShowStateVariableHeightSizeControl(*__pBallonTooltip, balloonTooltipHeight, isShow);
\r
218 ContentEditPanel::SetCheckedCountBallonTooltip(unsigned int checkedItemCount)
\r
220 AppLogDebug("ENTER");
\r
221 if (checkedItemCount == INIT_VALUE)
\r
223 SetShowStateBalloonTooltip(false);
\r
227 __pBallonTooltip->SetText(CommonUtil::GetStringItemSelected(checkedItemCount));
\r
228 if (__pBallonTooltip->GetShowState() == false)
\r
230 SetShowStateBalloonTooltip(true);
\r
234 __pBallonTooltip->Invalidate(true);
\r
236 AppLogDebug("EXIT");
\r
240 ContentEditPanel::SetNoContentSongs(bool isNoContents)
\r
242 AppLogDebug("ENTER");
\r
243 if (isNoContents == true)
\r
245 SetShowStateBalloonTooltip(false);
\r
246 SetShowStateContentTableview(false);
\r
248 SetShowStateNoContent(true);
\r
249 AppLogDebug("EXIT");
\r
253 SetShowStateNoContent(false);
\r
254 SetShowStateContentTableview(true);
\r
255 AppLogDebug("EXIT");
\r
259 ContentEditPanel::SetContentEditHeader(void)
\r
261 AppLogDebug("ENTER");
\r
262 CommonUtil::SetSimpleTitleStyle(*GetHeader(), ResourceManager::GetString(L"IDS_COM_BODY_EDIT"));
\r
263 CommonUtil::SetButtonItemUnCheckedIcon(*GetHeader());
\r
264 AppLogDebug("EXIT");
\r
268 ContentEditPanel::SetItemCheckedAll(bool isChecked)
\r
270 AppLogDebug("ENTER");
\r
271 if (isChecked == true)
\r
273 __checkedItemCount = __pContentTableView->GetItemCount();
\r
277 __checkedItemCount = INIT_VALUE;
\r
279 CommonUtil::SetItemCheckedAll(isChecked, *__pContentTableView);
\r
280 CommonUtil::SetFooterItemEnabled(*GetFooter(), isChecked);
\r
281 SetCheckedCountBallonTooltip(__checkedItemCount);
\r
282 AppLogDebug("EXIT");
\r
286 ContentEditPanel::OnOrientationPanelChanged(Tizen::Ui::OrientationStatus orientationStatus)
\r
288 AppLogDebug("ENTER");
\r
289 __pContentTableView->Invalidate(true);
\r
290 AppLogDebug("EXIT");
\r
294 ContentEditPanel::OnMusicContentUpdateCompleted(void)
\r
296 AppLogDebug("ENTER");
\r
297 __checkedItemCount = INIT_VALUE;
\r
299 RemovePlayListPicker();
\r
300 RemoveSharePicker();
\r
302 UpdateContentList();
\r
303 UpdateContentEditScreenState();
\r
305 if (__pContentTableView != null && IsEmptyContentList() == false)
\r
307 SetItemCheckedAll(false);
\r
308 __pContentTableView->UpdateTableView();
\r
310 CommonUtil::SetFooterItemEnabled(*GetFooter(), false);
\r
311 AppLogDebug("EXIT");
\r
315 ContentEditPanel::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
\r
317 AppLogDebug("ENTER");
\r
318 if ((requestId != ID_DESTORY_PLAY_LIST_PICKER_POPUP) && (requestId != ID_DESTORY_SHARE_POPUP))
\r
320 AppLogDebug("EXIT");
\r
326 Boolean* pIsInitialize = static_cast<Boolean*>(pArgs->GetAt(0));
\r
327 if (pIsInitialize->Equals(true))
\r
329 SetItemCheckedAll(false);
\r
331 pArgs->RemoveAll(true);
\r
335 RemovePlayListPicker();
\r
336 RemoveSharePicker();
\r
337 AppLogDebug("EXIT");
\r
341 ContentEditPanel::UpdateContentEditScreenState(void)
\r
343 AppLogDebug("ENTER");
\r
344 if (IsEmptyContentList() == true)
\r
346 SetShowStateContentTableview(false);
\r
347 SetShowStateNoContent(true);
\r
348 SetShowStateBalloonTooltip(false);
\r
350 GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, false);
\r
351 GetHeader()->Invalidate(true);
\r
352 AppLogDebug("EXIT");
\r
356 SetCheckedCountBallonTooltip(__checkedItemCount);
\r
357 SetShowStateNoContent(false);
\r
358 SetShowStateContentTableview(true);
\r
359 AppLogDebug("EXIT");
\r