mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-11 10:35:58 +02:00
Qt: fixed events when month and year are changed in TCalendar. issue #23528
git-svn-id: trunk@39625 -
This commit is contained in:
parent
73d6a41ca5
commit
49e77dd55e
@ -15377,6 +15377,8 @@ end;
|
||||
procedure TQtCalendar.signalCurrentPageChanged(p1, p2: Integer); cdecl;
|
||||
var
|
||||
Msg: TLMessage;
|
||||
ADate: QDateH;
|
||||
HasChanges: Boolean;
|
||||
begin
|
||||
{$IFDEF VerboseQt}
|
||||
writeln('TQtCalendar.SignalCurrentPageChanged p1=',p1,' p2=',p2);
|
||||
@ -15384,16 +15386,33 @@ begin
|
||||
if InUpdate then
|
||||
exit;
|
||||
FillChar(Msg, SizeOf(Msg), #0);
|
||||
HasChanges := (AYear <> p1) or (AMonth <> p2);
|
||||
if AYear <> p1 then
|
||||
begin
|
||||
Msg.Msg := LM_YEARCHANGED;
|
||||
DeliverMessage(Msg);
|
||||
Msg.Msg := LM_CHANGED;
|
||||
DeliverMessage(Msg);
|
||||
end;
|
||||
|
||||
if AMonth <> p2 then
|
||||
begin
|
||||
Msg.Msg := LM_MONTHCHANGED;
|
||||
DeliverMessage(Msg);
|
||||
Msg.Msg := LM_CHANGED;
|
||||
DeliverMessage(Msg);
|
||||
end;
|
||||
|
||||
if HasChanges then
|
||||
begin
|
||||
ADate := QDate_create();
|
||||
try
|
||||
QCalendarWidget_selectedDate(QCalendarWidgetH(Widget), ADate);
|
||||
QDate_setYMD(ADate, p1, p2, QDate_day(ADate));
|
||||
SetSelectedDate(ADate);
|
||||
finally
|
||||
QDate_destroy(ADate);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user