Set video position when slider reset 41/36241/1 accepted/tizen/tv/20150304.073005 submit/tizen_tv/20150304.061921
authorMinkyu Kang <mk7.kang@samsung.com>
Wed, 4 Mar 2015 06:04:30 +0000 (15:04 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 4 Mar 2015 06:04:30 +0000 (15:04 +0900)
Change-Id: I23cc8cdfb0d4b866abac259cffd0b31185551b0f
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
include/slider.h
src/slider.cpp
src/view_player.cpp

index a89da17..181c977 100644 (file)
@@ -65,8 +65,9 @@ public:
         * Reset the slider
         *
         * @param duration duration time of video file
+        * @param position start position of video file
         */
-       void Reset(int duration);
+       void Reset(int duration, int position);
 
        /**
         * Resume the slider timer
index 0f34fa3..20d498c 100644 (file)
@@ -129,7 +129,7 @@ void CVideoSlider::Resume(void)
                ecore_timer_thaw(m->timer);
 }
 
-void CVideoSlider::Reset(int duration)
+void CVideoSlider::Reset(int duration, int position)
 {
        ASSERT(m);
 
@@ -138,7 +138,7 @@ void CVideoSlider::Reset(int duration)
        ecore_timer_del(m->timer);
        m->timer = ecore_timer_add(TIME_INTERVAL, sm_CbTimer, m);
 
-       elm_slider_value_set(m->slider, 0);
+       elm_slider_value_set(m->slider, position);
        elm_slider_min_max_set(m->slider, 0, duration);
 
        _get_timestr(str, sizeof(str), duration);
index 806cf48..3d5d11f 100644 (file)
 
 #define BTN_ID "BTN_ID"
 
-#define TEXT_NOVIDEO N_("No Video")
-#define TEXT_NORES N_("---- x ----")
 #define TEXT_NODATE N_("----.--.--")
-#define TEXT_NOSOURCE N_("-")
+
+#define SOURCE_PATH_LEN 6
+#define SOURCE_TV_PATH "/home/"
+#define SOURCE_TV N_("TV")
+#define SOURCE_USB N_("USB")
 
 #define CONTROL_BTNS 7
 
@@ -77,6 +79,7 @@ struct SPlayerView {
        Ecore_Timer *drawanim_timer;
        int duration;
        int repeat;
+       int position;
 };
 
 enum _control_btn {
@@ -98,6 +101,7 @@ enum _repeat_option {
 void CPlayerView::m_UpdateInfoBar(void)
 {
        const char *name;
+       const char *source;
        char buf[32];
        time_t video_time;
        struct tm tm;
@@ -120,8 +124,12 @@ void CPlayerView::m_UpdateInfoBar(void)
        elm_object_part_text_set(m->base, PART_DATETEXT, buf);
 
        /* Source */
-       /* TODO: temporary, get actual values and set */
-       elm_object_part_text_set(m->base, PART_SOURCETEXT, _("TV"));
+       /* FIXME: when usb path is decided, this logic should be changed */
+       if (!strncmp(m->mediadata->GetPath(), SOURCE_TV_PATH, SOURCE_PATH_LEN))
+               source = SOURCE_TV;
+       else
+               source = SOURCE_USB;
+       elm_object_part_text_set(m->base, PART_SOURCETEXT, _(source));
 
        /* Playlist Count */
        playermgr_get_play_count(m->player, buf, sizeof(buf));
@@ -132,6 +140,7 @@ void CPlayerView::m_UpdateInfoBar(void)
                        m->mediadata->GetHeight());
 
        m->duration = m->mediadata->GetDuration();
+       m->position = m->mediadata->GetPosition();
 
        elm_object_part_text_set(m->base, PART_RESOLUTIONTEXT, buf);
 }
@@ -151,7 +160,7 @@ bool CPlayerView::m_PlayerInit(void)
        m_UpdateInfoBar();
        m->mediadata->Destroy();
 
-       m->slider->Reset(m->duration);
+       m->slider->Reset(m->duration, m->position);
        m->control->Signal(E_PLAYPAUSE_BTN, SIG_SET_PAUSE, "");
 
        if (m->bar_hidden) {