elementaryart team mailing list archive
-
elementaryart team
-
Mailing list archive
-
Message #02165
[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