projects
/
platform
/
framework
/
web
/
web-provider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
When list is used in popup, sound playing.
[platform/framework/web/web-provider.git]
/
src
/
Core
/
Service
/
PeriodChanger.cpp
diff --git
a/src/Core/Service/PeriodChanger.cpp
b/src/Core/Service/PeriodChanger.cpp
index
c754fb5
..
b58719e
100755
(executable)
--- a/
src/Core/Service/PeriodChanger.cpp
+++ b/
src/Core/Service/PeriodChanger.cpp
@@
-21,6
+21,7
@@
#include <string>
#include <Evas.h>
#include <Ecore_X.h>
#include <string>
#include <Evas.h>
#include <Ecore_X.h>
+#include <Ecore.h>
#include <Elementary.h>
#include <livebox-service.h>
#include <Core/Util/Log.h>
#include <Elementary.h>
#include <livebox-service.h>
#include <Core/Util/Log.h>
@@
-101,7
+102,6
@@
void PeriodChanger::showPeriodPopup()
Evas_Object* window = createWindow();
Evas_Object* periodList = elm_list_add(window);
Evas_Object* window = createWindow();
Evas_Object* periodList = elm_list_add(window);
- Evas_Object* radio;
if (!periodList) {
LogD("failed to add elm_list_add");
if (!periodList) {
LogD("failed to add elm_list_add");
@@
-111,12
+111,12
@@
void PeriodChanger::showPeriodPopup()
setPopupListData();
// TODO Language ID should be used, not static string
for(int i = 0 ; i < sizeof(m_hour) / sizeof(PopupListData); i++) {
setPopupListData();
// TODO Language ID should be used, not static string
for(int i = 0 ; i < sizeof(m_hour) / sizeof(PopupListData); i++) {
- radio = elm_radio_add(periodList);
- elm_radio_state_value_set(radio,
+
m_hour[i].
radio = elm_radio_add(periodList);
+ elm_radio_state_value_set(
m_hour[i].
radio,
m_currentPeriod == m_hour[i].newPeriod ? EINA_FALSE : EINA_TRUE);
elm_list_item_append(periodList,
m_hour[i].period,
m_currentPeriod == m_hour[i].newPeriod ? EINA_FALSE : EINA_TRUE);
elm_list_item_append(periodList,
m_hour[i].period,
- radio,
+
m_hour[i].
radio,
NULL,
selectPeriodCallback, &m_hour[i]);
}
NULL,
selectPeriodCallback, &m_hour[i]);
}
@@
-248,7
+248,7
@@
void PeriodChanger::selectPeriodCallback(void *data, Evas_Object *obj, void *eve
LogD("Update period is set to %f", popupData->newPeriod);
popupData->periodChanger->requestToPlatform(popupData->newPeriod);
LogD("Update period is set to %f", popupData->newPeriod);
popupData->periodChanger->requestToPlatform(popupData->newPeriod);
-
popupData->periodChanger->destroyPeriodPopup(obj
);
+
ecore_idler_add(popupDestroyIdlerCallback, popupData
);
}
void PeriodChanger::cancelButtonCallback(void *data, Evas_Object *obj, void *event_info)
}
void PeriodChanger::cancelButtonCallback(void *data, Evas_Object *obj, void *event_info)
@@
-258,4
+258,11
@@
void PeriodChanger::cancelButtonCallback(void *data, Evas_Object *obj, void *eve
This->destroyPeriodPopup(obj);
}
This->destroyPeriodPopup(obj);
}
+Eina_Bool PeriodChanger::popupDestroyIdlerCallback(void *data)
+{
+ LogD("enter");
+ PopupListData* popupData = static_cast<PopupListData*>(data);
+ popupData->periodChanger->destroyPeriodPopup(popupData->radio);
+ return ECORE_CALLBACK_CANCEL;
+}
} // Service
} // Service