Resovle JIRA issues.(N_SE-33830, N_SE-33864, and N_SE-33879)
authorSungWan Kim <sw0726.kim@samsung.com>
Thu, 11 Apr 2013 07:37:47 +0000 (16:37 +0900)
committerSungWan Kim <sw0726.kim@samsung.com>
Thu, 11 Apr 2013 07:37:47 +0000 (16:37 +0900)
Change-Id: I3d3b5d1e8e45aaeceb0d8195d8b0e94aacf6fcf0
Signed-off-by: SungWan Kim <sw0726.kim@samsung.com>
inc/ClImportForm.h
src/ClEventEditorForm.cpp
src/ClEventListPresentationModel.cpp
src/ClImportForm.cpp

index fdf2822..a56810c 100644 (file)
@@ -34,6 +34,7 @@ class ImportForm
        : public Tizen::Ui::Controls::Form
        , public virtual Tizen::Ui::IActionEventListener
        , public virtual Tizen::Ui::Controls::IFormBackEventListener
+       , public virtual Tizen::Ui::Controls::IListViewItemEventListener
        , public virtual Tizen::Ui::Controls::IListViewItemProvider
        , public virtual Tizen::Ui::Scenes::ISceneEventListener
 {
@@ -51,6 +52,10 @@ public:
 
        virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
 
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+
        virtual int GetItemCount(void);
        virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
        virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
@@ -66,6 +71,7 @@ private:
        bool IsAllItemAdded(void) const;
        bool IsAllItemChecked(void) const;
        bool IsEventItemChecked(void) const;
+       bool IsNoItemChecked(void) const;
        bool IsTodoItemChecked(void) const;
 
 private:
index e25ae37..6f65fd7 100644 (file)
@@ -1051,6 +1051,7 @@ EventEditorForm::OnActionPerformed(const Control& source, int actionId)
                        int modalResult;
                        msgBox.ShowAndWait(modalResult);
                }
+               __pTableView->UpdateTableView();
                break;
        case IDA_EVENT_EDITOR_FORM_CANCEL:
                SceneManager::GetInstance()->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
index c7f35e4..dabba4b 100644 (file)
@@ -655,9 +655,18 @@ EventListPresentationModel::RemoveEvent(const CalEventInstance& event, bool dele
 {
        if (deleteOriginal == true)
        {
-               return __pCalendarbook->RemoveEvent(event.GetOriginalEventId());
+               RecordId eventId = event.GetOriginalEventId();
+               CalEvent* pEvent = __pCalendarbook->GetEventN(event.GetOriginalEventId());
+               if (pEvent != null)
+               {
+                       if (pEvent->GetRecordId() != pEvent->GetBaseEventId() && pEvent->GetBaseEventId() != INVALID_RECORD_ID)
+                       {
+                               eventId = pEvent->GetBaseEventId();
+                       }
+                       delete pEvent;
+               }
+               return __pCalendarbook->RemoveEvent(eventId);
        }
-
        return __pCalendarbook->RemoveEventInstance(event);
 }
 
@@ -675,6 +684,16 @@ EventListPresentationModel::RemoveEvents(const IList& events, bool deleteOrigina
                while (pEnum->MoveNext() == E_SUCCESS)
                {
                        RecordId eventId = static_cast<CalEventInstance*>(pEnum->GetCurrent())->GetOriginalEventId();
+                       CalEvent* pEvent = __pCalendarbook->GetEventN(eventId);
+                       if (pEvent != null)
+                       {
+                               if (pEvent->GetRecordId() != pEvent->GetBaseEventId() && pEvent->GetBaseEventId() != INVALID_RECORD_ID)
+                               {
+                                       eventId = pEvent->GetBaseEventId();
+                               }
+                               delete pEvent;
+                       }
+
                        bool isDeletedId = false;
                        for (int i = 0; i < count; ++i)
                        {
index 27d2ea2..c611dee 100644 (file)
@@ -66,6 +66,7 @@ ImportForm::OnInitializing(void)
        __pListViewContents = dynamic_cast<ListView*>(GetControl(L"IDC_LISTVIEW"));
        TryReturn(__pListViewContents != null, E_FAILURE, "[E_FAILURE] Unable to get listview.");
        __pListViewContents->SetItemProvider(*this);
+       __pListViewContents->AddListViewItemEventListener(*this);
 
        SetFormBackEventListener(this);
        GetHeader()->AddActionEventListener(*this);
@@ -197,6 +198,9 @@ ImportForm::OnActionPerformed(const Control& source, int actionId)
                        __pListViewContents->SetItemChecked(i, checkFlag);
                }
                __pListViewContents->Invalidate(true);
+
+               GetFooter()->SetItemEnabled(0, checkFlag);
+               GetFooter()->Invalidate(true);
                break;
        }
        case IDA_IMPORT_FORM_ADD_TO_CALENDAR:
@@ -236,6 +240,37 @@ ImportForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
        AppLogDebug("Exit.");
 }
 
+void
+ImportForm::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)
+{
+       switch (status)
+       {
+       case LIST_ITEM_STATUS_CHECKED:
+               GetFooter()->SetItemEnabled(0, true);
+               GetFooter()->Invalidate(true);
+               break;
+       case LIST_ITEM_STATUS_UNCHECKED:
+               if (IsNoItemChecked() == true)
+               {
+                       GetFooter()->SetItemEnabled(0, false);
+                       GetFooter()->Invalidate(true);
+               }
+               break;
+       default:
+               break;
+       }
+}
+
+void
+ImportForm::OnListViewItemSwept(ListView& listView, int index, SweepDirection direction)
+{
+}
+
+void
+ImportForm::OnListViewContextItemStateChanged(ListView& listView, int index, int elementId, ListContextItemStatus status)
+{
+}
+
 int
 ImportForm::GetItemCount(void)
 {
@@ -334,6 +369,7 @@ ImportForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& cur
        }
 
        __pListViewContents->UpdateList();
+       GetFooter()->SetItemEnabled(0, IsNoItemChecked() == false);
        AppLogDebug("Exit.");
 }
 
@@ -490,6 +526,41 @@ ImportForm::IsEventItemChecked(void) const
 }
 
 bool
+ImportForm::IsNoItemChecked(void) const
+{
+       int index = 0;
+       IEnumerator* pEnum = __pList->GetEnumeratorN();
+       while (pEnum->MoveNext() == E_SUCCESS)
+       {
+               if (__pListViewContents->IsItemChecked(index) == true)
+               {
+                       CalEvent* pEvent = dynamic_cast<CalEvent*>(pEnum->GetCurrent());
+                       if (pEvent != null)
+                       {
+                               if (pEvent->GetRecordId() == INVALID_RECORD_ID)
+                               {
+                                       delete pEnum;
+                                       return false;
+                               }
+                       }
+
+                       CalTodo* pTodo = dynamic_cast<CalTodo*>(pEnum->GetCurrent());
+                       if (pTodo != null)
+                       {
+                               if (pTodo->GetRecordId() == INVALID_RECORD_ID)
+                               {
+                                       delete pEnum;
+                                       return false;
+                               }
+                       }
+               }
+               ++index;
+       }
+       delete pEnum;
+       return true;
+}
+
+bool
 ImportForm::IsTodoItemChecked(void) const
 {
        int index = 0;