← Back to team overview

elementaryart team mailing list archive

[Merge] lp:~tintou/granite/timepicker into lp:granite

 

Corentin Noël has proposed merging lp:~tintou/granite/timepicker into lp:granite.

Requested reviews:
  elementary Pantheon team (elementary-pantheon)

For more details, see:
https://code.launchpad.net/~tintou/granite/timepicker/+merge/111839

There is two fixes for the timepicker :
* check and round minutes to #5 or #0 (because the timepicker makes a +5)
* changed the way to increase (now clicking on left decrease and on right increase)
-- 
https://code.launchpad.net/~tintou/granite/timepicker/+merge/111839
Your team elementaryart (old) is subscribed to branch lp:granite.
=== modified file 'lib/Widgets/TimePicker.vala'
--- lib/Widgets/TimePicker.vala	2012-06-04 20:38:05 +0000
+++ lib/Widgets/TimePicker.vala	2012-06-25 13:19:22 +0000
@@ -29,10 +29,26 @@
         public DateTime time {
             get { return _time; }
             set {
-                _time = value;
+                if (_time.get_minute () != value.get_minute ())
+                    _time = normalize_time (value);
+                else
+                    _time = value;
                 text = _time.format (format);
             }
         }
+        
+        private GLib.DateTime normalize_time (GLib.DateTime given_to_normalize_time) {
+            GLib.DateTime to_normalize_time = given_to_normalize_time;
+            int rest = to_normalize_time.get_minute ();
+            rest = (rest - (((int)(rest*0.1f))*10));
+            if ( rest < 5) {
+                to_normalize_time = to_normalize_time.add_minutes (-rest);
+            }
+            else {
+                to_normalize_time = to_normalize_time.add_minutes (5-rest);
+            }
+            return to_normalize_time;
+        }
 
         public string format { get; construct; default = _("%l:%M %p"); }
 
@@ -84,6 +100,8 @@
          */
         construct {
         
+            _time = normalize_time (_time);
+            
             // EventBox properties
             events |= Gdk.EventMask.POINTER_MOTION_MASK
                    |  Gdk.EventMask.BUTTON_PRESS_MASK
@@ -121,19 +139,32 @@
         public TimePicker.with_format (string format) {
             Object (format: format);
         }
-        
+
         protected void hours_left_clicked () {
+            time = time.add_hours (-1);
+            text = time.format (format);
+            time_changed ();
+        }
+
+        protected void hours_right_clicked () {
+        
             time = time.add_hours (1);
             text = time.format (format);
             time_changed ();
         }
-        protected void hours_right_clicked () {
-            time = time.add_hours (-1);
-            text = time.format (format);
-            time_changed ();
-        }
+
         protected void minutes_left_clicked () {
         
+            time = time.add_minutes (-5);
+            if (time.get_minute () >= 55) {
+                time = time.add_hours (+1);
+            }
+            text = time.format (format);
+            time_changed ();
+        }
+
+        protected void minutes_right_clicked () {
+        
             time = time.add_minutes (5);
             if (time.get_minute () < 5) {
                 time = time.add_hours (-1);
@@ -141,15 +172,6 @@
             text = time.format (format);
             time_changed ();
         }
-        protected void minutes_right_clicked () {
-        
-            time = time.add_minutes (-5);
-            if (time.get_minute () >= 55) {
-                time = time.add_hours (+1);
-            }
-            text = time.format (format);
-            time_changed ();
-        }
 
         protected override bool button_press_event (Gdk.EventButton event) {
         


Follow ups