Skip to content

Commit b0d50c3

Browse files
authored
Merge pull request #16 from GeraldJansen/fix-date-adjustment
Fix date adjustment from edit window.
2 parents 8094632 + a48cda3 commit b0d50c3

2 files changed

Lines changed: 23 additions & 14 deletions

File tree

NEWS.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
=============
2+
Version 0.1.3
3+
=============
4+
* Fixed bug in date adustment from edit window.
5+
16
=============
27
Version 0.1.2
38
=============

src/hamster_lite/edit_activity.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -202,18 +202,22 @@ def on_end_time_changed(self, widget):
202202

203203
def on_start_date_changed(self, widget):
204204
if not self.master_is_cmdline:
205-
if self.fact.start_time:
206-
previous_date = self.fact.start_time.date()
207-
new_date = self.start_date.date
208-
delta = new_date - previous_date
209-
self.fact.start_time += delta
210-
if self.fact.end_time:
211-
# preserve fact duration
212-
self.fact.end_time += delta
213-
self.end_date.date = self.fact.end_time
214-
self.date = self.fact.date or hamster_today()
215-
self.validate_fields()
216-
self.update_cmdline()
205+
new_date = self.start_date.date
206+
self.change_start_date(new_date)
207+
208+
def change_start_date(self, new_date):
209+
if self.fact.start_time:
210+
previous_date = self.fact.start_time.date()
211+
new_date = self.start_date.date
212+
delta = new_date - previous_date
213+
self.fact.start_time += delta
214+
if self.fact.end_time:
215+
# preserve fact duration
216+
self.fact.end_time += delta
217+
self.end_date.date = self.fact.end_time
218+
self.date = self.fact.date or hamster_today()
219+
self.validate_fields()
220+
self.update_cmdline()
217221

218222
def on_start_date_expander_activated(self, widget):
219223
# state has not changed yet, toggle also end_date calendar visibility
@@ -261,8 +265,8 @@ def update_fields(self):
261265
self.start_time.time = self.fact.start_time
262266
self.end_time.time = self.fact.end_time
263267
self.end_time.set_start_time(self.fact.start_time)
264-
self.start_date.date = self.fact.start_time
265-
self.end_date.date = self.fact.end_time
268+
self.start_date.date = self.fact.date or self.date
269+
self.end_date.date = self.fact.date or self.date
266270
self.activity_entry.set_text(self.fact.activity)
267271
self.category_entry.set_text(self.fact.category)
268272
self.description_buffer.set_text(self.fact.description)

0 commit comments

Comments
 (0)