2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file GlAllListSelectionPanel.cpp
19 * @brief This is the implementation file for AllListSelectionPanel class.
22 #include "GlAllListSelectionPanel.h"
23 #include "GlCommonUtil.h"
24 #include "GlFileListEditorForm.h"
25 #include "GlFileListPresentationModel.h"
26 #include "GlResourceManager.h"
28 #include "GlFileUpdateTimer.h"
30 using namespace Tizen::App;
31 using namespace Tizen::Base;
32 using namespace Tizen::Base::Collection;
33 using namespace Tizen::Base::Utility;
34 using namespace Tizen::Content;
35 using namespace Tizen::Graphics;
36 using namespace Tizen::Media;
37 using namespace Tizen::Ui::Controls;
38 using namespace Tizen::Ui::Scenes;
40 static const int LENGTH_COUNT_LABEL = 256;
41 static const int H_CONTENT_MARGIN = 9;
42 static const int W_CONTENT_MARGIN = 6;
43 static const int W_CONTENT_SPACE = 6;
44 static const int H_CONTENT_SPACE = 6;
45 static const Color COLOR_THUMBNAIL_DIM (Color::GetColor(COLOR_ID_BLACK));
46 static const int ALPHA_THUMBNAIL_DIM = 70;
48 static const Rectangle RECT_INITIAL (0, 0, 10, 10);
50 AllListSelectionPanel::AllListSelectionPanel(void)
52 , __pContentIconListView(null)
53 , __pSeletedIndexList(null)
54 , __pFileListEditorForm(null)
55 , __pFileUpdateTimer(null)
56 , __pPresentationModel(null)
59 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
62 AllListSelectionPanel::~AllListSelectionPanel(void)
65 delete __pFileUpdateTimer;
66 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
70 AllListSelectionPanel::Initialize(void)
73 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
75 return Construct(RECT_INITIAL); // Should be set proper area at OnInitializing()
79 AllListSelectionPanel::OnInitializing(void)
82 const Form* pForm = dynamic_cast<Form*>(GetParent());
83 TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
85 __pPresentationModel = FileListPresentationModel::GetInstance();
86 __pPresentationModel->ClearThumbnailRequests();
87 __pPresentationModel->AddPresentationModelListener(this);
89 Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
90 clientAreaBounds.x = clientAreaBounds.y = 0;
91 result r = SetBounds(clientAreaBounds);
93 __pContentIconListView = new (std::nothrow) IconListView();
94 __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width, clientAreaBounds.height),
95 DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
96 Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
97 if (pBitmapEmpty != null)
99 __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
102 __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
103 __pContentIconListView->SetMargin(MARGIN_TYPE_LEFT, W_CONTENT_MARGIN);
104 __pContentIconListView->SetMargin(MARGIN_TYPE_RIGHT, W_CONTENT_MARGIN);
105 __pContentIconListView->SetMargin(MARGIN_TYPE_TOP, H_CONTENT_MARGIN);
106 __pContentIconListView->SetItemSpacing(W_CONTENT_SPACE, H_CONTENT_SPACE);
107 __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
108 __pContentIconListView->SetItemProvider(*this);
109 __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT);
110 __pContentIconListView->AddIconListViewItemEventListener(*this);
111 __pContentIconListView->SetTouchAnimationEnabled(false);
112 AddControl(__pContentIconListView);
113 __pContentIconListView->SetShowState(true);
116 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
122 AllListSelectionPanel::OnTerminating(void)
124 AppLogDebug("ENTER");
125 result r = E_SUCCESS;
126 __pPresentationModel->RemovePresentationModelListener(*this);
127 if (__pSeletedIndexList != null)
129 delete __pSeletedIndexList;
130 __pSeletedIndexList = null;
132 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
138 AllListSelectionPanel::GetItemCount(void)
140 AppLogDebug("ENTER");
141 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
147 AllListSelectionPanel::CreateItem(int index)
149 AppLogDebug("ENTER : index(%d)", index);
150 IconListViewItem* pIconListviewItem;
151 Bitmap* pBitmap = null;
152 String* pItemText = null;
154 int realIndex = GetRealindexFromVirtualIndex(index);
155 result r = __pPresentationModel->GetThumbnailInSyncCacheN(realIndex, pItemText, pBitmap);
156 if (pBitmap == null || r == E_FAILURE)
158 __pPresentationModel->RequestThumbnail(realIndex);
159 pBitmap = CommonUtil::GetEmptyThumbnailN();
162 if (pItemText == null)
164 pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
166 else if ((*pItemText) != ResourceManager::GetString(L"EMPTY_SPACE"))
169 pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
172 if (__pContentIconListView->IsItemChecked(index) == true)
176 BufferInfo bufferInfo;
177 pBitmap->Lock(bufferInfo, INFINITE);
180 Color dimColor(COLOR_THUMBNAIL_DIM);
181 dimColor.SetAlpha(ALPHA_THUMBNAIL_DIM);
184 canvas.Construct(bufferInfo);
185 canvas.FillRectangle(dimColor, canvas.GetBounds());
187 Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
188 pSelectedBitmap->Construct(canvas, canvas.GetBounds());
189 pIconListviewItem = new (std::nothrow) IconListViewItem();
190 pIconListviewItem->Construct(*pBitmap, pItemText, pSelectedBitmap);
191 delete pSelectedBitmap;
195 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
203 pIconListviewItem = new (std::nothrow) IconListViewItem();
204 pIconListviewItem->Construct(*pBitmap, pItemText);
211 if (pItemText != null)
215 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
217 return pIconListviewItem;
221 AllListSelectionPanel::DeleteItem(int index, IconListViewItem* pItem)
223 AppLogDebug("ENTER");
225 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
231 AllListSelectionPanel::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
233 AppLogDebug("ENTER");
234 if (status == ICON_LIST_VIEW_ITEM_CHECKED || status == ICON_LIST_VIEW_ITEM_UNCHECKED)
236 SceneManager* pSceneManager = SceneManager::GetInstance();
237 TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
240 strTmp.Format(LENGTH_COUNT_LABEL, L"%ls (%d)",
241 ResourceManager::GetString(L"IDS_COM_BODY_SELECTED").GetPointer(), GetItemCheckedCount());
242 __pFileListEditorForm->SetTitleText(strTmp);
243 __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
247 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
251 AllListSelectionPanel::OnFileInfoChanged(const ContentType contentType)
253 AppLogDebug("ENTER");
254 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
258 AllListSelectionPanel::OnThumbnailDecoded(const int index)
260 AppLogDebug("ENTER : index(%d)", index);
263 int virtualIndex = -1;
264 int loopCount = __pSeletedIndexList->GetCount();
265 for (int i = 0; i < loopCount; ++i)
267 virtualIndex = GetVirtualIndexFromRealIndex(index);
268 if (virtualIndex >= 0)
270 __pContentIconListView->RefreshList(virtualIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
275 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
279 AllListSelectionPanel::OnSceneActivatedN(const SceneId& previousSceneId,
280 const SceneId& currentSceneId, IList* pArgs)
282 AppLogDebug("ENTER");
283 __pPresentationModel = FileListPresentationModel::GetInstance();
285 SceneManager* pSceneManager = SceneManager::GetInstance();
286 TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
288 __pFileListEditorForm = dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
289 TryReturnVoid(__pFileListEditorForm != null, "[%s] fail to get FileListEditorForm.", GetErrorMessage(GetLastResult()));
290 __pPresentationModel->AddContentEventListener(__pFileListEditorForm);
292 if (previousSceneId == IDSCN_ALL_LIST_EDITOR)
296 __pSeletedIndexList = pArgs;
299 int loopCount = __pSeletedIndexList->GetCount();
300 for (int i = 0; i < loopCount; ++i)
302 __pContentIconListView->SetItemChecked(i, true);
303 __pContentIconListView->RequestRedraw(true);
308 if (pArgs != null && pArgs->GetCount() > 0)
310 String* pDirectory = static_cast<String*>(pArgs->GetAt(0));
311 if (pDirectory != null && pDirectory->GetLength() > 0)
313 __pFileListEditorForm->MoveToAlbum(*pDirectory);
316 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
320 AllListSelectionPanel::OnSceneDeactivated(const SceneId& currentSceneId,
321 const SceneId& nextSceneId)
323 AppLogDebug("ENTER");
324 __pPresentationModel->RemoveContentEventListener(__pFileListEditorForm);
325 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
329 AllListSelectionPanel::GetItemCheckedCount(void) const
331 AppLogDebug("ENTER");
333 if (__pContentIconListView != null && __pSeletedIndexList != null)
335 int loopCount = __pSeletedIndexList->GetCount();
336 for (int i = 0; i < loopCount; ++i)
338 if (__pContentIconListView->IsItemChecked(i))
344 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
350 AllListSelectionPanel::GetItemCheckedIndexListN(void) const
352 AppLogDebug("ENTER");
353 IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
354 Integer* pIndex = null;
356 if (__pContentIconListView!=null)
359 int loopCount = __pSeletedIndexList->GetCount();
360 for (int i = 0; i < loopCount; ++i)
362 if (__pContentIconListView->IsItemChecked(i))
364 realIndex = GetRealindexFromVirtualIndex(i);
365 pIndex = new (std::nothrow) Integer(realIndex);
370 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
376 AllListSelectionPanel::GetRealindexFromVirtualIndex(const int virtualIndex) const
378 if (__pSeletedIndexList == null || __pSeletedIndexList->GetCount() == 0)
380 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
385 Integer* pRealIndex = static_cast<Integer*>(__pSeletedIndexList->GetAt(virtualIndex));
387 if (pRealIndex != null)
389 realIndex = pRealIndex->ToInt();
391 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
397 AllListSelectionPanel::GetVirtualIndexFromRealIndex(const int realIndex) const
399 int returnValue = -1;
400 int loopCount = __pSeletedIndexList->GetCount();
401 for (int i = 0; i < loopCount; ++i)
403 Integer* pRealIndex = static_cast<Integer*>(__pSeletedIndexList->GetAt(i));
405 if (pRealIndex != null)
407 index = pRealIndex->ToInt();
410 if (index == realIndex)
416 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
422 AllListSelectionPanel::OnRequestDelete(void)
424 AppLogDebug("ENTER");
425 IList* pIndexList = GetItemCheckedIndexListN();
426 if (pIndexList->GetCount() <= 0)
428 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
433 delete __pFileUpdateTimer;
434 __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_DELETE);
435 result r = __pFileUpdateTimer->StartTimer();
439 delete __pFileUpdateTimer;
440 __pFileUpdateTimer = null;
445 __pPresentationModel->SetUpdateProgressStatus(true);
451 void AllListSelectionPanel::OnFileOpInvalidate(enum FileActionMode actionId)
453 __pFileListEditorForm->Invalidate(true);
456 void AllListSelectionPanel::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
458 __pPresentationModel->SetUpdateProgressStatus(false);
459 SceneManager* pSceneManager = SceneManager::GetInstance();
460 TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.",
461 GetErrorMessage(GetLastResult()));
464 String selectString = ResourceManager::GetString(L"IDS_COM_BODY_SELECTED");
465 strTmp.Format(LENGTH_COUNT_LABEL, L"%ls (%d)", selectString.GetPointer(), 0);
466 __pFileListEditorForm->SetTitleText(strTmp);
468 __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
469 __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
470 __pContentIconListView->UpdateList();
472 if (GetItemCount() > 0)
474 pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
475 SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
479 pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
481 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
485 AllListSelectionPanel::OnRequestMessage(void)
487 AppLogDebug("ENTER");
488 result r = E_SUCCESS;
489 IList* pIndexList = GetItemCheckedIndexListN();
490 if (pIndexList == null || pIndexList->GetCount() <= 0)
492 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
497 Integer* pIndex = null;
499 ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
500 pArrayList->Construct();
501 int loopCount = pIndexList->GetCount();
503 for (int i = 0; i < loopCount; ++i)
505 pIndex = static_cast<Integer*>(pIndexList->GetAt(i));
508 checkedIndex = pIndex->ToInt();
509 pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(checkedIndex)));
513 HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
514 pDataList->Construct();
515 pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_MESSAGE_TYPE), new (std::nothrow) String(APPCONTROL_DATA_MMS));
516 pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
518 r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_MESSAGE, APPCONTROL_OPERATION_ID_COMPOSE, null,
519 null, pDataList, null);
520 if (r == E_MAX_EXCEEDED)
522 MessageBox messageBox;
523 messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
524 MSGBOX_STYLE_NONE, 3000);
526 messageBox.ShowAndWait(modalResult);
529 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
535 AllListSelectionPanel::OnRequestEmail(void)
537 AppLogDebug("ENTER");
538 result r = E_SUCCESS;
540 IList* pIndexList = GetItemCheckedIndexListN();
541 if (pIndexList == null || pIndexList->GetCount() <= 0)
543 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
548 Integer* pIndex = null;
550 ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
551 pArrayList->Construct();
552 int loopCount = pIndexList->GetCount();
554 for (int i = 0; i < loopCount; ++i)
556 pIndex = static_cast<Integer*>(pIndexList->GetAt(i));
559 checkedIndex = pIndex->ToInt();
560 pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(checkedIndex)));
564 HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
565 pDataList->Construct();
566 pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
568 r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_EMAIL, APPCONTROL_OPERATION_ID_COMPOSE,
569 new (std::nothrow) String(APPCONTROL_URI_MAIL_TO), null, pDataList, null);
571 if (r == E_MAX_EXCEEDED)
573 MessageBox messageBox;
574 messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
575 MSGBOX_STYLE_NONE, 3000);
577 messageBox.ShowAndWait(modalResult);
580 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
586 AllListSelectionPanel::OnRequestSlideShow(void)
588 AppLogDebug("ENTER");
589 result r = E_SUCCESS;
590 IList* pIndexList = GetItemCheckedIndexListN();
591 if (pIndexList == null)
593 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
597 Integer* pRealIndex = null;
599 ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
600 pArrayList->Construct();
601 int loopCount = pIndexList->GetCount();
603 for (int i = 0; i < loopCount; ++i)
605 pRealIndex = static_cast<Integer*>(pIndexList->GetAt(i));
606 if (pRealIndex != null)
608 realIndex = pRealIndex->ToInt();
609 pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(realIndex)));
613 HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
614 pDataList->Construct();
615 pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_SLIDE_SHOW));
616 pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
618 r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
619 new (std::nothrow) String(APPCONTROL_MIME_IMAGE_ALL), pDataList, null);
621 if (r == E_MAX_EXCEEDED)
623 MessageBox messageBox;
624 messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
625 MSGBOX_STYLE_NONE, 3000);
627 messageBox.ShowAndWait(modalResult);
630 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
636 AllListSelectionPanel::ResetSelection(void)
638 AppLogDebug("ENTER");
639 __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
640 if (__pSeletedIndexList == null)
646 __itemCount = __pSeletedIndexList->GetCount();
649 SceneManager* pSceneManager = SceneManager::GetInstance();
650 TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
653 String bodyText = ResourceManager::GetString(L"IDS_COM_BODY_SELECTED");
654 strTmp.Format(LENGTH_COUNT_LABEL, L"%ls (%d)", bodyText.GetPointer(), __itemCount);
655 __pFileListEditorForm->SetTitleText(strTmp);
658 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
662 AllListSelectionPanel::SetButtonState(void)
664 AppLogDebug("ENTER");
665 SceneManager* pSceneManager = SceneManager::GetInstance();
666 TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
668 if (GetItemCheckedCount() > 0)
670 AppLogDebug("BUTTONSTATE : Request Enable");
671 __pFileListEditorForm->SetFooterButtonsState(true);
675 AppLogDebug("BUTTONSTATE : Request disable");
676 __pFileListEditorForm->SetFooterButtonsState(false);
678 AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
682 AllListSelectionPanel::OnSelectAllPressed(void)
684 bool needToSelectAll = true;
685 int checkedCount = GetItemCheckedCount();
686 if (checkedCount == __itemCount)
688 needToSelectAll = false;
691 if (needToSelectAll == true)
693 for (int i = 0; i < __itemCount; ++i)
695 if (__pContentIconListView->IsItemChecked(i) == false)
697 __pContentIconListView->SetItemChecked(i, true);
698 __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
704 for (int i = 0; i < __itemCount; ++i)
706 if (__pContentIconListView->IsItemChecked(i) == true)
708 __pContentIconListView->SetItemChecked(i, false);
709 __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
714 SceneManager* pSceneManager = SceneManager::GetInstance();
715 TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
718 if (needToSelectAll == true)
720 tempString.Format(LENGTH_COUNT_LABEL, L"%ls (%d)",
721 ResourceManager::GetString(L"IDS_COM_BODY_SELECTED").GetPointer(), __itemCount);
725 tempString.Format(LENGTH_COUNT_LABEL, L"%ls (%d)",
726 ResourceManager::GetString(L"IDS_COM_BODY_SELECTED").GetPointer(), 0);
728 __pFileListEditorForm->SetTitleText(tempString);
734 AllListSelectionPanel::OnRotateRequested(RotateMode rotateMode)
736 AppLogDebug("ENTER");
737 IList* pIndexList = GetItemCheckedIndexListN();
738 if (pIndexList == null)
740 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
743 else if (pIndexList->GetCount() <= 0)
746 AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
751 delete __pFileUpdateTimer;
752 __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_ROTATE, rotateMode);
753 result r = __pFileUpdateTimer->StartTimer();
757 delete __pFileUpdateTimer;
758 __pFileUpdateTimer = null;
763 __pPresentationModel->SetUpdateProgressStatus(true);
768 void AllListSelectionPanel::CancelUpdateProgress(void)
770 if( __pFileUpdateTimer!= null && __pFileUpdateTimer->IsStarted())
772 __pFileUpdateTimer->Cancel();
773 delete __pFileUpdateTimer;
774 __pFileUpdateTimer = null;