You've already forked lazarus-ccr
tvplanit: Cosmetic changes in DayView
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4779 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -401,6 +401,10 @@ msgstr "Standard-Klang verwenden"
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: vpsr.rsdeletecontactfromschedule
|
||||
msgid "Delete contact %s from your schedule?"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsdescriptionlbl
|
||||
msgctxt "vpsr.rsdescriptionlbl"
|
||||
msgid "Subject:"
|
||||
@ -1368,3 +1372,4 @@ msgstr "Unbekannte Achsen-Spezifikation: %s"
|
||||
#: vpsr.sxmldecnotatbeg
|
||||
msgid "The XML declaration must appear before the first element"
|
||||
msgstr "Die XML-Deklaration muss vor dem ersten Element erscheinen."
|
||||
|
||||
|
@ -391,6 +391,10 @@ msgstr ""
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsdeletecontactfromschedule
|
||||
msgid "Delete contact %s from your schedule?"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsdescriptionlbl
|
||||
msgctxt "vpsr.rsdescriptionlbl"
|
||||
msgid "Subject:"
|
||||
|
@ -98,23 +98,18 @@ type
|
||||
Show: Boolean;
|
||||
Bitmap: TBitmap;
|
||||
end;
|
||||
|
||||
TVpDVIconTypes = (itAlarm, itRecurring, itCategory, itCustom);
|
||||
|
||||
TVpDVIcons = array [itAlarm..itCustom] of TVpDVIconData;
|
||||
|
||||
TVpOnDVBeforeDrawEvent = procedure (Sender : TObject;
|
||||
Event : TVpEvent;
|
||||
Active : Boolean;
|
||||
ACanvas : TCanvas;
|
||||
EventRect : TRect;
|
||||
IconRect : TRect) of object;
|
||||
TVpOnDVAfterDrawEvent = procedure (Sender : TObject;
|
||||
Event : TVpEvent;
|
||||
Active : Boolean;
|
||||
ACanvas : TCanvas;
|
||||
EventRect : TRect;
|
||||
IconRect : TRect) of object;
|
||||
TVpOnDVDrawIcons = procedure (Sender : TObject;
|
||||
Event : TVpEvent;
|
||||
TVpOnDVBeforeDrawEvent = procedure (Sender: TObject; Event: TVpEvent;
|
||||
Active: Boolean; ACanvas: TCanvas; EventRect: TRect; IconRect: TRect) of object;
|
||||
|
||||
TVpOnDVAfterDrawEvent = procedure (Sender: TObject; Event: TVpEvent;
|
||||
Active: Boolean; ACanvas: TCanvas; EventRect: TRect; IconRect: TRect) of object;
|
||||
|
||||
TVpOnDVDrawIcons = procedure (Sender: TObject; Event: TVpEvent;
|
||||
var Icons: TVpDVIcons) of object;
|
||||
|
||||
TVpDVWrapStyle = (wsNone, wsIconFlow, wsNoFlow);
|
||||
@ -221,14 +216,11 @@ type
|
||||
property RecurringBitmap: TBitmap
|
||||
read FRecurringBitmap write SetRecurringBitmap;
|
||||
property ShowAlarmBitmap: Boolean
|
||||
read FShowAlarmBitmap write SetShowAlarmBitmap
|
||||
default True;
|
||||
read FShowAlarmBitmap write SetShowAlarmBitmap default True;
|
||||
property ShowCategoryBitmap : Boolean
|
||||
read FShowCategoryBitmap write SetShowCategoryBitmap
|
||||
default True;
|
||||
read FShowCategoryBitmap write SetShowCategoryBitmap default True;
|
||||
property ShowRecurringBitmap : Boolean
|
||||
read FShowRecurringBitmap write SetShowRecurringBitmap
|
||||
default True;
|
||||
read FShowRecurringBitmap write SetShowRecurringBitmap default True;
|
||||
end;
|
||||
|
||||
{ TVpDayView }
|
||||
@ -344,12 +336,8 @@ type
|
||||
{$ENDIF}
|
||||
{ internal methods }
|
||||
function dvCalcRowHeight(Scale: Extended; UseGran: TVpGranularity): Integer;
|
||||
function dvCalcVisibleLines (RenderHeight : Integer;
|
||||
ColHeadHeight : Integer;
|
||||
RowHeight : Integer;
|
||||
Scale : Extended;
|
||||
StartLine : Integer;
|
||||
StopLine : Integer) : Integer;
|
||||
function dvCalcVisibleLines(RenderHeight, ColHeadHeight, RowHeight: Integer;
|
||||
Scale: Extended; StartLine, StopLine: Integer): Integer;
|
||||
function dvCalcColHeadHeight(Scale: Extended): Integer;
|
||||
procedure dvEditInPlace(Sender: TObject);
|
||||
procedure dvHookUp;
|
||||
@ -423,29 +411,14 @@ type
|
||||
procedure EditSelectedEvent;
|
||||
|
||||
function GetControlType: TVpItemType; override;
|
||||
procedure AutoScaledPaintToCanvas (PaintCanvas : TCanvas;
|
||||
PaintTo : TRect;
|
||||
Angle : TVpRotationAngle;
|
||||
RenderDate : TDateTime;
|
||||
StartLine : Integer;
|
||||
StopLine : Integer;
|
||||
procedure AutoScaledPaintToCanvas(PaintCanvas: TCanvas; PaintTo: TRect;
|
||||
Angle: TVpRotationAngle; RenderDate: TDateTime; StartLine, StopLine: Integer;
|
||||
UseGran: TVpGranularity);
|
||||
procedure PaintToCanvas (ACanvas : TCanvas;
|
||||
ARect : TRect;
|
||||
Angle : TVpRotationAngle;
|
||||
ADate : TDateTime;
|
||||
StartHour : TVpHours;
|
||||
EndHour : TVpHours;
|
||||
UseGran : TVpGranularity);
|
||||
procedure RenderToCanvas (RenderCanvas : TCanvas;
|
||||
RenderIn : TRect;
|
||||
Angle : TVpRotationAngle;
|
||||
Scale : Extended;
|
||||
RenderDate : TDateTime;
|
||||
StartLine : Integer;
|
||||
StopLine : Integer;
|
||||
UseGran : TVpGranularity;
|
||||
DisplayOnly : Boolean); override;
|
||||
procedure PaintToCanvas (ACanvas: TCanvas; ARect: TRect; Angle: TVpRotationAngle;
|
||||
ADate: TDateTime; StartHour, EndHour: TVpHours; UseGran: TVpGranularity);
|
||||
procedure RenderToCanvas (RenderCanvas: TCanvas; RenderIn: TRect;
|
||||
Angle: TVpRotationAngle; Scale: Extended; RenderDate: TDateTime;
|
||||
StartLine, StopLine: Integer; UseGran: TVpGranularity; DisplayOnly: Boolean); override;
|
||||
property ActiveEvent: TVpEvent read FActiveEvent write FActiveEvent;
|
||||
property TopHour: TVpHours read FTopHour write SetTopHour;
|
||||
property TopLine: Integer read FTopLine write SetTopLine;
|
||||
@ -463,62 +436,37 @@ type
|
||||
property TabStop;
|
||||
property TabOrder;
|
||||
property Font;
|
||||
property AllDayEventAttributes: TVpAllDayEventAttributes
|
||||
read FAllDayEventAttr write FAllDayEventAttr;
|
||||
|
||||
property DotDotDotColor : TColor
|
||||
read FDotDotDotColor write SetDotDotDotColor default clBlack;
|
||||
|
||||
property ShowEventTimes: Boolean
|
||||
read FShowEventTimes write SetShowEventTimes default true;
|
||||
|
||||
property DrawingStyle: TVpDrawingStyle
|
||||
read FDrawingStyle write SetDrawingStyle stored True;
|
||||
property TimeSlotColors: TVpTimeSlotColor
|
||||
read FTimeSlotColors write FTimeSlotColors;
|
||||
property HeadAttributes: TVpCHAttributes
|
||||
read FHeadAttr write FHeadAttr;
|
||||
property RowHeadAttributes: TVpRHAttributes
|
||||
read FRowHeadAttr write FRowHeadAttr;
|
||||
property IconAttributes : TVpDayViewIconAttributes
|
||||
read FIconAttributes write FIconAttributes;
|
||||
property AllDayEventAttributes: TVpAllDayEventAttributes read FAllDayEventAttr write FAllDayEventAttr;
|
||||
property DotDotDotColor: TColor read FDotDotDotColor write SetDotDotDotColor default clBlack;
|
||||
property ShowEventTimes: Boolean read FShowEventTimes write SetShowEventTimes default true;
|
||||
property DrawingStyle: TVpDrawingStyle read FDrawingStyle write SetDrawingStyle stored True;
|
||||
property TimeSlotColors: TVpTimeSlotColor read FTimeSlotColors write FTimeSlotColors;
|
||||
property HeadAttributes: TVpCHAttributes read FHeadAttr write FHeadAttr;
|
||||
property RowHeadAttributes: TVpRHAttributes read FRowHeadAttr write FRowHeadAttr;
|
||||
property IconAttributes: TVpDayViewIconAttributes read FIconAttributes write FIconAttributes;
|
||||
property Color: TColor read FColor write SetColor;
|
||||
property OwnerDrawRowHeader: TVpOwnerDrawRowEvent
|
||||
read FOwnerDrawRowHead write FOwnerDrawRowHead;
|
||||
property OwnerDrawColHeader: TVpOwnerDrawEvent
|
||||
read FOwnerDrawColHead write FOwnerDrawColHead;
|
||||
property OwnerDrawCells: TVpOwnerDrawRowEvent
|
||||
read FOwnerDrawCells write FOwnerDrawCells;
|
||||
property ShowResourceName: Boolean
|
||||
read FShowResourceName write SetShowResourceName;
|
||||
property OwnerDrawRowHeader: TVpOwnerDrawRowEvent read FOwnerDrawRowHead write FOwnerDrawRowHead;
|
||||
property OwnerDrawColHeader: TVpOwnerDrawEvent read FOwnerDrawColHead write FOwnerDrawColHead;
|
||||
property OwnerDrawCells: TVpOwnerDrawRowEvent read FOwnerDrawCells write FOwnerDrawCells;
|
||||
property ShowResourceName: Boolean read FShowResourceName write SetShowResourceName;
|
||||
property LineColor: TColor read FLineColor write SetLineColor;
|
||||
property GutterWidth: Integer read FGutterWidth write SetGutterWidth;
|
||||
property DateLabelFormat:
|
||||
string read FDateLabelFormat write SetDateLabelFormat;
|
||||
property DateLabelFormat: string read FDateLabelFormat write SetDateLabelFormat;
|
||||
Property Granularity: TVpGranularity read FGranularity write SetGranularity;
|
||||
property DefaultTopHour: TVpHours read FDefTopHour write SetDefTopHour;
|
||||
property TimeFormat: TVpTimeFormat read FTimeFormat write SetTimeFormat;
|
||||
property IncludeWeekends: Boolean read FIncludeWeekends write SetIncludeWeekends default True;
|
||||
property NumDays: Integer read FNumDays write SetNumDays default 1;
|
||||
property WrapStyle: TVpDVWrapStyle read FWrapStyle Write SetWrapStyle default wsIconFlow;
|
||||
{events}
|
||||
property AfterEdit: TVpAfterEditEvent read FAfterEdit write FAfterEdit;
|
||||
property BeforeEdit: TVpBeforeEditEvent read FBeforeEdit write FBeforeEdit;
|
||||
property IncludeWeekends : Boolean
|
||||
read FIncludeWeekends write SetIncludeWeekends default True;
|
||||
property NumDays : Integer read FNumDays write SetNumDays default 1;
|
||||
property WrapStyle : TVpDVWrapStyle
|
||||
read FWrapStyle Write SetWrapStyle default wsIconFlow;
|
||||
|
||||
property OnAddEvent: TVpOnAddNewEvent
|
||||
read FOnAddEvent write FOnAddEvent;
|
||||
|
||||
property OnAfterDrawEvent : TVpOnDVAfterDrawEvent
|
||||
read FOnAfterDrawEvent write FOnAfterDrawEvent;
|
||||
property OnBeforeDrawEvent : TVpOnDVBeforeDrawEvent
|
||||
read FOnBeforeDrawEvent write FOnBeforeDrawEvent;
|
||||
property OnDrawIcons : TVpOnDVDrawIcons
|
||||
read FOnDrawIcons Write FOnDrawIcons;
|
||||
property OnAddEvent: TVpOnAddNewEvent read FOnAddEvent write FOnAddEvent;
|
||||
property OnAfterDrawEvent: TVpOnDVAfterDrawEvent read FOnAfterDrawEvent write FOnAfterDrawEvent;
|
||||
property OnBeforeDrawEvent: TVpOnDVBeforeDrawEvent read FOnBeforeDrawEvent write FOnBeforeDrawEvent;
|
||||
property OnDrawIcons: TVpOnDVDrawIcons read FOnDrawIcons Write FOnDrawIcons;
|
||||
property OnOwnerEditEvent: TVpEditEvent read FOwnerEditEvent write FOwnerEditEvent;
|
||||
property OnClick;
|
||||
property OnOwnerEditEvent: TVpEditEvent
|
||||
read FOwnerEditEvent write FOwnerEditEvent;
|
||||
end;
|
||||
|
||||
implementation
|
||||
@ -554,24 +502,28 @@ procedure TVpDvInPlaceEdit.KeyDown(var Key: Word; Shift: TShiftState);
|
||||
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
begin
|
||||
case Key of
|
||||
VK_RETURN: begin
|
||||
VK_RETURN:
|
||||
begin
|
||||
Key := 0;
|
||||
TVpDayView(Owner).EndEdit(Self);
|
||||
end;
|
||||
|
||||
VK_UP: begin
|
||||
VK_UP:
|
||||
begin
|
||||
Key := 0;
|
||||
TVpDayView(Owner).ActiveRow := TVpDayView(Owner).ActiveRow - 1;
|
||||
// !!!! TVpDayView(Owner).EndEdit(Self); !!!! !!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
end;
|
||||
|
||||
VK_DOWN: begin
|
||||
VK_DOWN:
|
||||
begin
|
||||
Key := 0;
|
||||
TVpDayView(Owner).ActiveRow := TVpDayView(Owner).ActiveRow + 1;
|
||||
// !!!! TVpDayView(Owner).EndEdit(Self); !!!! !!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
end;
|
||||
|
||||
VK_ESCAPE: begin
|
||||
VK_ESCAPE:
|
||||
begin
|
||||
Key := 0;
|
||||
TVpDayView(Owner).SetFocus;
|
||||
end;
|
||||
@ -642,16 +594,12 @@ end;
|
||||
(*****************************************************************************)
|
||||
{ TVpDayViewIconAttributes }
|
||||
|
||||
constructor TVpDayViewIconAttributes.Create (
|
||||
AOwner : TVpLinkableControl);
|
||||
constructor TVpDayViewIconAttributes.Create(AOwner: TVpLinkableControl);
|
||||
begin
|
||||
inherited Create;
|
||||
|
||||
FOwner := AOwner;
|
||||
|
||||
FAlarmBitmap := TBitmap.Create;
|
||||
FRecurringBitmap := TBitmap.Create;
|
||||
|
||||
FShowAlarmBitmap := True;
|
||||
FShowCategoryBitmap := True;
|
||||
FShowRecurringBitmap := True;
|
||||
@ -661,7 +609,6 @@ destructor TVpDayViewIconAttributes.Destroy;
|
||||
begin
|
||||
FAlarmBitmap.Free;
|
||||
FRecurringBitmap.Free;
|
||||
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
@ -676,21 +623,19 @@ procedure TVpDayViewIconAttributes.SetRecurringBitmap (v : TBitmap);
|
||||
begin
|
||||
FRecurringBitmap.Assign(v);
|
||||
if Assigned(FOwner) then
|
||||
FOwner.Invalidate;
|
||||
FOwner.Invalidate
|
||||
end;
|
||||
|
||||
procedure TVpDayViewIconAttributes.SetShowAlarmBitmap (
|
||||
const v : Boolean);
|
||||
procedure TVpDayViewIconAttributes.SetShowAlarmBitmap(const v: Boolean);
|
||||
begin
|
||||
if FShowAlarmBitmap <> v then begin
|
||||
FShowAlarmBitmap := v;
|
||||
if Assigned(FOwner) then
|
||||
FOwner.Invalidate;
|
||||
FOwner.Invalidate
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpDayViewIconAttributes.SetShowCategoryBitmap (
|
||||
const v : Boolean);
|
||||
procedure TVpDayViewIconAttributes.SetShowCategoryBitmap(const v: Boolean);
|
||||
begin
|
||||
if FShowCategoryBitmap <> v then begin
|
||||
FShowCategoryBitmap := v;
|
||||
@ -699,13 +644,12 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpDayViewIconAttributes.SetShowRecurringBitmap (
|
||||
const v : Boolean);
|
||||
procedure TVpDayViewIconAttributes.SetShowRecurringBitmap(const v: Boolean);
|
||||
begin
|
||||
if FShowRecurringBitmap <> v then begin
|
||||
FShowRecurringBitmap := v;
|
||||
if Assigned(FOwner) then
|
||||
FOwner.Invalidate;
|
||||
FOwner.Invalidate
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -836,7 +780,6 @@ end;
|
||||
{=====}
|
||||
|
||||
destructor TVpDayView.Destroy;
|
||||
|
||||
begin
|
||||
FreeAndNil(dvInplaceEditor);
|
||||
|
||||
@ -886,9 +829,9 @@ begin
|
||||
Str := '"' + FActiveEvent.Description + '"';
|
||||
|
||||
if Verify then
|
||||
DoIt := (MessageDlg(RSDelete + ' ' + Str + ' ' + RSFromSchedule
|
||||
+ #13#10#10 + RSPermanent, mtconfirmation,
|
||||
[mbYes, mbNo], 0) = mrYes);
|
||||
DoIt := (MessageDlg(Format(RSDeleteContactFromSchedule, [Str]) + #13#10#10 + RSPermanent,
|
||||
// DoIt := (MessageDlg(RSDelete + ' ' + Str + ' ' + RSFromSchedule + #13#10#10 + RSPermanent,
|
||||
mtConfirmation, [mbYes, mbNo], 0) = mrYes);
|
||||
|
||||
if DoIt then begin
|
||||
FActiveEvent.Deleted := true;
|
||||
@ -941,7 +884,6 @@ procedure TVpDayView.InitializeDefaultPopup;
|
||||
var
|
||||
NewItem: TMenuItem;
|
||||
NewSubItem: TMenuItem;
|
||||
|
||||
begin
|
||||
if RSDayPopupAdd <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
@ -1068,7 +1010,6 @@ procedure TVpDayView.PopupAddEvent (Sender : TObject);
|
||||
var
|
||||
StartTime: TDateTime;
|
||||
EndTime: TDateTime;
|
||||
|
||||
begin
|
||||
if ReadOnly then
|
||||
Exit;
|
||||
@ -1079,12 +1020,13 @@ begin
|
||||
if not Assigned (DataStore.Resource) then
|
||||
Exit;
|
||||
|
||||
StartTime := trunc(FDisplayDate + ActiveCol) +
|
||||
dvLineMatrix[ActiveCol, ActiveRow].Time;
|
||||
StartTime := trunc(FDisplayDate + ActiveCol) + dvLineMatrix[ActiveCol, ActiveRow].Time;
|
||||
EndTime := StartTime + dvTimeIncSize;
|
||||
FActiveEvent := DataStore.Resource.Schedule.AddEvent(
|
||||
DataStore.GetNextID(EventsTableName),
|
||||
StartTime, EndTime);
|
||||
StartTime,
|
||||
EndTime
|
||||
);
|
||||
|
||||
Repaint;
|
||||
{ edit this new event }
|
||||
@ -1158,7 +1100,6 @@ end;
|
||||
procedure TVpDayView.PopupNextMonth(Sender: TObject);
|
||||
var
|
||||
M, D, Y: Word;
|
||||
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
if M = 12 then begin
|
||||
@ -1193,7 +1134,6 @@ end;
|
||||
procedure TVpDayView.PopupNextYear(Sender: TObject);
|
||||
var
|
||||
M, D, Y : Word;
|
||||
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
Date := EncodeDate(Y + 1, M, 1);
|
||||
@ -1203,7 +1143,6 @@ end;
|
||||
procedure TVpDayView.PopupPrevYear(Sender: TObject);
|
||||
var
|
||||
M, D, Y: Word;
|
||||
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
Date := EncodeDate(Y - 1, M, 1);
|
||||
@ -1221,15 +1160,8 @@ end;
|
||||
|
||||
procedure TVpDayView.Paint;
|
||||
begin
|
||||
RenderToCanvas (Canvas,
|
||||
Rect (0, 0, Width, Height),
|
||||
ra0,
|
||||
1,
|
||||
FDisplayDate,
|
||||
TopLine,
|
||||
-1,
|
||||
FGranularity,
|
||||
False);
|
||||
RenderToCanvas(Canvas, Rect(0, 0, Width, Height), ra0, 1, FDisplayDate,
|
||||
TopLine, -1, FGranularity, False);
|
||||
SetVScrollPos;
|
||||
end;
|
||||
{=====}
|
||||
@ -1257,21 +1189,16 @@ begin
|
||||
end;
|
||||
{=====}
|
||||
|
||||
function TVpDayView.dvCalcVisibleLines (RenderHeight : Integer;
|
||||
ColHeadHeight : Integer;
|
||||
RowHeight : Integer;
|
||||
Scale : Extended;
|
||||
StartLine : Integer;
|
||||
StopLine : Integer) : Integer;
|
||||
function TVpDayView.dvCalcVisibleLines(RenderHeight, ColHeadHeight, RowHeight: Integer;
|
||||
Scale: Extended; StartLine, StopLine: Integer): Integer;
|
||||
var
|
||||
vertical: integer;
|
||||
|
||||
begin
|
||||
if StartLine < 0 then
|
||||
StartLine := TopLine;
|
||||
|
||||
{ take into account the number lines that are allowed! }
|
||||
vertical := Round (RenderHeight - (ColHeadHeight * Scale) - 2);
|
||||
vertical := Round(RenderHeight - ColHeadHeight * Scale - 2);
|
||||
Result := trunc (Vertical div RowHeight) + 2;
|
||||
if Result > FLineCount then
|
||||
Result := FLineCOunt;
|
||||
@ -1295,16 +1222,14 @@ end;
|
||||
function TVpDayView.dvCalcColHeadHeight(Scale: Extended): Integer;
|
||||
var
|
||||
TextHeight: Integer;
|
||||
|
||||
begin
|
||||
Canvas.Font.Assign(FHeadAttr.Font);
|
||||
|
||||
if FShowResourceName and (DataStore <> nil) and
|
||||
(DataStore.Resource <> nil) then
|
||||
TextHeight := (Canvas.TextHeight(RSTallShortChars) * 2) +
|
||||
(TextMargin * 3)
|
||||
if FShowResourceName and (DataStore <> nil) and (DataStore.Resource <> nil)
|
||||
then
|
||||
TextHeight := Canvas.TextHeight(RSTallShortChars) * 2 + TextMargin * 3
|
||||
else
|
||||
TextHeight := Canvas.TextHeight(RSTallShortChars) + (TextMargin * 2);
|
||||
TextHeight := Canvas.TextHeight(RSTallShortChars) + TextMargin * 2;
|
||||
Result := Round(TextHeight * Scale);
|
||||
dvColHeadHeight := Result;
|
||||
end;
|
||||
@ -1318,8 +1243,7 @@ begin //exit;
|
||||
Exit;
|
||||
if FActiveEvent <> nil then begin
|
||||
// Set the time from which this event was dragged
|
||||
DvDragStartTime := trunc(Date + ActiveCol)
|
||||
+ dvLineMatrix[ActiveCol, ActiveRow].Time;
|
||||
DvDragStartTime := trunc(Date + ActiveCol) + dvLineMatrix[ActiveCol, ActiveRow].Time;
|
||||
|
||||
DragObject := TVpEventDragObject.Create(Self);
|
||||
TVpEventDragObject(DragObject).Event := FActiveEvent;
|
||||
@ -1360,7 +1284,6 @@ var
|
||||
Duration: TDateTime;
|
||||
DragToTime: TDateTime;
|
||||
i: Integer;
|
||||
|
||||
begin //exit;
|
||||
if ReadOnly then
|
||||
Exit;
|
||||
@ -1410,7 +1333,6 @@ function TVpDayView.dvCalcRowHeight (Scale : Extended;
|
||||
var
|
||||
SaveFont: TFont;
|
||||
Temp: Integer;
|
||||
|
||||
begin
|
||||
{ Calculates row height based on the largest of the RowHead's Minute }
|
||||
{ font, the standard client font, and a sample character string. }
|
||||
@ -1436,24 +1358,23 @@ begin
|
||||
end;
|
||||
dvRowHeight := Result;
|
||||
end;
|
||||
|
||||
{=====}
|
||||
|
||||
function TVpDayView.GetLastVisibleDate : TDateTime;
|
||||
begin
|
||||
Result := Date + GetRealNumDays(Date);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
function TVpDayView.GetRealNumDays(WorkDate: TDateTime) : Integer;
|
||||
var
|
||||
i: Integer;
|
||||
|
||||
begin
|
||||
if not FIncludeWeekends then begin
|
||||
Result := 0;
|
||||
i := 0;
|
||||
while i < FNumDays do begin
|
||||
if (DayOfWeek (WorkDate) <> 1) and
|
||||
(DayOfWeek (WorkDate) <> 7) then
|
||||
if (DayOfWeek (WorkDate) <> 1) and (DayOfWeek (WorkDate) <> 7) then
|
||||
Inc(i);
|
||||
WorkDate := WorkDate + 1;
|
||||
Inc (Result);
|
||||
@ -1538,9 +1459,8 @@ end;
|
||||
|
||||
procedure TVpDayView.SetGutterWidth(Value: Integer);
|
||||
begin
|
||||
if (Value <> FGutterWidth)
|
||||
and (Value > -1)
|
||||
and (Value < (Width div 10)) then begin
|
||||
if (Value <> FGutterWidth) and (Value > -1) and (Value < Width div 10) then
|
||||
begin
|
||||
FGutterWidth := Value;
|
||||
Invalidate;
|
||||
end;
|
||||
@ -1562,31 +1482,38 @@ var
|
||||
I, J: Integer;
|
||||
begin
|
||||
case UseGran of
|
||||
gr60Min: begin
|
||||
gr60Min:
|
||||
begin
|
||||
FLineCount := 24;
|
||||
dvTimeIncSize := 60 / MinutesInDay;
|
||||
end;
|
||||
gr30Min: begin
|
||||
gr30Min:
|
||||
begin
|
||||
FLineCount := 48;
|
||||
dvTimeIncSize := 30 / MinutesInDay;
|
||||
end;
|
||||
gr20Min: begin
|
||||
gr20Min:
|
||||
begin
|
||||
FLineCount := 72;
|
||||
dvTimeIncSize := 20 / MinutesInDay;
|
||||
end;
|
||||
gr15Min: begin
|
||||
gr15Min:
|
||||
begin
|
||||
FLineCount := 96;
|
||||
dvTimeIncSize := 15 / MinutesInDay;
|
||||
end;
|
||||
gr10Min: begin
|
||||
gr10Min:
|
||||
begin
|
||||
FLineCount := 144;
|
||||
dvTimeIncSize := 10 / MinutesInDay;
|
||||
end;
|
||||
gr06Min : begin
|
||||
gr06Min:
|
||||
begin
|
||||
FLineCount := 240;
|
||||
dvTimeIncSize := 6 / MinutesInDay;
|
||||
end;
|
||||
gr05Min : begin
|
||||
gr05Min:
|
||||
begin
|
||||
FLineCount := 288;
|
||||
dvTimeIncSize := 5 / MinutesInDay;
|
||||
end;
|
||||
@ -1605,13 +1532,15 @@ begin
|
||||
end
|
||||
else begin
|
||||
case UseGran of
|
||||
gr60Min: begin
|
||||
gr60Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Time := J * (60 / MinutesInDay);
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J);
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
|
||||
gr30Min: begin
|
||||
gr30Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J div 2);
|
||||
case (J mod 2) of
|
||||
0: begin
|
||||
@ -1619,15 +1548,14 @@ begin
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
1: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour)
|
||||
* (60 / MinutesInDay)
|
||||
+ dvTimeIncSize);
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize;
|
||||
dvLineMatrix[I,J].Minute := 30;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
gr20Min: begin
|
||||
gr20Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J div 3);
|
||||
case (J mod 3) of
|
||||
0: begin
|
||||
@ -1635,44 +1563,41 @@ begin
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
1: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour)
|
||||
* (60 / MinutesInDay) + dvTimeIncSize);
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize;
|
||||
dvLineMatrix[I,J].Minute := 20;
|
||||
end;
|
||||
2: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour)
|
||||
* (60 / MinutesInDay) + (dvTimeIncSize * 2));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 2;
|
||||
dvLineMatrix[I,J].Minute := 40;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
gr15Min: begin
|
||||
gr15Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J div 4);
|
||||
case (J mod 4) of
|
||||
case J mod 4 of
|
||||
0: begin
|
||||
dvLineMatrix[I,J].Time := (J div 4) * (60 / MinutesInDay);
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
1: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour)
|
||||
* (60 / MinutesInDay) + dvTimeIncSize);
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize;
|
||||
dvLineMatrix[I,J].Minute := 15;
|
||||
end;
|
||||
2: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 2));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 2;
|
||||
dvLineMatrix[I,J].Minute := 30;
|
||||
end;
|
||||
3: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 3));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 3;
|
||||
dvLineMatrix[I,J].Minute := 45;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
gr10Min: begin
|
||||
gr10Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J div 6);
|
||||
case (J mod 6) of
|
||||
0: begin
|
||||
@ -1680,34 +1605,30 @@ begin
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
1: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ dvTimeIncSize);
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize;
|
||||
dvLineMatrix[I,J].Minute := 10;
|
||||
end;
|
||||
2: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 2));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 2;
|
||||
dvLineMatrix[I,J].Minute := 20;
|
||||
end;
|
||||
3: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 3));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 3;
|
||||
dvLineMatrix[I,J].Minute := 30;
|
||||
end;
|
||||
4: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 4));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 4;
|
||||
dvLineMatrix[I,J].Minute := 40;
|
||||
end;
|
||||
5: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 5));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 5;
|
||||
dvLineMatrix[I,J].Minute := 50;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
gr06Min : begin
|
||||
gr06Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J div 10);
|
||||
case (J mod 10) of
|
||||
0: begin
|
||||
@ -1715,113 +1636,94 @@ begin
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
1: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ dvTimeIncSize);
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize;
|
||||
dvLineMatrix[I,J].Minute := 6;
|
||||
end;
|
||||
2: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 2));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 2;
|
||||
dvLineMatrix[I,J].Minute := 12;
|
||||
end;
|
||||
3: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 3));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 3;
|
||||
dvLineMatrix[I,J].Minute := 18;
|
||||
end;
|
||||
4: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 4));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 4;
|
||||
dvLineMatrix[I,J].Minute := 24;
|
||||
end;
|
||||
5: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 5));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 5;
|
||||
dvLineMatrix[I,J].Minute := 30;
|
||||
end;
|
||||
6: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 6));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 6;
|
||||
dvLineMatrix[I,J].Minute := 36;
|
||||
end;
|
||||
7: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 7));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 7;
|
||||
dvLineMatrix[I,J].Minute := 42;
|
||||
end;
|
||||
8: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 8));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 8;
|
||||
dvLineMatrix[I,J].Minute := 48;
|
||||
end;
|
||||
9: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 9));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 9;
|
||||
dvLineMatrix[I,J].Minute := 54;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
gr05Min : begin
|
||||
gr05Min:
|
||||
begin
|
||||
dvLineMatrix[I,J].Hour := TVpHours(J div 12);
|
||||
case (J mod 12) of
|
||||
case J mod 12 of
|
||||
0: begin
|
||||
dvLineMatrix[I,J].Time := (J div 12) * (60 / MinutesInDay);
|
||||
dvLineMatrix[I,J].Minute := 0;
|
||||
end;
|
||||
1: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ dvTimeIncSize);
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize;
|
||||
dvLineMatrix[I,J].Minute := 5;
|
||||
end;
|
||||
2: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 2));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 2;
|
||||
dvLineMatrix[I,J].Minute := 10;
|
||||
end;
|
||||
3: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 3));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 3;
|
||||
dvLineMatrix[I,J].Minute := 15;
|
||||
end;
|
||||
4: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 4));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 4;
|
||||
dvLineMatrix[I,J].Minute := 20;
|
||||
end;
|
||||
5: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 5));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 5;
|
||||
dvLineMatrix[I,J].Minute := 25;
|
||||
end;
|
||||
6: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 6));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 6;
|
||||
dvLineMatrix[I,J].Minute := 30;
|
||||
end;
|
||||
7: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 7));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 7;
|
||||
dvLineMatrix[I,J].Minute := 35;
|
||||
end;
|
||||
8: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 8));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 8;
|
||||
dvLineMatrix[I,J].Minute := 40;
|
||||
end;
|
||||
9: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 9));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 9;
|
||||
dvLineMatrix[I,J].Minute := 45;
|
||||
end;
|
||||
10: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 10));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 10;
|
||||
dvLineMatrix[I,J].Minute := 50;
|
||||
end;
|
||||
11: begin
|
||||
dvLineMatrix[I,J].Time := (Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay)
|
||||
+ (dvTimeIncSize * 11));
|
||||
dvLineMatrix[I,J].Time := Ord(dvLineMatrix[I,J].Hour) * (60 / MinutesInDay) + dvTimeIncSize * 11;
|
||||
dvLineMatrix[I,J].Minute := 55;
|
||||
end;
|
||||
end;
|
||||
|
@ -136,6 +136,7 @@ resourcestring
|
||||
|
||||
{Event Specific}
|
||||
RSFromSchedule = 'from your schedule?';
|
||||
RSDeleteContactFromSchedule = 'Delete contact %s from your schedule?';
|
||||
|
||||
{Task Specific}
|
||||
RSFromTaskList = 'from your task list?';
|
||||
|
Reference in New Issue
Block a user