summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Olshevskyi <i.olshevskyi@samsung.com>2017-10-10 16:00:26 +0300
committerIgor Olshevskyi <i.olshevskyi@samsung.com>2017-10-12 08:21:15 +0300
commit60a7fdf869252865de5cb3bfbb331300c3298c09 (patch)
tree5f13e231a654aeac8b8588b0b2685c4eb06c8aa0
parent664a6feb17dec93c880ac22de583e3d51f4272df (diff)
downloadcall-ui-60a7fdf869252865de5cb3bfbb331300c3298c09.tar.gz
call-ui-60a7fdf869252865de5cb3bfbb331300c3298c09.tar.bz2
call-ui-60a7fdf869252865de5cb3bfbb331300c3298c09.zip
TizenRefApp-9564 [Call UI] Reimplement RejectMsgPresenter using ucl::ListPresenter
Change-Id: Id7217fb20e84368fe4fde508e748b1b7e45ee400
-rw-r--r--call-ui/presenters/items/RejectMsgListItem.cpp86
-rw-r--r--call-ui/presenters/items/RejectMsgListItem.h84
-rw-r--r--call-ui/presenters/misc/RejectMsgPresenter.cpp225
-rw-r--r--call-ui/presenters/misc/RejectMsgPresenter.h26
-rw-r--r--project_def.prop2
5 files changed, 259 insertions, 164 deletions
diff --git a/call-ui/presenters/items/RejectMsgListItem.cpp b/call-ui/presenters/items/RejectMsgListItem.cpp
new file mode 100644
index 0000000..c4e547a
--- /dev/null
+++ b/call-ui/presenters/items/RejectMsgListItem.cpp
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "RejectMsgListItem.h"
+
+#include "call-ui/presenters/common.h"
+
+namespace callui { namespace { namespace impl {
+
+ constexpr ElmStyle ITEM_STYLE {"1text"};
+
+ constexpr EdjePart ITEM_PART_TITLE {"elm.text"};
+
+ CString getDisplayText(std::string rejectMsgTxt)
+ {
+ auto trnsTxt = TString{std::move(rejectMsgTxt), true}.translate();
+ auto markupTxt = elm_entry_utf8_to_markup(trnsTxt);
+ std::string resStr(markupTxt);
+ free(markupTxt);
+
+ replaceSubstringInString(resStr, "<br/>", " ");
+
+ return CString::dup(resStr.c_str());
+ }
+}}}
+
+namespace callui {
+
+ RejectMsgListItem::RejectMsgListItem(IRefCountObj &rc,
+ IRejectMsgSRef rm,
+ SelectHandler handler,
+ Private) :
+ ListItemPresenter::ListItemPresenter(rc),
+ m_rm(std::move(rm)),
+ m_onItemSelected(std::move(handler))
+ {
+ UCL_ASSERT(m_rm, "m_rm is NULL");
+ UCL_ASSERT(m_onItemSelected, "m_onItemSelected is NULL");
+ }
+
+ RejectMsgListItemSRef RejectMsgListItem::newInstance(IRejectMsgSRef rm,
+ SelectHandler handler)
+ {
+ return makeShared<RejectMsgListItem>(
+ std::move(rm),
+ std::move(handler), PRIVATE);
+ }
+
+ ListItemPresenter::ItemInsertionParams
+ RejectMsgListItem::getItemInsertionParams()
+ {
+ return impl::ITEM_STYLE;
+ }
+
+ CString RejectMsgListItem::getItemPartText(EdjePart part)
+ {
+ if (part == impl::ITEM_PART_TITLE) {
+ return impl::getDisplayText(m_rm->getText());
+ }
+
+ return nullptr;
+ }
+
+ void RejectMsgListItem::onItemSelected()
+ {
+ if (isActive()) {
+ if (const auto handler = m_onItemSelected.lock()) {
+ handler(m_rm);
+ }
+ }
+ }
+
+}
diff --git a/call-ui/presenters/items/RejectMsgListItem.h b/call-ui/presenters/items/RejectMsgListItem.h
new file mode 100644
index 0000000..d9c68b2
--- /dev/null
+++ b/call-ui/presenters/items/RejectMsgListItem.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CALL_UI_PRESENTERS_ITEMS_REJECT_MSG_LIST_ITEM_H__
+#define __CALL_UI_PRESENTERS_ITEMS_REJECT_MSG_LIST_ITEM_H__
+
+#include "ucl/mvp/ListItemPresenter.h"
+
+#include "call-ui/model/IRejectMsg.h"
+
+#include "call-ui/presenters/types.h"
+
+namespace callui {
+
+ UCL_DECLARE_REF_ALIASES(RejectMsgListItem);
+
+ class RejectMsgListItem final : public ucl::ListItemPresenter {
+ public:
+
+ /**
+ * @brief Item select handler definition
+ */
+ using SelectHandler = ucl::WeakDelegate<void(
+ const IRejectMsgSRef &rm)>;
+
+ /**
+ * @brief Constructor
+ * @param[in] rc Pointer to IRefCountObj (passed automatically)
+ * @param[in] rm Reject message instance
+ * @param[in] handler Item select handler
+ * @return Shared reference to RejectMsgListItem on success otherwise NULL
+ */
+ static RejectMsgListItemSRef newInstance(IRejectMsgSRef rm,
+ SelectHandler handler);
+
+ protected:
+
+ // ListItemPresenter //
+
+ /**
+ * @see ucl::ListItemPresenter::getItemInsertionParams()
+ */
+ virtual ItemInsertionParams getItemInsertionParams() override;
+
+ /**
+ * @see ucl::ListItemPresenter::getItemPartText()
+ */
+ virtual ucl::CString getItemPartText(ucl::EdjePart part) override;
+
+ /**
+ * @see ucl::ListItemPresenter::onItemSelected()
+ */
+ virtual void onItemSelected() override;
+
+ private:
+ RejectMsgListItem(ucl::IRefCountObj &rc,
+ IRejectMsgSRef rm,
+ RejectMsgListItem::SelectHandler handler,
+ Private);
+ ~RejectMsgListItem() = default;
+
+ private:
+ const IRejectMsgSRef m_rm;
+
+ SelectHandler m_onItemSelected;
+
+ friend class ucl::ReffedObj<RejectMsgListItem>;
+ };
+}
+
+#endif // __CALL_UI_PRESENTERS_ITEMS_REJECT_MSG_LIST_ITEM_H__
diff --git a/call-ui/presenters/misc/RejectMsgPresenter.cpp b/call-ui/presenters/misc/RejectMsgPresenter.cpp
index b799aa3..8c4dd07 100644
--- a/call-ui/presenters/misc/RejectMsgPresenter.cpp
+++ b/call-ui/presenters/misc/RejectMsgPresenter.cpp
@@ -16,6 +16,9 @@
#include "RejectMsgPresenter.h"
+#include "call-ui/presenters/items/RejectMsgListItem.h"
+#include "call-ui/presenters/misc/helpers.h"
+
#include "call-ui/resources.h"
#include "call-ui/presenters/common.h"
@@ -60,7 +63,7 @@ namespace callui {
auto trnsTxt = TString{m_rm->getText(), true}.translate();
auto markupTxt = elm_entry_utf8_to_markup(trnsTxt);
- std::string resStr(markupTxt);
+ std::string resStr(nz(markupTxt));
replaceSubstringInString(resStr, "<br/>", " ");
free(markupTxt);
@@ -133,14 +136,13 @@ namespace callui {
m_stateHandler(std::move(stateHandler)),
m_selectHandler(std::move(selectHandler)),
m_circleEo(nullptr),
+ m_circleSurface(nullptr),
m_state(State::HIDDEN)
{
}
RejectMsgPresenter::~RejectMsgPresenter()
{
- unsetLanguageChangeCallback();
-
if (m_widget) {
sendActivate(*m_widget);
}
@@ -164,12 +166,13 @@ namespace callui {
FAIL_RETURN(createPanelLy(),
"createPanelLy() failed!");
+ FAIL_RETURN(createCircleSurfaceLy(),
+ "createCircleSurfaceLy() failed!");
+
FAIL_RETURN(createAtspiHighlightHelper(),
"createScreenReaderRoute() failed!");
- setLanguageChangeCallback();
-
- deactivateBy(m_widget.get());
+ deactivateSelf();
parent.addDeactivatorSource(*m_widget);
@@ -211,11 +214,11 @@ namespace callui {
elm_object_scroll_freeze_push(m_panel->getEo());
} else if (ev->rel_y == 0.0) {
m_state = State::HIDDEN;
- m_genlist.reset();
+ destroyRejectMsgList();
} else {
- if (!m_genlist) {
- FAIL_RETURN_VOID(createGenlist(),
- "createGenlist() failed!");
+ if (!m_listPresenter) {
+ FAIL_RETURN_VOID(createRejectMsgList(),
+ "createRejectMsgList() failed!");
}
m_state = State::IN_TRANSITION;
@@ -226,9 +229,9 @@ namespace callui {
if (prevState != m_state) {
if (m_state == State::SHOWN) {
- activateBy(m_widget.get());
+ activateSelf();
} else {
- deactivateBy(m_widget.get());
+ deactivateSelf();
}
if (m_state == State::HIDDEN) {
@@ -268,7 +271,8 @@ namespace callui {
Result RejectMsgPresenter::createPanelBg()
{
m_panelBg = makeShared<ElmWidget>(
- evas_object_rectangle_add(evas_object_evas_get(*m_widget)), false);
+ evas_object_rectangle_add(evas_object_evas_get(*m_widget)),
+ false);
if (!m_panelBg) {
LOG_RETURN(RES_FAIL, "evas_object_rectangle_add() failed!");
}
@@ -293,175 +297,98 @@ namespace callui {
return RES_OK;
}
- void RejectMsgPresenter::setLanguageChangeCallback()
- {
- getWindow().addEventHandler(WIN_LANGUAGE_CHANGED,
- WEAK_DELEGATE_THIS(onLanguageChanged));
- }
-
- void RejectMsgPresenter::unsetLanguageChangeCallback()
- {
- getWindow().delEventHandler(WIN_LANGUAGE_CHANGED,
- DELEGATE_THIS(onLanguageChanged));
- }
-
- void RejectMsgPresenter::onLanguageChanged(Widget &widget, void *eventInfo)
- {
- if (m_genlist) {
- elm_genlist_realized_items_update(*m_genlist);
- }
- }
-
- Result RejectMsgPresenter::createGenlist()
+ Result RejectMsgPresenter::createCircleSurfaceLy()
{
- // Genlist scroller Layout
- auto circlLy = Layout::Builder().
+ auto circleLy = Layout::Builder().
setIsOwner(false).
build(*m_panelLy);
- if (!circlLy) {
+ if (!circleLy) {
LOG_RETURN(RES_FAIL, "Layout::build failed!");
}
- // Circular surface
- Eext_Circle_Surface *const circleSurf =
- eext_circle_surface_layout_add(*circlLy);
- if (!circleSurf) {
- LOG_RETURN(RES_FAIL, "eext_circle_surface_layout_add() failed!");
- }
- // Genlist
- Evas_Object *const glEo = elm_genlist_add(*m_panelLy);
- if (!glEo) {
- LOG_RETURN(RES_FAIL, "elm_genlist_add() failed!");
- }
- elm_genlist_mode_set(glEo, ELM_LIST_COMPRESS);
- elm_genlist_homogeneous_set(glEo, EINA_TRUE);
+ m_panelLy->setContent(*circleLy, impl::PART_SWL_SCROLLER);
- m_genlist = makeShared<StyledWidget>(glEo);
- m_genlist->setWeight(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- m_genlist->setAlign(EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- m_circleEo = eext_circle_object_genlist_add(m_genlist->getEo(),
- circleSurf);
- if (!m_circleEo) {
- LOG_RETURN(RES_FAIL, "elm_genlist_add() failed!");
+ m_circleSurface = eext_circle_surface_layout_add(*circleLy);
+ if (!m_circleSurface) {
+ LOG_RETURN(RES_FAIL, "eext_circle_surface_layout_add() failed!");
}
- eext_circle_object_genlist_scroller_policy_set(m_circleEo,
- ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
- deactivateRotary();
- FAIL_RETURN(fillGenlist(), "fillGenlist() failed!");
+ return RES_OK;
+ }
- m_panelLy->setContent(*circlLy, impl::PART_SWL_SCROLLER);
+ Result RejectMsgPresenter::createRejectMsgList()
+ {
+ FAIL_RETURN(makeList(), "makeList() failed!");
- m_panelLy->setContent(*m_genlist, impl::PART_SWL_CONTENT);
+ FAIL_RETURN(makeListItems(), "makeListItems() failed!");
registerGenlistAtspiGestureCallbacks();
return RES_OK;
}
- Result RejectMsgPresenter::fillGenlist()
+ void RejectMsgPresenter::destroyRejectMsgList()
{
- FAIL_RETURN(addGenlistTitleItem(), "addGenlistTitleItem() failed!");
-
- auto msgList = m_provider->getMsgList();
- for (auto &iter : msgList) {
- FAIL_RETURN(addGenlistTextItem(iter), "addGenlistTextItem() failed!");
- }
+ deactivateRotary();
- FAIL_RETURN(addGenlistBottomItem(), "addGenlistBottomItem() failed!");
+ m_circleEo = nullptr;
- return RES_OK;
+ m_listPresenter.reset();
}
- Result RejectMsgPresenter::addGenlistTitleItem()
+ Result RejectMsgPresenter::makeList()
{
- static auto titleItc = utils::createGenlistItemClass("title",
- [](void *data, Evas_Object *obj, const char *part) -> char * {
- return strdup(STR_DECLINE_MESSAGES.translate());
- });
-
- auto *item = elm_genlist_item_append(*m_genlist, &titleItc,
- nullptr,
- nullptr,
- ELM_GENLIST_ITEM_NONE,
- nullptr,
- nullptr);
- if (!item) {
- LOG_RETURN(RES_FAIL, "elm_genlist_item_append() failed!");
+ m_listPresenter = ListPresenter::Builder().
+ setParentWidget(m_panelLy).
+ build(*this);
+ if (!m_listPresenter) {
+ LOG_RETURN(RES_FAIL, "ListPresenter::build() failed!");
}
+ m_panelLy->setContent(m_listPresenter->getWidget(),
+ impl::PART_SWL_CONTENT);
- return RES_OK;
- }
-
- Result RejectMsgPresenter::addGenlistTextItem(const IRejectMsgSRef &rm)
- {
- static auto textItc = utils::createGenlistItemClass("1text.1icon",
- [](void *data, Evas_Object *obj, const char *part) -> char * {
- if (!data) {
- LOG_RETURN_VALUE(RES_FAIL, nullptr, "Data is NULL");
- }
- RejectMsgItem *rm = static_cast<RejectMsgItem *>(data);
- return strdup(rm->getDisplayText().c_str());
- },
- nullptr,
- nullptr,
- [](void *data, Evas_Object *obj) -> void {
- RejectMsgItem *rm = static_cast<RejectMsgItem *>(data);
- delete rm;
- });
-
- auto rmItem = ucl::util::makeUnique(new RejectMsgItem(rm));
- auto *item = elm_genlist_item_append(*m_genlist, &textItc,
- rmItem.get(),
- nullptr,
- ELM_GENLIST_ITEM_NONE,
- CALLBACK_A(RejectMsgPresenter::onGenlistItemClickedCb),
- this);
- if (!item) {
- LOG_RETURN(RES_FAIL, "elm_genlist_item_append() failed!");
+ m_circleEo = eext_circle_object_genlist_add(
+ m_listPresenter->getWidget(), m_circleSurface);
+ if (!m_circleEo) {
+ LOG_RETURN(RES_FAIL, "elm_genlist_add() failed!");
}
+ eext_circle_object_genlist_scroller_policy_set(m_circleEo,
+ ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- rmItem.release();
+ deactivateRotary();
return RES_OK;
}
- Result RejectMsgPresenter::addGenlistBottomItem()
+ Result RejectMsgPresenter::makeListItems()
{
- static auto paddingItc = utils::createGenlistItemClass("1text.1icon");
+ FAIL_RETURN(m_listPresenter->append(
+ *makeTitleListItem(STR_DECLINE_MESSAGES)),
+ "m_listPresenter->append failed!");
- auto *item = elm_genlist_item_append(*m_genlist, &paddingItc,
- nullptr,
- nullptr,
- ELM_GENLIST_ITEM_NONE,
- nullptr,
- nullptr);
- if (!item) {
- LOG_RETURN(RES_FAIL, "elm_genlist_item_append() failed!");
+ auto msgList = m_provider->getMsgList();
+ for (auto &iter : msgList) {
+ FAIL_RETURN(m_listPresenter->append(
+ *RejectMsgListItem::newInstance(iter,
+ WEAK_DELEGATE_THIS(onRejectMsgListItemSelect))),
+ "m_listPresenter->append failed!");
}
+ FAIL_RETURN(m_listPresenter->append(*makePaddingListItem()),
+ "m_listPresenter->append failed!");
+
return RES_OK;
}
- void RejectMsgPresenter::handleSelectEvent(const RejectMsgItem &item)
+ void RejectMsgPresenter::onRejectMsgListItemSelect(const IRejectMsgSRef &rm)
{
- if (const auto handler = m_selectHandler.lock()) {
- handler(item.getRejectMsg());
- }
+ handleSelectEvent(rm);
}
- void RejectMsgPresenter::onGenlistItemClickedCb(Evas_Object *obj, void *eventInfo)
+ void RejectMsgPresenter::handleSelectEvent(const IRejectMsgSRef &rm)
{
- if (!eventInfo) {
- LOG_RETURN_VOID(RES_FAIL, "eventInfo is NULL");
+ if (const auto handler = m_selectHandler.lock()) {
+ handler(rm);
}
-
- auto *item = static_cast<Elm_Object_Item *>(eventInfo);
- auto *rmItem = static_cast<RejectMsgItem *>(
- elm_object_item_data_get(item));
-
- handleSelectEvent(*rmItem);
}
Widget &RejectMsgPresenter::getWidget()
@@ -521,23 +448,24 @@ namespace callui {
Elm_Interface_Atspi_Accessible *RejectMsgPresenter::getFirstAo()
{
- return (m_genlist) ?
- elm_genlist_first_item_get(*m_genlist) :
- nullptr;
+ return (m_listPresenter ?
+ elm_genlist_first_item_get(m_listPresenter->getWidget()) :
+ nullptr);
}
Elm_Interface_Atspi_Accessible *RejectMsgPresenter::getLastAo()
{
- return (m_genlist) ?
- elm_genlist_last_item_get(*m_genlist) :
- nullptr;
+ return (m_listPresenter ?
+ elm_genlist_last_item_get(m_listPresenter->getWidget()) :
+ nullptr);
}
Result RejectMsgPresenter::createAtspiHighlightHelper()
{
m_atspiHelper = AtspiHighlightHelper::newInstance(*this, getWindow());
if (!m_atspiHelper) {
- LOG_RETURN(RES_FAIL, "AtspiHighlightHelper::newInstance() failed!");
+ LOG_RETURN(RES_FAIL,
+ "AtspiHighlightHelper::newInstance() failed!");
}
m_atspiHelper->setRelationEventHandler(
@@ -588,7 +516,6 @@ namespace callui {
Elm_Atspi_Gesture_Info gestureInfo,
Elm_Interface_Atspi_Accessible *ao)
{
- return toEina(
- m_atspiHelper->handleGesture(ao, gestureInfo));
+ return toEina(m_atspiHelper->handleGesture(ao, gestureInfo));
}
}
diff --git a/call-ui/presenters/misc/RejectMsgPresenter.h b/call-ui/presenters/misc/RejectMsgPresenter.h
index 9a47bcd..e52803d 100644
--- a/call-ui/presenters/misc/RejectMsgPresenter.h
+++ b/call-ui/presenters/misc/RejectMsgPresenter.h
@@ -17,12 +17,13 @@
#ifndef __CALL_UI_PRESENTERS_MISC_REJECT_MESSAGE_PRESENTER_H__
#define __CALL_UI_PRESENTERS_MISC_REJECT_MESSAGE_PRESENTER_H__
-#include "ucl/mvp/GuiPresenter.h"
+#include "ucl/mvp/ListPresenter.h"
#include "ucl/gui/Layout.h"
#include "ucl/gui/StyledWidget.h"
#include "call-ui/model/IRejectMsgProvider.h"
+
#include "AtspiHighlightHelper.h"
#include "call-ui/presenters/types.h"
@@ -154,15 +155,14 @@ namespace callui {
ucl::Result createPanel();
ucl::Result createPanelBg();
ucl::Result createPanelLy();
- ucl::Result createGenlist();
-
- ucl::Result fillGenlist();
- ucl::Result addGenlistTitleItem();
- ucl::Result addGenlistTextItem(const IRejectMsgSRef &rm);
- ucl::Result addGenlistBottomItem();
+ ucl::Result createCircleSurfaceLy();
- void onGenlistItemClickedCb(Evas_Object *obj, void *eventInfo);
- void handleSelectEvent(const RejectMsgItem &item);
+ ucl::Result createRejectMsgList();
+ void destroyRejectMsgList();
+ ucl::Result makeList();
+ ucl::Result makeListItems();
+ void onRejectMsgListItemSelect(const IRejectMsgSRef &rm);
+ void handleSelectEvent(const IRejectMsgSRef &rm);
void panelScrollCb(ucl::Widget &widget, void *eventInfo);
@@ -171,10 +171,6 @@ namespace callui {
void onBackKey(Evas_Object *obj, void *eventInfo);
- void setLanguageChangeCallback();
- void unsetLanguageChangeCallback();
- void onLanguageChanged(ucl::Widget &widget, void *eventInfo);
-
ucl::Result createAtspiHighlightHelper();
void registerGenlistAtspiGestureCallbacks();
Elm_Interface_Atspi_Accessible *getFirstAo();
@@ -196,12 +192,14 @@ namespace callui {
const StateHandler m_stateHandler;
const SelectHandler m_selectHandler;
+ ucl::ListPresenterSRef m_listPresenter;
+
ucl::LayoutSRef m_widget;
ucl::StyledWidgetSRef m_panel;
ucl::ElmWidgetSRef m_panelBg;
ucl::LayoutSRef m_panelLy;
- ucl::StyledWidgetSRef m_genlist;
Evas_Object *m_circleEo;
+ Eext_Circle_Surface *m_circleSurface;
State m_state;
diff --git a/project_def.prop b/project_def.prop
index b725b1d..4fdb111 100644
--- a/project_def.prop
+++ b/project_def.prop
@@ -9,7 +9,7 @@ type = app
profile = wearable-4.0
# C/CPP Sources
-USER_SRCS = call-ui/presenters/dialogs/base/Dialog.cpp call-ui/view/VolumeControl.cpp call-ui/model/impl/CallInfo.cpp call-ui/presenters/items/SimpleListItem.cpp call-ui/model/impl/IncomingCall.cpp ucl/source/appfw/helpers.cpp ucl/source/mvp/ListItemPresenter.cpp call-ui/model/impl/RejectMsg.cpp ucl/source/gui/Genlist.cpp ucl/source/util/types/Result.cpp call-ui/model/impl/ConferenceCallInfo.cpp call-ui/model/impl/BluetoothManager.cpp ucl/source/gui/Layout.cpp call-ui/presenters/misc/MotionSensorPresenter.cpp call-ui/model/impl/RssiStateSource.cpp call-ui/presenters/Instance.cpp call-ui/model/impl/ActiveCall.cpp call-ui/model/impl/SimSlotStateSource.cpp call-ui/presenters/misc/AcceptRejectPresenter.cpp ucl/source/gui/WidgetItem.cpp call-ui/presenters/pages/MainPage.cpp ucl/source/gui/NaviItem.cpp call-ui/presenters/misc/DeviceStatePresenter.cpp call-ui/model/impl/ContactInfoProvider.cpp call-ui/model/impl/HdVoiceStateSource.cpp ucl/source/gui/Window.cpp call-ui/model/impl/ConnectionStateSource.cpp call-ui/presenters/misc/RejectMsgPresenter.cpp call-ui/presenters/pages/KeypadPage.cpp ucl/source/util/logging.cpp ucl/source/appfw/UIApp.cpp call-ui/presenters/misc/AccessoryPresenter.cpp call-ui/model/impl/ContactInfo.cpp call-ui/model/impl/EndCall.cpp call-ui/view/Slider.cpp call-ui/model/impl/RejectMsgProvider.cpp ucl/source/mvp/GuiPresenter.cpp ucl/source/appfw/InstanceManagerBase.cpp call-ui/model/impl/BatteryStateSource.cpp ucl/source/gui/Widget.cpp call-ui/presenters/dialogs/AcceptDialog.cpp call-ui/types.cpp call-ui/presenters/misc/helpers.cpp call-ui/model/impl/IndicatorStateProvider.cpp call-ui/view/AcceptRejectWidget.cpp ucl/source/misc/Timeout.cpp call-ui/resources.cpp ucl/source/util/types/classTypes.cpp call-ui/model/CallUIBuilder.cpp call-ui/presenters/misc/CallStatusPresenter.cpp call-ui/model/impl/HeldCall.cpp call-ui/model/impl/SoundManager.cpp ucl/source/gui/EdjeWidget.cpp call-ui/model/impl/MsgClient.cpp call-ui/presenters/InstanceManager.cpp call-ui/presenters/pages/base/Page.cpp call-ui/presenters/misc/MoreOptionsPresenter.cpp call-ui/presenters/misc/IndicatorPresenter.cpp call-ui/presenters/misc/AtspiHighlightHelper.cpp ucl/source/gui/Naviframe.cpp call-ui/model/impl/CallUI.cpp ucl/source/gui/ElmWidget.cpp ucl/source/gui/RadioBox.cpp ucl/source/misc/Variant.cpp call-ui/view/helpers.cpp call-ui/main.cpp call-ui/model/impl/CallManager.cpp call-ui/presenters/misc/CallInfoPresenter.cpp ucl/source/appfw/SysEventProvider.cpp call-ui/model/impl/CallClient.cpp ucl/source/mvp/ListPresenter.cpp
+USER_SRCS = call-ui/presenters/dialogs/base/Dialog.cpp call-ui/view/VolumeControl.cpp call-ui/model/impl/CallInfo.cpp call-ui/presenters/items/SimpleListItem.cpp call-ui/model/impl/IncomingCall.cpp ucl/source/appfw/helpers.cpp ucl/source/mvp/ListItemPresenter.cpp call-ui/model/impl/RejectMsg.cpp ucl/source/gui/Genlist.cpp ucl/source/util/types/Result.cpp call-ui/model/impl/ConferenceCallInfo.cpp call-ui/presenters/items/RejectMsgListItem.cpp call-ui/model/impl/BluetoothManager.cpp ucl/source/gui/Layout.cpp call-ui/presenters/misc/MotionSensorPresenter.cpp call-ui/model/impl/RssiStateSource.cpp call-ui/presenters/Instance.cpp call-ui/model/impl/ActiveCall.cpp call-ui/model/impl/SimSlotStateSource.cpp call-ui/presenters/misc/AcceptRejectPresenter.cpp ucl/source/gui/WidgetItem.cpp call-ui/presenters/pages/MainPage.cpp ucl/source/gui/NaviItem.cpp call-ui/presenters/misc/DeviceStatePresenter.cpp call-ui/model/impl/ContactInfoProvider.cpp call-ui/model/impl/HdVoiceStateSource.cpp ucl/source/gui/Window.cpp call-ui/model/impl/ConnectionStateSource.cpp call-ui/presenters/misc/RejectMsgPresenter.cpp call-ui/presenters/pages/KeypadPage.cpp ucl/source/util/logging.cpp ucl/source/appfw/UIApp.cpp call-ui/presenters/misc/AccessoryPresenter.cpp call-ui/model/impl/ContactInfo.cpp call-ui/model/impl/EndCall.cpp call-ui/view/Slider.cpp call-ui/model/impl/RejectMsgProvider.cpp ucl/source/mvp/GuiPresenter.cpp ucl/source/appfw/InstanceManagerBase.cpp call-ui/model/impl/BatteryStateSource.cpp ucl/source/gui/Widget.cpp call-ui/presenters/dialogs/AcceptDialog.cpp call-ui/types.cpp call-ui/presenters/misc/helpers.cpp call-ui/model/impl/IndicatorStateProvider.cpp call-ui/view/AcceptRejectWidget.cpp ucl/source/misc/Timeout.cpp call-ui/resources.cpp ucl/source/util/types/classTypes.cpp call-ui/model/CallUIBuilder.cpp call-ui/presenters/misc/CallStatusPresenter.cpp call-ui/model/impl/HeldCall.cpp call-ui/model/impl/SoundManager.cpp ucl/source/gui/EdjeWidget.cpp call-ui/model/impl/MsgClient.cpp call-ui/presenters/InstanceManager.cpp call-ui/presenters/pages/base/Page.cpp call-ui/presenters/misc/MoreOptionsPresenter.cpp call-ui/presenters/misc/IndicatorPresenter.cpp call-ui/presenters/misc/AtspiHighlightHelper.cpp ucl/source/gui/Naviframe.cpp call-ui/model/impl/CallUI.cpp ucl/source/gui/ElmWidget.cpp ucl/source/gui/RadioBox.cpp ucl/source/misc/Variant.cpp call-ui/view/helpers.cpp call-ui/main.cpp call-ui/model/impl/CallManager.cpp call-ui/presenters/misc/CallInfoPresenter.cpp ucl/source/appfw/SysEventProvider.cpp call-ui/model/impl/CallClient.cpp ucl/source/mvp/ListPresenter.cpp
# EDC Sources
USER_EDCS =