tvplanit: Keep start-to-end-time interval when start time is changed by TimeDialog in event editor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6516 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-06-20 21:13:53 +00:00
parent 98d7c7e56c
commit ecb135c238
2 changed files with 22 additions and 5 deletions

View File

@ -675,7 +675,6 @@ object DlgEventEdit: TDlgEventEdit
OnClick = IntervalUpDownClick
Position = 0
TabOrder = 10
Wrap = False
end
object ImgAlarm: TImage
AnchorSideLeft.Control = AppointmentGroupBox
@ -805,7 +804,6 @@ object DlgEventEdit: TDlgEventEdit
OnClick = AdvanceUpDownClick
Position = 1
TabOrder = 14
Wrap = False
end
object AlarmAdvanceType: TComboBox
AnchorSideLeft.Control = AdvanceUpDown

View File

@ -138,6 +138,10 @@ type
FDatastore: TVpCustomDatastore;
AAVerifying: Boolean;
CIVerifying: Boolean;
{$IFDEF NEW_TIME_EDIT}
procedure AcceptStartTimeHandler(Sender: TObject; var ATime: TDateTime;
var AcceptTime: Boolean);
{$ENDIF}
procedure PopLists;
procedure PositionControls;
procedure LoadCaptions;
@ -151,15 +155,15 @@ type
CatColorMap: TVpCategoryColorMap;
Resource: TVpResource;
ReturnCode: TEventEditDlgRtnType;
Conflicts : Integer;
Conflicts: Integer;
TimeFormat: TVpTimeFormat;
AlarmWavPath: string;
FLastEndTime : TDateTime;
FLastEndTime: TDateTime;
procedure PopulateDialog;
procedure DePopulateDialog;
end;
TVpEventEditDialog = class(TVpBaseDialog)
protected {private}
ceEditDlg: TDlgEventEdit;
@ -212,10 +216,25 @@ end;
{ TDlgEventEdit }
{$IFDEF NEW_TIME_EDIT}
procedure TDlgEventEdit.AcceptStartTimeHandler(Sender: TObject;
var ATime: TDateTime; var AcceptTime: Boolean);
var
dt: TDateTime;
enddt: TDateTime;
begin
dt := EndDate.Date + EndTime.Time - StartDate.Date - StartTime.Time;
enddt := StartDate.Date + ATime + dt;
EndDate.Date := trunc(enddt);
EndTime.Time := frac(enddt);
end;
{$ENDIF}
procedure TDlgEventEdit.FormCreate(Sender: TObject);
begin
{$IFDEF NEW_TIME_EDIT}
StartTime := TTimeEdit.Create(self);
StartTime.OnAcceptTime := AcceptStartTimeHandler;
{$ELSE}
StartTime := TCombobox.Create(self);
StartTime.ItemIndex := -1;