You've already forked lazarus-ccr
tvplanit: Fix some more minor DayView painting glitches.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4879 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -475,6 +475,9 @@ begin
|
|||||||
CbAllowInplaceEditing.Checked := ini.ReadBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked);
|
CbAllowInplaceEditing.Checked := ini.ReadBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked);
|
||||||
CbAllowInplaceEditingChange(nil);
|
CbAllowInplaceEditingChange(nil);
|
||||||
|
|
||||||
|
Cb3D.Checked := ini.ReadBool('Settings', '3dViewstyle', false);
|
||||||
|
Cb3dChange(nil);
|
||||||
|
|
||||||
finally
|
finally
|
||||||
ini.Free;
|
ini.Free;
|
||||||
end;
|
end;
|
||||||
@ -506,6 +509,7 @@ begin
|
|||||||
ini.WriteInteger('Settings', 'VisibleDays', FVisibleDays);
|
ini.WriteInteger('Settings', 'VisibleDays', FVisibleDays);
|
||||||
ini.WriteBool('Settings', 'AllTasks', VpTaskList1.DisplayOptions.ShowAll);
|
ini.WriteBool('Settings', 'AllTasks', VpTaskList1.DisplayOptions.ShowAll);
|
||||||
ini.WriteBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked);
|
ini.WriteBool('Settings', 'AllowInplaceEditing', CbAllowInplaceEditing.Checked);
|
||||||
|
ini.WriteBool('Settings', '3dViewStyle', Cb3D.Checked);
|
||||||
finally
|
finally
|
||||||
ini.Free;
|
ini.Free;
|
||||||
end;
|
end;
|
||||||
|
@ -428,6 +428,7 @@ begin
|
|||||||
StartLine := FDayView.TopLine;
|
StartLine := FDayView.TopLine;
|
||||||
|
|
||||||
dec(R.Top);
|
dec(R.Top);
|
||||||
|
inc(R.Bottom);
|
||||||
|
|
||||||
{ Set GutterRect size }
|
{ Set GutterRect size }
|
||||||
GutterRect.Left := R.Left;
|
GutterRect.Left := R.Left;
|
||||||
@ -439,6 +440,7 @@ begin
|
|||||||
{ paint gutter area }
|
{ paint gutter area }
|
||||||
RenderCanvas.Brush.Color := RealColor;
|
RenderCanvas.Brush.Color := RealColor;
|
||||||
TPSFillRect(RenderCanvas, Angle, RenderIn, GutterRect);
|
TPSFillRect(RenderCanvas, Angle, RenderIn, GutterRect);
|
||||||
|
|
||||||
{ draw the line down the right side of the gutter }
|
{ draw the line down the right side of the gutter }
|
||||||
RenderCanvas.Pen.Color := BevelShadow;
|
RenderCanvas.Pen.Color := BevelShadow;
|
||||||
RenderCanvas.Pen.Style := psSolid;
|
RenderCanvas.Pen.Style := psSolid;
|
||||||
@ -476,8 +478,8 @@ begin
|
|||||||
|
|
||||||
RenderCanvas.Brush.Color := RealColor;
|
RenderCanvas.Brush.Color := RealColor;
|
||||||
RenderCanvas.Font.Assign(SavedFont);
|
RenderCanvas.Font.Assign(SavedFont);
|
||||||
LineRect.Top := Round (R.Top + (i * RealRowHeight));
|
LineRect.Top := Round(R.Top + i * RealRowHeight);
|
||||||
LineRect.Bottom := Round (LineRect.Top + (RealRowHeight));
|
LineRect.Bottom := Round(LineRect.Top + RealRowHeight);
|
||||||
if I + StartLine < FDayView.LineCount then
|
if I + StartLine < FDayView.LineCount then
|
||||||
TVpDayViewOpener(FDayView).dvLineMatrix[Col, I + StartLine].Rec := LineRect;
|
TVpDayViewOpener(FDayView).dvLineMatrix[Col, I + StartLine].Rec := LineRect;
|
||||||
|
|
||||||
@ -492,6 +494,8 @@ begin
|
|||||||
// if ActiveRow = -1 then
|
// if ActiveRow = -1 then
|
||||||
// ActiveRow := TopLine;
|
// ActiveRow := TopLine;
|
||||||
|
|
||||||
|
if i = 0 then
|
||||||
|
dec(LineRect.Top);
|
||||||
if not DisplayOnly then begin
|
if not DisplayOnly then begin
|
||||||
if FDayView.Focused and (FDayView.ActiveCol = col) and
|
if FDayView.Focused and (FDayView.ActiveCol = col) and
|
||||||
(FDayView.ActiveRow = StartLine + I)
|
(FDayView.ActiveRow = StartLine + I)
|
||||||
@ -639,10 +643,10 @@ begin
|
|||||||
if FDayView.DrawingStyle = dsFlat then begin
|
if FDayView.DrawingStyle = dsFlat then begin
|
||||||
// bottom
|
// bottom
|
||||||
RenderCanvas.Pen.Color := BevelShadow;
|
RenderCanvas.Pen.Color := BevelShadow;
|
||||||
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right, R.Bottom);
|
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right, R.Bottom - 1);
|
||||||
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Left - 1, R.Bottom);
|
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Left - 2, R.Bottom - 1);
|
||||||
// right side
|
// right side
|
||||||
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right, R.Bottom);
|
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right, R.Bottom - 1);
|
||||||
RenderCanvas.Pen.Color := RealHeadAttrColor;
|
RenderCanvas.Pen.Color := RealHeadAttrColor;
|
||||||
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Right, R.Bottom - 4);
|
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Right, R.Bottom - 4);
|
||||||
RenderCanvas.Pen.Color := BevelShadow;
|
RenderCanvas.Pen.Color := BevelShadow;
|
||||||
@ -652,6 +656,7 @@ begin
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
if FDayView.DrawingStyle = ds3d then begin
|
if FDayView.DrawingStyle = ds3d then begin
|
||||||
|
dec(R.Bottom);
|
||||||
R := TPSRotateRectangle(Angle, RenderIn, R);
|
R := TPSRotateRectangle(Angle, RenderIn, R);
|
||||||
DrawBevelRect(RenderCanvas, R, BevelHighlight, BevelDarkShadow);
|
DrawBevelRect(RenderCanvas, R, BevelHighlight, BevelDarkShadow);
|
||||||
end;
|
end;
|
||||||
@ -1067,43 +1072,47 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TVpDayViewPainter.DrawNavBtns;
|
procedure TVpDayViewPainter.DrawNavBtns;
|
||||||
|
var
|
||||||
|
w: Integer;
|
||||||
begin
|
begin
|
||||||
{ size and place the Today button first. }
|
{ size and place the Today button first. }
|
||||||
with TVpDayViewOpener(FDayView) do begin
|
with TVpDayViewOpener(FDayView) do begin
|
||||||
|
{ Calculate width of buttons }
|
||||||
dvTodayBtn.Height := trunc(RealColHeadHeight div 2);
|
dvTodayBtn.Height := trunc(RealColHeadHeight div 2);
|
||||||
|
dvTodayBtn.Width := RealRowHeadWidth;
|
||||||
|
dvWeekDownBtn.Width := RealRowHeadWidth div 4 + 2;
|
||||||
|
dvWeekUpBtn.Width := dvWeekDownBtn.Width;
|
||||||
|
dvDaydownBtn.Width := dvWeekdownBtn.Width - 4;
|
||||||
|
dvDayUpBtn.Width := dvDayDownBtn.Width;
|
||||||
|
|
||||||
|
w := dvWeekDownBtn.Width + dvWeekUpBtn.Width + dvDaydownBtn.Width + dvDayUpBtn.Width;
|
||||||
if DrawingStyle = dsFlat then begin
|
if DrawingStyle = dsFlat then begin
|
||||||
dvTodayBtn.Left := 1;
|
dvTodayBtn.Left := 1 + (RealRowHeadWidth - w) div 2;
|
||||||
dvTodayBtn.Top := 1;
|
dvTodayBtn.Top := 1;
|
||||||
dvTodayBtn.Width := RealRowHeadWidth + 1;
|
|
||||||
end else begin
|
end else begin
|
||||||
dvTodayBtn.Left := 2;
|
dvTodayBtn.Left := 2 + (RealRowHeadWidth - w) div 2;
|
||||||
dvTodayBtn.Top := 2;
|
dvTodayBtn.Top := 2;
|
||||||
dvTodayBtn.Width := RealRowHeadWidth;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ size and place the WeekDown button }
|
{ size and place the WeekDown button }
|
||||||
dvWeekDownBtn.Height := dvTodayBtn.Height;
|
dvWeekDownBtn.Height := dvTodayBtn.Height;
|
||||||
dvWeekDownBtn.Width := trunc(RealRowHeadWidth * 0.25) + 2;
|
|
||||||
dvWeekDownBtn.Left := dvTodayBtn.Left;
|
dvWeekDownBtn.Left := dvTodayBtn.Left;
|
||||||
dvWeekDownBtn.Top := dvTodayBtn.Top + dvTodayBtn.Height;
|
dvWeekDownBtn.Top := dvTodayBtn.Top + dvTodayBtn.Height;
|
||||||
|
|
||||||
{ size and place the DayDown button }
|
{ size and place the DayDown button }
|
||||||
dvDayDownBtn.Height := dvTodayBtn.Height;
|
dvDayDownBtn.Height := dvTodayBtn.Height;
|
||||||
dvDayDownBtn.Width := dvWeekDownBtn.Width - 4;
|
|
||||||
dvDayDownBtn.Left := dvWeekDownBtn.Left + dvWeekDownBtn.Width;
|
dvDayDownBtn.Left := dvWeekDownBtn.Left + dvWeekDownBtn.Width;
|
||||||
dvDayDownBtn.Top := dvTodayBtn.Top + dvTodayBtn.Height;
|
dvDayDownBtn.Top := dvWeekDownBtn.Top;
|
||||||
|
|
||||||
{ size and place the DayUp button }
|
{ size and place the DayUp button }
|
||||||
dvDayUpBtn.Height := dvTodayBtn.Height;
|
dvDayUpBtn.Height := dvTodayBtn.Height;
|
||||||
dvDayUpBtn.Width := dvWeekDownBtn.Width - 4;
|
|
||||||
dvDayUpBtn.Left := dvDayDownBtn.Left + dvDayDownBtn.Width;
|
dvDayUpBtn.Left := dvDayDownBtn.Left + dvDayDownBtn.Width;
|
||||||
dvDayUpBtn.Top := dvTodayBtn.Top + dvTodayBtn.Height;
|
dvDayUpBtn.Top := dvWeekDownBtn.Top;
|
||||||
|
|
||||||
{ size and place the WeekUp button }
|
{ size and place the WeekUp button }
|
||||||
dvWeekUpBtn.Height := dvTodayBtn.Height;
|
dvWeekUpBtn.Height := dvTodayBtn.Height;
|
||||||
dvWeekUpBtn.Width := dvTodayBtn.Width - dvWeekDownBtn.Width - dvDayDownBtn.Width - dvDayUpBtn.Width;
|
|
||||||
dvWeekUpBtn.Left := dvDayUpBtn.Left + dvDayUpBtn.Width;
|
dvWeekUpBtn.Left := dvDayUpBtn.Left + dvDayUpBtn.Width;
|
||||||
dvWeekUpBtn.Top := dvTodayBtn.Top + dvTodayBtn.Height;
|
dvWeekUpBtn.Top := dvWeekDownBtn.Top;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1115,14 +1124,14 @@ begin
|
|||||||
RealLeft + 1,
|
RealLeft + 1,
|
||||||
RealTop,
|
RealTop,
|
||||||
RealLeft + 3 + RealRowHeadWidth,
|
RealLeft + 3 + RealRowHeadWidth,
|
||||||
RealTop + RealColHeadHeight + 2
|
RealTop + RealColHeadHeight // + 1
|
||||||
);
|
);
|
||||||
|
|
||||||
RenderCanvas.Brush.Color := RealHeadAttrColor;
|
RenderCanvas.Brush.Color := RealHeadAttrColor;
|
||||||
TPSFillRect(RenderCanvas, Angle, RenderIn, R);
|
TPSFillRect(RenderCanvas, Angle, RenderIn, R);
|
||||||
|
|
||||||
if FDayView.DrawingStyle = ds3d then begin
|
if FDayView.DrawingStyle = ds3d then begin
|
||||||
R := Rect(R.Left + 1, R.Top + 2, R.Right - 2, R.Bottom - 2);
|
R := Rect(R.Left + 1, R.Top + 2, R.Right - 2, R.Bottom - 1);
|
||||||
DrawBevelRect(
|
DrawBevelRect(
|
||||||
RenderCanvas,
|
RenderCanvas,
|
||||||
TPSRotateRectangle(Angle, RenderIn, R),
|
TPSRotateRectangle(Angle, RenderIn, R),
|
||||||
@ -1132,8 +1141,8 @@ begin
|
|||||||
end else
|
end else
|
||||||
begin
|
begin
|
||||||
RenderCanvas.Pen.Color := BevelShadow;
|
RenderCanvas.Pen.Color := BevelShadow;
|
||||||
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right - 6, R.Bottom - 2);
|
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right - 6, R.Bottom- 1);
|
||||||
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Left + 3, R.Bottom - 2);
|
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Left + 3, R.Bottom - 1);
|
||||||
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right - 2, R.Top + 6);
|
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right - 2, R.Top + 6);
|
||||||
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Right - 2, R.Bottom - 5);
|
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Right - 2, R.Bottom - 5);
|
||||||
{
|
{
|
||||||
@ -1227,10 +1236,12 @@ begin
|
|||||||
|
|
||||||
SaveFont := TFont.Create;
|
SaveFont := TFont.Create;
|
||||||
try
|
try
|
||||||
|
//InflateRect(R, 1,1);
|
||||||
RenderCanvas.Pen.Style := psClear;
|
RenderCanvas.Pen.Style := psClear;
|
||||||
RenderCanvas.Brush.Color := RealRowHeadAttrColor;
|
RenderCanvas.Brush.Color := RealRowHeadAttrColor;
|
||||||
TPSFillRect(RenderCanvas, Angle, RenderIn, R);
|
TPSFillRect(RenderCanvas, Angle, RenderIn, R);
|
||||||
RenderCanvas.Pen.Style := psSolid;
|
RenderCanvas.Pen.Style := psSolid;
|
||||||
|
//InflateRect(R, -1,-1);
|
||||||
|
|
||||||
RenderCanvas.Font.Assign(FDayView.RowHeadAttributes.MinuteFont);
|
RenderCanvas.Font.Assign(FDayView.RowHeadAttributes.MinuteFont);
|
||||||
RealVisibleLines := TVpDayViewOpener(FDayView).dvCalcVisibleLines(
|
RealVisibleLines := TVpDayViewOpener(FDayView).dvCalcVisibleLines(
|
||||||
@ -1313,7 +1324,7 @@ begin
|
|||||||
if FDayView.DrawingStyle = dsFlat then begin
|
if FDayView.DrawingStyle = dsFlat then begin
|
||||||
RenderCanvas.Pen.Color := BevelShadow;
|
RenderCanvas.Pen.Color := BevelShadow;
|
||||||
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right - 1, R.Top);
|
TPSMoveTo(RenderCanvas, Angle, RenderIn, R.Right - 1, R.Top);
|
||||||
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Right - 1, R.Bottom - 2);
|
TPSLineTo(RenderCanvas, Angle, RenderIn, R.Right - 1, R.Bottom - 1);
|
||||||
{
|
{
|
||||||
DrawBevelRect(RenderCanvas, TPSRotateRectangle(Angle, RenderIn,
|
DrawBevelRect(RenderCanvas, TPSRotateRectangle(Angle, RenderIn,
|
||||||
Rect(R.Left - 1, R.Top, R.Right - 1, R.Bottom - 2)),
|
Rect(R.Left - 1, R.Top, R.Right - 1, R.Bottom - 2)),
|
||||||
@ -1325,7 +1336,7 @@ begin
|
|||||||
else
|
else
|
||||||
if FDayView.DrawingStyle = ds3d then begin
|
if FDayView.DrawingStyle = ds3d then begin
|
||||||
DrawBevelRect(RenderCanvas,
|
DrawBevelRect(RenderCanvas,
|
||||||
TPSRotateRectangle(Angle, RenderIn, Rect(R.Left + 1, R.Top, R.Right - 1, R.Bottom - 3)),
|
TPSRotateRectangle(Angle, RenderIn, Rect(R.Left + 1, R.Top, R.Right - 1, R.Bottom - 1)),
|
||||||
BevelHighlight,
|
BevelHighlight,
|
||||||
BevelDarkShadow
|
BevelDarkShadow
|
||||||
);
|
);
|
||||||
@ -1342,9 +1353,9 @@ procedure TVpDayViewPainter.CalcRowHeadRect(out ARect: TRect);
|
|||||||
begin
|
begin
|
||||||
ARect := Rect(
|
ARect := Rect(
|
||||||
RealLeft + 1,
|
RealLeft + 1,
|
||||||
ADEventsRect.Bottom + 1,
|
ADEventsRect.Bottom, // + 1,
|
||||||
RealLeft + 2 + RealRowHeadWidth,
|
RealLeft + 2 + RealRowHeadWidth,
|
||||||
RealBottom
|
RealBottom //- 1
|
||||||
);
|
);
|
||||||
if FDayView.DrawingStyle = dsFlat then
|
if FDayView.DrawingStyle = dsFlat then
|
||||||
inc(ARect.Left);
|
inc(ARect.Left);
|
||||||
|
Reference in New Issue
Block a user