Merge lp:~tintou/granite/timepicker into lp:~elementary-pantheon/granite/granite

Proposed by Corentin Noël
Status: Merged
Merged at revision: 286
Proposed branch: lp:~tintou/granite/timepicker
Merge into: lp:~elementary-pantheon/granite/granite
Diff against target: 94 lines (+38/-16)
1 file modified
lib/Widgets/TimePicker.vala (+38/-16)
To merge this branch: bzr merge lp:~tintou/granite/timepicker
Reviewer Review Type Date Requested Status
elementary Pantheon team Pending
Review via email: mp+111839@code.launchpad.net

Description of the change

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)

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/Widgets/TimePicker.vala'
2--- lib/Widgets/TimePicker.vala 2012-06-04 20:38:05 +0000
3+++ lib/Widgets/TimePicker.vala 2012-06-25 13:19:22 +0000
4@@ -29,10 +29,26 @@
5 public DateTime time {
6 get { return _time; }
7 set {
8- _time = value;
9+ if (_time.get_minute () != value.get_minute ())
10+ _time = normalize_time (value);
11+ else
12+ _time = value;
13 text = _time.format (format);
14 }
15 }
16+
17+ private GLib.DateTime normalize_time (GLib.DateTime given_to_normalize_time) {
18+ GLib.DateTime to_normalize_time = given_to_normalize_time;
19+ int rest = to_normalize_time.get_minute ();
20+ rest = (rest - (((int)(rest*0.1f))*10));
21+ if ( rest < 5) {
22+ to_normalize_time = to_normalize_time.add_minutes (-rest);
23+ }
24+ else {
25+ to_normalize_time = to_normalize_time.add_minutes (5-rest);
26+ }
27+ return to_normalize_time;
28+ }
29
30 public string format { get; construct; default = _("%l:%M %p"); }
31
32@@ -84,6 +100,8 @@
33 */
34 construct {
35
36+ _time = normalize_time (_time);
37+
38 // EventBox properties
39 events |= Gdk.EventMask.POINTER_MOTION_MASK
40 | Gdk.EventMask.BUTTON_PRESS_MASK
41@@ -121,19 +139,32 @@
42 public TimePicker.with_format (string format) {
43 Object (format: format);
44 }
45-
46+
47 protected void hours_left_clicked () {
48+ time = time.add_hours (-1);
49+ text = time.format (format);
50+ time_changed ();
51+ }
52+
53+ protected void hours_right_clicked () {
54+
55 time = time.add_hours (1);
56 text = time.format (format);
57 time_changed ();
58 }
59- protected void hours_right_clicked () {
60- time = time.add_hours (-1);
61- text = time.format (format);
62- time_changed ();
63- }
64+
65 protected void minutes_left_clicked () {
66
67+ time = time.add_minutes (-5);
68+ if (time.get_minute () >= 55) {
69+ time = time.add_hours (+1);
70+ }
71+ text = time.format (format);
72+ time_changed ();
73+ }
74+
75+ protected void minutes_right_clicked () {
76+
77 time = time.add_minutes (5);
78 if (time.get_minute () < 5) {
79 time = time.add_hours (-1);
80@@ -141,15 +172,6 @@
81 text = time.format (format);
82 time_changed ();
83 }
84- protected void minutes_right_clicked () {
85-
86- time = time.add_minutes (-5);
87- if (time.get_minute () >= 55) {
88- time = time.add_hours (+1);
89- }
90- text = time.format (format);
91- time_changed ();
92- }
93
94 protected override bool button_press_event (Gdk.EventButton event) {
95

Subscribers

People subscribed via source and target branches