timer: add hour position description 02/90602/5
authorKamil Lipiszko <k.lipiszko@samsung.com>
Sat, 1 Oct 2016 09:42:23 +0000 (11:42 +0200)
committerLukasz Stanislawski <l.stanislaws@samsung.com>
Mon, 10 Oct 2016 08:03:13 +0000 (01:03 -0700)
This commit adds description (hours, minutes, seconds) to the
running time counter.

Change-Id: Id70c46619527a9babf2d9d88b3b0a48484a010ed

clock/inc/View/CounterView.h
clock/res/edje/StopWatch.edc
clock/res/edje/Timer.edc
clock/src/View/CounterView.cpp
clock/src/View/StopWatchView.cpp
clock/src/View/TimerView.cpp

index 16271e3..1f264b0 100644 (file)
@@ -38,10 +38,11 @@ namespace view {
 
                void DisplayTime(int hour, int min, int sec, int msec = 0);
 
-               void Expand(void);
-               void Contract(void);
                void Show(void);
                void Hide(void);
+
+               void Expand(void);
+               void Contract(void);
                void Reset(void);
 
                bool IsVisible(void);
@@ -49,7 +50,6 @@ namespace view {
                Evas_Object *layout_;
 
                CounterType type_;
-               bool visible_;
 
                static const char *EDJE_FILE;
                static const char *GROUP;
index 4391178..d06f7d8 100644 (file)
@@ -45,7 +45,7 @@ collections {
                                        rel2 { relative: 1.0 0.0; to: "sw.list"; }
                                }
                        }
-                       swallow { "sw.counter"; scale;
+                       swallow { "sw.content"; scale;
                                desc { "default";
                                        min: 0 227;
                                        max: -1 227;
@@ -63,15 +63,15 @@ collections {
                                        min: 0 100;
                                        max: -1 100;
                                        align: 0.5 0.0;
-                                       rel1 { relative: 0.0 1.0; to: "sw.counter"; }
-                                       rel2 { relative: 1.0 1.0; to_x: "sw.counter"; }
+                                       rel1 { relative: 0.0 1.0; to: "sw.content"; }
+                                       rel2 { relative: 1.0 1.0; to_x: "sw.content"; }
                                }
                        }
                        swallow { "sw.subcounter"; scale;
                                desc { "default";
                                        min: 0 0;
                                        max: -1 120;
-                                       rel1 { relative: 0.0 1.0; to: "sw.counter"; }
+                                       rel1 { relative: 0.0 1.0; to: "sw.content"; }
                                }
                        }
                        swallow { "sw.list"; scale;
@@ -171,7 +171,7 @@ collections {
                                signal: "counter.expand";
                                source: "stopwatch";
                                action: STATE_SET "expanded" ;
-                               target: "sw.counter";
+                               target: "sw.content";
                        }
                        program {
                                signal: "menu.startup.show";
index 4381f8d..becca2c 100644 (file)
@@ -30,21 +30,31 @@ collections {
                                        color: 255 255 255 255;
                                }
                        }
-                       swallow { "sw.counter"; scale;
+                       swallow { "sw.content"; scale;
                                desc { "default";
                                        fixed: 1 1;
-                                       min: 620 227;
-                                       max: 620 227;
+                                       min: 620 204;
+                                       max: 620 204;
                                        rel1 { relative: 1.0 0.0; to_x: "pd.left"; }
                                        rel2 { relative: 0.0 0.0; to_x: "pd.right"; to_y: "pd.btn.bg"; }
-                                       hid;
                                }
-                               desc { "hidden";
-                                       inherit: "default";
+                       }
+                       spacer { "pd.content.top"; scale;
+                               desc { "default";
+                                       min: 0 4;
+                                       max: -1 4;
+                                       fixed: 0 1;
+                                       align: 0.5 1.0;
+                                       rel2 { relative: 1.0 0.0; to_y: "sw.content"; }
                                }
-                               desc { "visible";
-                                       inherit: "default";
-                                       vis;
+                       }
+                       spacer { "pd.content.bottom"; scale;
+                               desc { "default";
+                                       min: 0 4;
+                                       max: -1 4;
+                                       fixed: 0 1;
+                                       align: 0.5 0.0;
+                                       rel1 { relative: 0.0 1.0; to_y: "sw.content"; }
                                }
                        }
                        spacer { "pd.left"; scale;
@@ -72,21 +82,6 @@ collections {
                                        rel2 { relative: 1.0 0.0; to: "btn.bg"; }
                                }
                        }
-                       swallow { "sw.time.selector"; scale;
-                               source: "Time_selector";
-                               desc { "default";
-                                       max: 620 -1;
-                                       rel1 { relative: 1.0 0.0; to_x: "pd.left"; }
-                                       rel2 { relative: 0.0 0.0; to_x: "pd.right"; to_y: "pd.btn.bg"; }
-                               }
-                               desc { "hidden";
-                                       inherit: "default";
-                                       hid;
-                               }
-                               desc { "visible";
-                                       inherit: "default";
-                               }
-                       }
                        swallow { "sw.btn.start"; scale;
                                desc { "default";
                                        align: 0.5 0.5;
@@ -171,116 +166,22 @@ collections {
                                        vis;
                                }
                        }
-                       program {
-                               signal: "menu.startup.show";
-                               source: "timer";
-                               action: STATE_SET "default";
-                               target: "sw.btn.start";
-                               target: "sw.btn.reset";
-                               target: "sw.btn.pause";
-                               target: "sw.btn.resume";
-                               target: "sw.btn.cancel";
-                               target: "sw.counter";
-                               target: "sw.time.selector";
-                       }
-                       program {
-                               signal: "menu.running.show";
-                               source: "timer";
-                               script {
-                                       set_state(PART:"sw.btn.start", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.reset", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.resume", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.pause", "visible", 0.0);
-                                       set_state(PART:"sw.btn.cancel", "visible", 0.0);
-                                       set_state(PART:"sw.counter", "visible", 0.0);
-                                       set_state(PART:"sw.time.selector", "hidden", 0.0);
-                               }
-                       }
-                       program {
-                               signal: "menu.editing.show";
-                               source: "timer";
-                               script {
-                                       set_state(PART:"sw.btn.start", "contracted", 0.0);
-                                       set_state(PART:"sw.btn.reset", "visible", 0.0);
-                                       set_state(PART:"sw.btn.pause", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.resume", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.cancel", "hidden", 0.0);
-                                       set_state(PART:"sw.counter", "hidden", 0.0);
-                                       set_state(PART:"sw.time.selector", "visible", 0.0);
-                               }
-                       }
-                       program {
-                               signal: "menu.paused.show";
-                               source: "timer";
-                               script {
-                                       set_state(PART:"sw.btn.start", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.reset", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.pause", "hidden", 0.0);
-                                       set_state(PART:"sw.btn.resume", "visible", 0.0);
-                                       set_state(PART:"sw.btn.cancel", "visible", 0.0);
-                                       set_state(PART:"sw.counter", "visible", 0.0);
-                                       set_state(PART:"sw.time.selector", "hidden", 0.0);
-                               }
-                       }
-               }
-       }
-
-       group { "Time_selector";
-               parts {
-                       spacer { "pd.left"; scale;
+                       spacer { "pd.selector.left"; scale;
                                desc {
                                        fixed: 1 0;
-                                       min: 46 0;
-                                       max: 46 -1;
+                                       min: 18 0; //TODO value from guide does not fit
+                                       max: 18 -1;
                                        align: 0.0 0.5;
+                                       rel1 { to_x: "sw.content"; }
                                }
                        }
-                       spacer { "pd.right"; scale;
+                       spacer { "pd.selector.right"; scale;
                                desc {
                                        fixed: 1 0;
-                                       min: 46 0;
-                                       max: 46 -1;
-                                       align: 1.0 0.5;
-                               }
-                       }
-                       swallow { "sw.entry.hour"; scale;
-                               desc {
-                                       max: -1 204;
-                                       align: 0.5 0.5;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 0.3 1.0;
-                               }
-                       }
-                       textblock { scale;
-                               desc {
-                                       text.style: "ATO010";
-                                       text.text: ":";
-                                       rel1 { relative: 1.0 0.0; to: "sw.entry.hour"; }
-                                       rel2 { relative: 0.0 1.0; to: "sw.entry.minute"; }
-                               }
-                       }
-                       swallow { "sw.entry.minute"; scale;
-                               desc {
-                                       max: -1 204;
-                                       align: 0.5 0.5;
-                                       rel1.relative: 0.35 0.0;
-                                       rel2.relative: 0.65 1.0;
-                               }
-                       }
-                       textblock { scale;
-                               desc {
-                                       text.style: "ATO010";
-                                       text.text: ":";
-                                       rel1 { relative: 1.0 0.0; to: "sw.entry.minute"; }
-                                       rel2 { relative: 0.0 1.0; to: "sw.entry.second"; }
-                               }
-                       }
-                       swallow { "sw.entry.second"; scale;
-                               desc {
-                                       max: -1 204;
+                                       min: 18 0;
+                                       max: 18 -1;
                                        align: 1.0 0.5;
-                                       rel1.relative: 0.70 0.0;
-                                       rel2.relative: 1.0 1.0;
+                                       rel2 { to_x: "sw.content"; }
                                }
                        }
                        group { "btn.hour.inc"; scale;
@@ -290,8 +191,8 @@ collections {
                                        min: 146 76;
                                        max: 146 76;
                                        align: 0.0 1.0;
-                                       rel1 { relative: 1.0 0.0; to_x: "pd.left"; }
-                                       rel2 { relative: 1.0 0.0; to_y: "sw.entry.hour"; }
+                                       rel1 { relative: 1.0 0.0; to_x: "pd.selector.left"; }
+                                       rel2 { relative: 1.0 0.0; to_y: "pd.content.top"; }
                                }
                        }
                        group { "btn.minute.inc"; scale;
@@ -302,7 +203,11 @@ collections {
                                        max: 146 76;
                                        align: 0.5 1.0;
                                        rel1 { relative: 1.0 0.0; to_x: "btn.hour.inc"; }
-                                       rel2 { relative: 0.0 0.0; to_x: "btn.second.inc"; to_y: "sw.entry.minute"; }
+                                       rel2 {
+                                               relative: 0.0 0.0;
+                                               to_x: "btn.second.inc";
+                                               to_y: "pd.content.top";
+                                       }
                                }
                        }
                        group { "btn.second.inc"; scale;
@@ -312,7 +217,11 @@ collections {
                                        min: 146 76;
                                        max: 146 76;
                                        align: 1.0 1.0;
-                                       rel2 { relative: 0.0 0.0; to_x: "pd.right"; to_y: "sw.entry.second"; }
+                                       rel2 {
+                                               relative: 0.0 0.0;
+                                               to_x: "pd.selector.right";
+                                               to_y: "pd.content.top";
+                                       }
                                }
                        }
                        group { "btn.hour.dec"; scale;
@@ -322,7 +231,11 @@ collections {
                                        min: 146 76;
                                        max: 146 76;
                                        align: 0.0 0.0;
-                                       rel1 { relative: 1.0 1.0; to_x: "pd.left"; to_y: "sw.entry.hour"; }
+                                       rel1 {
+                                               relative: 1.0 1.0;
+                                               to_x: "pd.selector.left";
+                                               to_y: "pd.content.bottom";
+                                       }
                                }
                        }
                        group { "btn.minute.dec"; scale;
@@ -332,7 +245,11 @@ collections {
                                        min: 146 76;
                                        max: 146 76;
                                        align: 0.5 0.0;
-                                       rel1 { relative: 1.0 1.0; to_x: "btn.hour.dec"; to_y: "sw.entry.minute"; }
+                                       rel1 {
+                                               relative: 1.0 1.0;
+                                               to_x: "btn.hour.dec";
+                                               to_y: "pd.content.bottom";
+                                       }
                                        rel2 { relative: 0.0 1.0; to_x: "btn.second.dec"; }
                                }
                        }
@@ -343,8 +260,17 @@ collections {
                                        min: 146 76;
                                        max: 146 76;
                                        align: 1.0 0.0;
-                                       rel1 { relative: 0.0 1.0; to_y: "sw.entry.second"; }
-                                       rel2 { relative: 0.0 1.0; to_x: "pd.right"; }
+                                       rel1 { relative: 0.0 1.0; to_y: "pd.content.bottom"; }
+                                       rel2 { relative: 0.0 1.0; to_x: "pd.selector.right"; }
+                               }
+                       }
+                       spacer { "pd.time.desc"; scale;
+                               desc { "default";
+                                       min: 0 20+76;
+                                       max: -1 20+76;
+                                       fixed: 0 1;
+                                       align: 0.5 1.0;
+                                       rel2 { relative: 1.0 0.0; to: "pd.content.top"; }
                                }
                        }
                        textblock { "txt.hours"; scale;
@@ -354,12 +280,24 @@ collections {
                                        max: 146 42;
                                        align: 0.5 1.0;
                                        rel1.to_x: "btn.hour.inc";
-                                       rel2 { relative: 1.0 0.0; to: "btn.hour.inc";}
+                                       rel2 {
+                                               relative: 1.0 0.0;
+                                               to_x: "btn.hour.inc";
+                                               to_y: "pd.time.desc";
+                                       }
                                        text {
                                                style: "ATO009";
                                                text: "Hours";
                                        }
                                }
+                               desc { "contracted";
+                                       inherit: "default";
+                                       rel2 {
+                                               relative: 1.0 0.0;
+                                               to_x: "btn.hour.inc";
+                                               to_y: "pd.content.top";
+                                       }
+                               }
                        }
                        textblock { "txt.minutes"; scale;
                                desc { "default";
@@ -368,12 +306,24 @@ collections {
                                        max: 146 42;
                                        align: 0.5 1.0;
                                        rel1.to_x: "btn.minute.inc";
-                                       rel2 { relative: 1.0 0.0; to: "btn.minute.inc";}
+                                       rel2 {
+                                               relative: 1.0 0.0;
+                                               to_x: "btn.minute.inc";
+                                               to_y: "pd.time.desc";
+                                       }
                                        text {
                                                style: "ATO009";
                                                text: "Minutes";
                                        }
                                }
+                               desc { "contracted";
+                                       inherit: "default";
+                                       rel2 {
+                                               relative: 1.0 0.0;
+                                               to_x: "btn.minute.inc";
+                                               to_y: "pd.content.top";
+                                       }
+                               }
                        }
                        textblock { "txt.seconds"; scale;
                                desc { "default";
@@ -382,12 +332,121 @@ collections {
                                        max: 146 42;
                                        align: 0.5 1.0;
                                        rel1.to_x: "btn.second.inc";
-                                       rel2 { relative: 1.0 0.0; to: "btn.second.inc";}
+                                       rel2 {
+                                               relative: 1.0 0.0;
+                                               to_x: "btn.second.inc";
+                                               to_y: "pd.time.desc";
+                                       }
                                        text {
                                                style: "ATO009";
                                                text: "Seconds";
                                        }
                                }
+                               desc { "contracted";
+                                       inherit: "default";
+                                       rel2 {
+                                               relative: 1.0 0.0;
+                                               to_x: "btn.second.inc";
+                                               to_y: "pd.content.top";
+                                       }
+                               }
+                       }
+                       program {
+                               signal: "menu.startup.show";
+                               source: "timer";
+                               action: STATE_SET "default";
+                               target: "sw.btn.start";
+                               target: "sw.btn.reset";
+                               target: "sw.btn.pause";
+                               target: "sw.btn.resume";
+                               target: "sw.btn.cancel";
+                               target: "txt.hours";
+                               target: "txt.minutes";
+                               target: "txt.seconds";
+                       }
+                       program {
+                               signal: "menu.running.show";
+                               source: "timer";
+                               script {
+                                       set_state(PART:"sw.btn.start", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.reset", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.resume", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.pause", "visible", 0.0);
+                                       set_state(PART:"sw.btn.cancel", "visible", 0.0);
+                                       set_state(PART:"txt.hours", "contracted", 0.0);
+                                       set_state(PART:"txt.minutes", "contracted", 0.0);
+                                       set_state(PART:"txt.seconds", "contracted", 0.0);
+                               }
+                       }
+                       program {
+                               signal: "menu.editing.show";
+                               source: "timer";
+                               script {
+                                       set_state(PART:"sw.btn.start", "contracted", 0.0);
+                                       set_state(PART:"sw.btn.reset", "visible", 0.0);
+                                       set_state(PART:"sw.btn.pause", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.resume", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.cancel", "hidden", 0.0);
+                                       set_state(PART:"txt.hours", "default", 0.0);
+                                       set_state(PART:"txt.minutes", "default", 0.0);
+                                       set_state(PART:"txt.seconds", "default", 0.0);
+                               }
+                       }
+                       program {
+                               signal: "menu.paused.show";
+                               source: "timer";
+                               script {
+                                       set_state(PART:"sw.btn.start", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.reset", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.pause", "hidden", 0.0);
+                                       set_state(PART:"sw.btn.resume", "visible", 0.0);
+                                       set_state(PART:"sw.btn.cancel", "visible", 0.0);
+                               }
+                       }
+               }
+       }
+
+       group { "Time_selector";
+               parts {
+                       swallow { "sw.entry.hour"; scale;
+                               desc {
+                                       max: -1 204;
+                                       align: 0.5 0.5;
+                                       rel1.relative: 0.0 0.0;
+                                       rel2.relative: 0.3 1.0;
+                               }
+                       }
+                       textblock { scale;
+                               desc {
+                                       text.style: "ATO010";
+                                       text.text: ":";
+                                       rel1 { relative: 1.0 0.0; to: "sw.entry.hour"; }
+                                       rel2 { relative: 0.0 1.0; to: "sw.entry.minute"; }
+                               }
+                       }
+                       swallow { "sw.entry.minute"; scale;
+                               desc {
+                                       max: -1 204;
+                                       align: 0.5 0.5;
+                                       rel1.relative: 0.35 0.0;
+                                       rel2.relative: 0.65 1.0;
+                               }
+                       }
+                       textblock { scale;
+                               desc {
+                                       text.style: "ATO010";
+                                       text.text: ":";
+                                       rel1 { relative: 1.0 0.0; to: "sw.entry.minute"; }
+                                       rel2 { relative: 0.0 1.0; to: "sw.entry.second"; }
+                               }
+                       }
+                       swallow { "sw.entry.second"; scale;
+                               desc {
+                                       max: -1 204;
+                                       align: 1.0 0.5;
+                                       rel1.relative: 0.70 0.0;
+                                       rel2.relative: 1.0 1.0;
+                               }
                        }
                }
        }
@@ -400,6 +459,10 @@ collections {
                                        image.normal: "alarm_picker_arrow_up.png";
                                        color: 250 250 250 60;
                                }
+                               desc { "hidden";
+                                       inherit: "default";
+                                       hid;
+                               }
                        }
                        image { "btn.bg"; scale;
                                desc { "default";
@@ -423,6 +486,10 @@ collections {
                                desc { "contracted";
                                        inherit: "pressed";
                                }
+                               desc { "hidden";
+                                       inherit: "default";
+                                       hid;
+                               }
                        }
                        program {
                                signal: "mouse,clicked,*";
@@ -455,6 +522,22 @@ collections {
                                action: STATE_SET "default";
                                target: "btn.bg";
                        }
+                       program {
+                               name: "arrow.btn.hide";
+                               signal: "arrow.btn.hide";
+                               source: "timer";
+                               action: STATE_SET "hidden";
+                               target: "btn.bg";
+                               target: "btn.arrow.up";
+                       }
+                       program {
+                               name: "arrow.btn.show";
+                               signal: "arrow.btn.show";
+                               source: "timer";
+                               action: STATE_SET "default";
+                               target: "btn.bg";
+                               target: "btn.arrow.up";
+                       }
                }
        }
 
@@ -466,6 +549,10 @@ collections {
                                        image.normal: "alarm_picker_arrow_down.png";
                                        color: 250 250 250 60;
                                }
+                               desc { "hidden";
+                                       inherit: "default";
+                                       hid;
+                               }
                        }
                        image { "btn.bg"; scale;
                                desc { "default";
@@ -489,6 +576,10 @@ collections {
                                desc { "contracted";
                                        inherit: "pressed";
                                }
+                               desc { "hidden";
+                                       inherit: "default";
+                                       hid;
+                               }
                        }
                        program {
                                signal: "mouse,clicked,*";
@@ -521,6 +612,22 @@ collections {
                                action: STATE_SET "default";
                                target: "btn.bg";
                        }
+                       program {
+                               name: "arrow.btn.hide";
+                               signal: "arrow.btn.hide";
+                               source: "timer";
+                               action: STATE_SET "hidden";
+                               target: "btn.bg";
+                               target: "btn.arrow.down";
+                       }
+                       program {
+                               name: "arrow.btn.show";
+                               signal: "arrow.btn.show";
+                               source: "timer";
+                               action: STATE_SET "default";
+                               target: "btn.bg";
+                               target: "btn.arrow.down";
+                       }
                }
        }
 }
index 7617752..50399ed 100644 (file)
@@ -35,7 +35,7 @@ const char *CounterView::GROUP_SIMPLE = "Counter.simple";
 const char *CounterView::GROUP_SIMPLE_EXPANDED = "Counter.simple.expanded";
 const char *CounterView::GROUP_TIMER = "Counter.timer";
 
-CounterView::CounterView(ui::IView &parent, CounterType type)
+CounterView::CounterView(ui::IView &parent, CounterType type) : layout_(NULL)
 {
        Evas_Object *parentEo = parent.GetEvasObject();
 
@@ -50,16 +50,7 @@ CounterView::CounterView(ui::IView &parent, CounterType type)
        evas_object_size_hint_weight_set(layout_, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(layout_, EVAS_HINT_FILL, EVAS_HINT_FILL);
 
-       if (type == CounterType::COUNTER_TYPE_SIMPLE)
-               elm_object_part_content_set(parentEo, "sw.lap.counter", layout_);
-       else
-               elm_object_part_content_set(parentEo, "sw.counter", layout_);
-
-       evas_object_show(layout_);
-
        Reset();
-
-       visible_ = true;
 }
 
 CounterView::~CounterView()
@@ -175,23 +166,13 @@ void CounterView::Contract()
 
 void CounterView::Show()
 {
-       if (!IsVisible()) {
-               elm_object_signal_emit(layout_, "counter,set,visible", "counter");
-               visible_ = true;
-       }
+       elm_object_signal_emit(layout_, "counter,set,visible", "counter");
 }
 
 void CounterView::Hide()
 {
-       if (IsVisible()) {
-               elm_object_signal_emit(layout_, "counter,set,hidden", "counter");
-               visible_ = false;
-       }
+       elm_object_signal_emit(layout_, "counter,set,hidden", "counter");
 }
 
-bool CounterView::IsVisible()
-{
-       return visible_;
-}
 
 } //namespace view
index 311c08a..db087a8 100644 (file)
@@ -52,6 +52,9 @@ StopWatchView::StopWatchView()
        main_counter_ = new CounterView(*this);
        lap_counter_ = new CounterView(*this, CounterType::COUNTER_TYPE_SIMPLE);
 
+       elm_object_part_content_set(layout_, "sw.content", main_counter_->GetEvasObject());
+       elm_object_part_content_set(layout_, "sw.lap.counter", lap_counter_->GetEvasObject());
+
        ShowStartupMenu();
 }
 
@@ -100,6 +103,7 @@ void StopWatchView::ShowStartupMenu()
 {
        main_counter_->Reset();
        main_counter_->Contract();
+       main_counter_->Show();
        lap_counter_->Reset();
        lap_counter_->Hide();
 
@@ -228,8 +232,7 @@ void StopWatchView::AddLap(const char *no, const char *splitTime, const char *la
                        NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
        elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_TOP);
 
-       if (!lap_counter_->IsVisible())
-               lap_counter_->Show();
+       lap_counter_->Show();
 }
 
 char *StopWatchView::GetListText(void *data, Evas_Object *obj, const char *part)
index 83f2374..ca295db 100644 (file)
@@ -49,9 +49,11 @@ TimerView::TimerView() : set_time_()
        evas_object_size_hint_align_set(layout_, EVAS_HINT_FILL, EVAS_HINT_FILL);
 
        CreateMenuButtons();
+       counter_ = new CounterView(*this, CounterType::COUNTER_TYPE_TIMER);
+
        CreateSelector();
 
-       counter_ = new CounterView(*this, CounterType::COUNTER_TYPE_TIMER);
+       ShowStartupMenu();
 }
 
 TimerView::~TimerView()
@@ -179,18 +181,15 @@ void TimerView::CreateSelector()
        if (!elm_layout_file_set(selector_, GetEdjeFilePath(), "Time_selector"))
                return;
 
-       elm_object_part_content_set(layout_, "sw.time.selector", selector_);
-
        CreateEntries(selector_);
 
-       elm_object_signal_callback_add(selector_, "btn,clicked", "btn.hour.inc:", ButtonClickedCb, this);
-       elm_object_signal_callback_add(selector_, "btn,clicked", "btn.minute.inc:", ButtonClickedCb, this);
-       elm_object_signal_callback_add(selector_, "btn,clicked", "btn.second.inc:", ButtonClickedCb, this);
-
-       elm_object_signal_callback_add(selector_, "btn,clicked", "btn.hour.dec:", ButtonClickedCb, this);
-       elm_object_signal_callback_add(selector_, "btn,clicked", "btn.minute.dec:", ButtonClickedCb, this);
-       elm_object_signal_callback_add(selector_, "btn,clicked", "btn.second.dec:", ButtonClickedCb, this);
+       elm_object_signal_callback_add(layout_, "btn,clicked", "btn.hour.inc:", ButtonClickedCb, this);
+       elm_object_signal_callback_add(layout_, "btn,clicked", "btn.minute.inc:", ButtonClickedCb, this);
+       elm_object_signal_callback_add(layout_, "btn,clicked", "btn.second.inc:", ButtonClickedCb, this);
 
+       elm_object_signal_callback_add(layout_, "btn,clicked", "btn.hour.dec:", ButtonClickedCb, this);
+       elm_object_signal_callback_add(layout_, "btn,clicked", "btn.minute.dec:", ButtonClickedCb, this);
+       elm_object_signal_callback_add(layout_, "btn,clicked", "btn.second.dec:", ButtonClickedCb, this);
 }
 
 void TimerView::CreateEntries(Evas_Object *parent)
@@ -324,9 +323,14 @@ void TimerView::ShowStartupMenu(void)
        if (!layout_)
                return;
 
-       counter_->DisplayTime(set_time_.Hour, set_time_.Min, set_time_.Sec);
+       Evas_Object *content = elm_object_part_content_unset(layout_, "sw.content");
+       if (content)
+               evas_object_hide(content);
 
+       if (selector_)
+               elm_object_part_content_set(layout_, "sw.content", selector_);
        elm_object_signal_emit(layout_, "menu.startup.show", "timer");
+       elm_object_signal_emit(layout_, "arrow.btn.show", "timer");
 }
 
 void TimerView::ShowRunningMenu(void)
@@ -334,6 +338,14 @@ void TimerView::ShowRunningMenu(void)
        if (!layout_)
                return;
 
+       Evas_Object *content = elm_object_part_content_unset(layout_, "sw.content");
+       if (content)
+               evas_object_hide(content);
+
+       if (counter_->GetEvasObject())
+               elm_object_part_content_set(layout_, "sw.content", counter_->GetEvasObject());
+
+       elm_object_signal_emit(layout_, "arrow.btn.hide", "timer");
        elm_object_signal_emit(layout_, "menu.running.show", "timer");
 }
 
@@ -404,8 +416,6 @@ void TimerView::StartButtonClicked(void *data, Evas_Object *obj, void *event_inf
        TimerView *object = static_cast<TimerView *>(data);
 
        object->EmitSignal(TimerSignal::BUTTON_START_CLICKED);
-
-       elm_object_signal_emit(object->layout_, "menu.running.show", "timer");
 }
 
 void TimerView::PauseButtonClicked(void *data, Evas_Object *obj, void *event_info)
@@ -413,8 +423,6 @@ void TimerView::PauseButtonClicked(void *data, Evas_Object *obj, void *event_inf
        TimerView *object = static_cast<TimerView *>(data);
 
        object->EmitSignal(TimerSignal::BUTTON_PAUSE_CLICKED);
-
-       elm_object_signal_emit(object->layout_, "menu.paused.show", "timer");
 }
 
 void TimerView::CancelButtonClicked(void *data, Evas_Object *obj, void *event_info)
@@ -422,8 +430,6 @@ void TimerView::CancelButtonClicked(void *data, Evas_Object *obj, void *event_in
        TimerView *object = static_cast<TimerView *>(data);
 
        object->EmitSignal(TimerSignal::BUTTON_CANCEL_CLICKED);
-
-       elm_object_signal_emit(object->layout_, "menu.startup.show", "timer");
 }
 
 void TimerView::ResumeButtonClicked(void *data, Evas_Object *obj, void *event_info)
@@ -431,8 +437,6 @@ void TimerView::ResumeButtonClicked(void *data, Evas_Object *obj, void *event_in
        TimerView *object = static_cast<TimerView *>(data);
 
        object->EmitSignal(TimerSignal::BUTTON_RESUME_CLICKED);
-
-       elm_object_signal_emit(object->layout_, "menu.running.show", "timer");
 }
 
 void TimerView::ResetButtonClicked(void *data, Evas_Object *obj, void *event_info)