calendar: fix elm_calendar_interval_set() API not working.
authorWoochan Lee <wc0917.lee@samsung.com>
Mon, 5 Jun 2017 18:02:17 +0000 (11:02 -0700)
committerCedric BAIL <cedric@osg.samsung.com>
Mon, 5 Jun 2017 19:07:56 +0000 (12:07 -0700)
Summary:
The API was not working because of an internal logical error.

@fix

Test Plan: Calling elm_calendar_interval_set API in elementary_test.

Reviewers: jpeg, cedric, Hermet, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4891

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
src/lib/elementary/elm_calendar.c

index f2ebc80..58570a1 100644 (file)
@@ -1148,10 +1148,12 @@ _button_widget_month_inc_start(void *data,
 {
    ELM_CALENDAR_DATA_GET(data, sd);
 
-   sd->interval = sd->first_interval;
    sd->spin_speed = 1;
-   _spin_month_value(data);
+   if (!sd->month_repeated)
+     sd->interval = sd->first_interval;
    sd->month_repeated = EINA_TRUE;
+   _spin_month_value(data);
+
 }
 
 static void
@@ -1178,10 +1180,11 @@ _button_widget_month_dec_start(void *data,
 {
    ELM_CALENDAR_DATA_GET(data, sd);
 
-   sd->interval = sd->first_interval;
    sd->spin_speed = -1;
-   _spin_month_value(data);
+   if (!sd->month_repeated)
+     sd->interval = sd->first_interval;
    sd->month_repeated = EINA_TRUE;
+   _spin_month_value(data);
 }
 
 static void
@@ -1208,10 +1211,11 @@ _button_widget_year_inc_start(void *data,
 {
    ELM_CALENDAR_DATA_GET(data, sd);
 
-   sd->interval = sd->first_interval;
    sd->spin_speed = 1;
-   _spin_year_value(data);
+   if (!sd->year_repeated)
+     sd->interval = sd->first_interval;
    sd->year_repeated = EINA_TRUE;
+   _spin_year_value(data);
 }
 
 static void
@@ -1238,10 +1242,11 @@ _button_widget_year_dec_start(void *data,
 {
    ELM_CALENDAR_DATA_GET(data, sd);
 
-   sd->interval = sd->first_interval;
    sd->spin_speed = -1;
-   _spin_year_value(data);
+   if (!sd->year_repeated)
+     sd->interval = sd->first_interval;
    sd->year_repeated = EINA_TRUE;
+   _spin_year_value(data);
 }
 
 static int