From b8bcf2d6b6128e47344276a823ebae3fda7617c1 Mon Sep 17 00:00:00 2001 From: Chris Frey Date: Thu, 5 Apr 2012 16:07:11 -0400 Subject: [PATCH] desktop: TaskEditDlg: make dates recent, when enabled User should not have to start scrolling from 1969 when entering a new due date or reminder date. --- desktop/src/TaskEditDlg.cc | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/desktop/src/TaskEditDlg.cc b/desktop/src/TaskEditDlg.cc index 85fbdd2e..05f7ce4a 100644 --- a/desktop/src/TaskEditDlg.cc +++ b/desktop/src/TaskEditDlg.cc @@ -32,6 +32,22 @@ using namespace Barry; ////////////////////////////////////////////////////////////////////////////// +// Helper functions + +void MakeRecent(wxCheckBox *check, wxDatePickerCtrl *picker) +{ + wxDateTime when = picker->GetValue(); + if( check->IsChecked() && + (!when.IsValid() || + when < wxDateTime(1, wxDateTime::Jan, 1975, 0, 0, 0)) ) + { + when = wxDateTime::Now(); + picker->SetValue(when); + } +} + + +////////////////////////////////////////////////////////////////////////////// // TaskEditDlg class TaskEditDlg::TaskEditDlg(wxWindow* parent, @@ -170,6 +186,10 @@ END_EVENT_TABLE(); void TaskEditDlg::OnDueCheck(wxCommandEvent &event) { EnableDueDate(m_DueCheck->IsChecked()); + + // make sure the first date is in a recent range, if not previously + // valid... + MakeRecent(m_DueCheck, m_DueDateCtrl); } void TaskEditDlg::OnRecurrenceChoice(wxCommandEvent &event) @@ -186,6 +206,10 @@ void TaskEditDlg::OnEndDateCheckbox(wxCommandEvent &event) void TaskEditDlg::OnReminderCheck(wxCommandEvent &event) { EnableReminderDate(m_ReminderCheck->IsChecked()); + + // make sure the first date is in a recent range, if not previously + // valid... + MakeRecent(m_ReminderCheck, m_ReminderDateCtrl); } void TaskEditDlg::set_properties() -- 2.11.4.GIT