You've already forked lazarus-ccr
tvplanit: Create default popupmenu items in the constructor rather than when the menu drops down. Adjust translation of popupmenu items.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8392 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -38,7 +38,8 @@ uses
|
||||
{$ELSE}
|
||||
Windows, Messages.
|
||||
{$ENDIF}
|
||||
Classes, Graphics, Controls, Dialogs, Forms, ExtCtrls, SysUtils, ImgList,
|
||||
Classes, Graphics,
|
||||
Controls, Dialogs, Forms, ExtCtrls, SysUtils, ImgList, Menus,
|
||||
VpConst, VpSR;
|
||||
|
||||
const
|
||||
@ -76,6 +77,31 @@ type
|
||||
|
||||
TVpHintMode = (hmPlannerHint, hmComponentHint);
|
||||
|
||||
TVpMenuItemKind = (mikSeparator,
|
||||
mikAddEvent, mikEditEvent, mikDeleteEvent,
|
||||
mikAddTask, mikEditTask, mikDeleteTask,
|
||||
mikAddContact, mikEditContact, mikDeleteContact,
|
||||
mikImportEventFromICal, mikImportTaskFromICal, mikImportContactFromVCards,
|
||||
mikResourceGroups, mikNoOverlaidEvents,
|
||||
mikChangeDate, mikCustomDate, mikToday, mikYesterday, mikTomorrow,
|
||||
mikPrevDay, mikNextDay, mikPrevWeek, mikNextWeek,
|
||||
mikPrevMonth, mikNextMonth, mikPrevYear, mikNextYear
|
||||
);
|
||||
|
||||
const
|
||||
VpMenuCaptions: array[TVpMenuItemKind] of String = ('-',
|
||||
RSPopupAddEvent, RSPopupEditEvent, RSPopupDeleteEvent,
|
||||
RSTaskPopupAdd, RSTaskPopupEdit, RSTaskPopupDelete,
|
||||
RSContactPopupAdd, RSContactPopupEdit, RSContactPopupDelete,
|
||||
RSPopupAddEventFromICal, RSPopupAddTaskFromICal, RSContactPopupAddVCards,
|
||||
RSPopupResourceGroups, RSNoOverlayedEvents,
|
||||
RSPopupChangeDate, RSCustomDate, RSToday, RSYesterday, RSTomorrow,
|
||||
RSPrevDay, RSNextDay, RSPrevWeek, RSNextWeek,
|
||||
RSPrevMonth, RSNextMonth, RSPrevYear, RSNextYear
|
||||
);
|
||||
|
||||
type
|
||||
|
||||
{ XML definitions }
|
||||
DOMString = WideString;
|
||||
|
||||
@ -392,6 +418,15 @@ type
|
||||
AData: pointer): TRect; override;
|
||||
end;
|
||||
|
||||
TVpMenuItem = class(TMenuItem)
|
||||
private
|
||||
FKind: TVpMenuItemKind;
|
||||
procedure SetKind(AValue: TVpMenuItemKind);
|
||||
public
|
||||
procedure Translate;
|
||||
property Kind: TVpMenuItemKind read FKind write SetKind;
|
||||
end;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
@ -974,5 +1009,31 @@ begin
|
||||
Result := inherited CalcHintRect(MAX_HINT_WIDTH, AHint, AData);
|
||||
end;
|
||||
|
||||
|
||||
{ TVpMenuItem }
|
||||
|
||||
procedure TVpMenuItem.SetKind(AValue: TVpMenuItemKind);
|
||||
begin
|
||||
FKind := AValue;
|
||||
Caption := VpMenuCaptions[FKind];
|
||||
end;
|
||||
|
||||
procedure TVpMenuItem.Translate;
|
||||
|
||||
procedure _Translate(AItem: TMenuItem);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
if (AItem is TVpMenuItem) then
|
||||
AItem.Caption := VpMenuCaptions[TVpMenuItem(AItem).Kind];
|
||||
if AItem.Count > 0then
|
||||
for i := 0 to AItem.Count-1 do
|
||||
_Translate(AItem.Items[i]);
|
||||
end;
|
||||
|
||||
begin
|
||||
_Translate(self);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
@ -200,7 +200,6 @@ type
|
||||
procedure PopupAddContact(Sender: TObject);
|
||||
procedure PopupAddVCards(Sender: TObject);
|
||||
procedure PopupDeleteContact(Sender: TObject);
|
||||
procedure PopupDropdownEvent(Sender: TObject);
|
||||
procedure PopupEditContact(Sender: TObject);
|
||||
procedure EditContact;
|
||||
procedure EndEdit(Sender: TObject);
|
||||
@ -501,7 +500,10 @@ begin
|
||||
Width := 225;
|
||||
|
||||
FDefaultPopup := TPopupMenu.Create(Self);
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
InitializeDefaultPopup;
|
||||
|
||||
LoadLanguage;
|
||||
|
||||
cgHookUp;
|
||||
end;
|
||||
@ -1242,7 +1244,6 @@ begin
|
||||
if Assigned(cgInplaceEditor) and not cgInplaceEditor.Visible then
|
||||
Invalidate;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpContactGrid.MouseUp(Button: TMouseButton; Shift: TShiftState;
|
||||
X, Y: Integer);
|
||||
@ -1254,7 +1255,6 @@ begin
|
||||
ColumnWidth := cgNewColWidth;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpContactGrid.cgSpawnContactEditDialog(IsNewContact: Boolean);
|
||||
var
|
||||
@ -1502,43 +1502,46 @@ end;
|
||||
|
||||
procedure TVpContactGrid.InitializeDefaultPopup;
|
||||
var
|
||||
NewItem: TMenuItem;
|
||||
NewItem: TVpMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSContactPopupAdd <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSContactPopupAdd;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikAddContact;
|
||||
NewItem.OnClick := PopupAddContact;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RsContactPopupAddVCards <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSContactPopupAddVCards;
|
||||
NewItem.OnClick := PopupAddVCards;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSContactPopupEdit <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSContactPopupEdit;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikEditContact;
|
||||
NewItem.OnClick := PopupEditContact;
|
||||
NewItem.Tag := 1;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSContactPopupDelete <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSContactPopupDelete;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikDeleteContact;
|
||||
NewItem.OnClick := PopupDeleteContact;
|
||||
NewItem.Tag := 1;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RsContactPopupAddVCards <> '' then begin
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikImportContactFromVCards;
|
||||
NewItem.OnClick := PopupAddVCards;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpContactGrid.PopupAddContact(Sender: TObject);
|
||||
var
|
||||
@ -1634,11 +1637,6 @@ begin
|
||||
DeleteActiveContact (True);
|
||||
end;
|
||||
|
||||
procedure TVpContactGrid.PopupDropDownEvent(Sender: TObject);
|
||||
begin
|
||||
InitializeDefaultPopup;
|
||||
end;
|
||||
|
||||
procedure TVpContactGrid.PopupEditContact (Sender : TObject);
|
||||
begin
|
||||
if ReadOnly then
|
||||
|
@ -889,7 +889,7 @@ begin
|
||||
// popup menu
|
||||
FDefaultPopup := TPopupMenu.Create(Self);
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
InitializeDefaultPopup;
|
||||
|
||||
LoadLanguage;
|
||||
|
||||
@ -1010,14 +1010,18 @@ begin
|
||||
end;
|
||||
|
||||
procedure TVpDayView.LoadLanguage;
|
||||
var
|
||||
item: TMenuItem;
|
||||
begin
|
||||
dvDayUpBtn.Hint := RSNextDay;
|
||||
dvDayDownBtn.Hint := RSPrevDay;
|
||||
dvTodayBtn.Hint := RSToday;
|
||||
dvWeekUpBtn.Hint := RSNextWeek;
|
||||
dvWeekDownBtn.Hint := RSPrevWeek;
|
||||
FDefaultPopup.Items.Clear;
|
||||
InitializeDefaultPopup;
|
||||
|
||||
for item in FDefaultPopup.Items do
|
||||
if item is TVpMenuItem then
|
||||
TVpMenuItem(item).Translate;
|
||||
end;
|
||||
|
||||
{=====}
|
||||
@ -1134,32 +1138,24 @@ end;
|
||||
|
||||
procedure TVpDayView.InitializeDefaultPopup;
|
||||
var
|
||||
NewItem: TMenuItem;
|
||||
NewSubItem: TMenuItem;
|
||||
NewItem: TVpMenuItem;
|
||||
NewSubItem: TVpMenuItem;
|
||||
canEdit: Boolean;
|
||||
begin
|
||||
canEdit := (FActiveEvent <> nil) and FActiveEvent.CanEdit;
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSPopupAddEvent <> '' then begin // Add
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupAddEvent;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikAddEvent;
|
||||
NewItem.OnClick := PopupAddEvent;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPopupAddEventFromICal <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupAddEventFromICal; // Import from iCal
|
||||
NewItem.OnClick := PopupAddFromICalFile;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPopupEditEvent <> '' then begin // Edit
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupEditEvent;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikEditEvent;
|
||||
NewItem.Enabled := canEdit;
|
||||
NewItem.OnClick := PopupEditEvent;
|
||||
NewItem.Tag := 1;
|
||||
@ -1167,139 +1163,151 @@ begin
|
||||
end;
|
||||
|
||||
if RSPopupDeleteEvent <> '' then begin // Delete
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupDeleteEvent;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikDeleteEvent;
|
||||
NewItem.Enabled := canEdit;
|
||||
NewItem.OnClick := PopupDeleteEvent;
|
||||
NewItem.Tag := 1;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TMenuItem.Create(Self); // ----
|
||||
NewItem.Caption := '-';
|
||||
NewItem := TVpMenuItem.Create(Self); // ----
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSPopupChangeDate <> '' then begin // Change date >
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupChangeDate;
|
||||
if RSPopupAddEventFromICal <> '' then begin
|
||||
NewItem := TVpMenuItem.Create(Self); // Import from iCal
|
||||
NewItem.Kind := mikImportEventFromICal;
|
||||
NewItem.OnClick := PopupAddFromICalFile;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TVpMenuItem.Create(Self); // ----
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSPopupChangeDate <> '' then begin // Change date
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikChangeDate;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSToday <> '' then begin // Today
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSToday;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikToday;
|
||||
NewSubItem.OnClick := PopupToday;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // ---
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // ---
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSYesterday <> '' then begin // Yesterday
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSYesterday;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikYesterday;
|
||||
NewSubItem.OnClick := PopupYesterday;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSTomorrow <> '' then begin // Tomorrow
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSTomorrow;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikTomorrow;
|
||||
NewSubItem.OnClick := PopupTomorrow;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // --
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // --
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextDay <> '' then begin // Next day
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextDay;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextDay;
|
||||
NewSubItem.OnClick := PopupNextDay;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevDay <> '' then begin // Prev day
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevDay;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevDay;
|
||||
NewSubItem.OnClick := PopupPrevDay;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // ---
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // ---
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextWeek <> '' then begin // Next week
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextWeek;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextWeek;
|
||||
NewSubItem.OnClick := PopupNextWeek;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevWeek <> '' then begin // Prev week
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevWeek;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevWeek;
|
||||
NewSubItem.OnClick := PopupPrevWeek;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // ---
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // ---
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextMonth <> '' then begin // Next month
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextMonth;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextMonth;
|
||||
NewSubItem.OnClick := PopupNextMonth;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevMonth <> '' then begin // Prev Month
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevMonth;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevMonth;
|
||||
NewSubItem.OnClick := PopupPrevMonth;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // ---
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // ---
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextYear <> '' then begin // Next year
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextYear;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextYear;
|
||||
NewSubItem.OnClick := PopupNextYear;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevYear <> '' then begin // Prev year
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevYear;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevYear;
|
||||
NewSubItem.OnClick := PopupPrevYear;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // ---
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // ---
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSCustomDate <> '' then begin // Prev year
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSCustomDate;
|
||||
if RSCustomDate <> '' then begin // Custom date
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikCustomDate;
|
||||
NewSubItem.OnClick := PopupCustomDate;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
@ -1309,7 +1317,6 @@ begin
|
||||
if (Datastore <> nil) and (Datastore.Resource <> nil) then
|
||||
AddResourceGroupMenu(FDefaultPopup.Items, Datastore.Resource, PopupPickResourceGroupEvent);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpDayView.PopupAddEvent(Sender: TObject);
|
||||
var
|
||||
@ -1414,51 +1421,23 @@ begin
|
||||
end;
|
||||
|
||||
procedure TVpDayView.PopupNextMonth(Sender: TObject);
|
||||
var
|
||||
M, D, Y: Word;
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
if M = 12 then begin
|
||||
M := 1;
|
||||
Y := Y + 1;
|
||||
end else
|
||||
M := M + 1;
|
||||
if (D > DaysInAMonth(Y, M)) then
|
||||
D := DaysInAMonth(Y, M);
|
||||
|
||||
Date := EncodeDate(Y, M, D);
|
||||
Date := IncMonth(Date, +1);
|
||||
end;
|
||||
|
||||
procedure TVpDayView.PopupPrevMonth(Sender: TObject);
|
||||
var
|
||||
M, D, Y: Word;
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
if M = 1 then begin
|
||||
M := 12;
|
||||
Y := Y - 1;
|
||||
end else
|
||||
M := M - 1;
|
||||
if (D > DaysInAMonth(Y, M)) then
|
||||
D := DaysInAMonth(Y, M);
|
||||
|
||||
Date := EncodeDate(Y, M, D);
|
||||
Date := IncMonth(Date, -1);
|
||||
end;
|
||||
|
||||
procedure TVpDayView.PopupNextYear(Sender: TObject);
|
||||
var
|
||||
M, D, Y : Word;
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
Date := EncodeDate(Y + 1, M, 1);
|
||||
Date := IncYear(Date);
|
||||
end;
|
||||
|
||||
procedure TVpDayView.PopupPrevYear(Sender: TObject);
|
||||
var
|
||||
M, D, Y: Word;
|
||||
begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
Date := EncodeDate(Y - 1, M, 1);
|
||||
Date := IncYear(Date, -1);
|
||||
end;
|
||||
|
||||
procedure TVpDayView.PopupCustomDate(Sender: TObject);
|
||||
|
@ -958,8 +958,9 @@ var
|
||||
datastore: TVpCustomDatastore;
|
||||
grp: TVpResourceGroup;
|
||||
list: TList;
|
||||
newItem: TMenuItem;
|
||||
newSubItem: TMenuItem;
|
||||
newItem: TVpMenuItem;
|
||||
newSubItem: TVpMenuItem;
|
||||
newSubItem1: TMenuItem;
|
||||
i: Integer;
|
||||
begin
|
||||
if (AMenu = nil) or (AResource = nil) or (AResource.Owner = nil) then
|
||||
@ -974,13 +975,13 @@ begin
|
||||
try
|
||||
datastore.Resource.GetResourceGroups(list);
|
||||
if list.Count > 0 then begin
|
||||
newItem := TMenuItem.Create(AMenu.Owner);
|
||||
newItem.Caption := RSPopupResourceGroups;
|
||||
newItem := TVpMenuItem.Create(AMenu.Owner);
|
||||
newItem.Kind := mikResourceGroups;
|
||||
newItem.Tag := 0;
|
||||
AMenu.Add(newItem);
|
||||
|
||||
newSubItem := TMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Caption := RSNoOverlayedEvents;
|
||||
newSubItem := TVpMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Kind := mikNoOverlaidEvents;
|
||||
newSubItem.OnClick := AEventHandler;
|
||||
newSubItem.GroupIndex := 1;
|
||||
newSubItem.AutoCheck := true;
|
||||
@ -989,21 +990,21 @@ begin
|
||||
newItem.Add(newSubItem);
|
||||
|
||||
if list.Count > 1 then begin
|
||||
newSubItem := TMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Caption := '-';
|
||||
newSubItem := TVpMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Kind := mikSeparator;
|
||||
newItem.Add(newSubItem);
|
||||
end;
|
||||
|
||||
for i:=0 to list.Count-1 do begin
|
||||
grp := TVpResourceGroup(list[i]);
|
||||
newSubItem := TMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Caption := grp.Caption;
|
||||
newSubItem.OnClick := AEventHandler;
|
||||
newSubItem.GroupIndex := 1;
|
||||
newSubItem.AutoCheck := true;
|
||||
newSubItem.Checked := (datastore.Resource.Group = grp);
|
||||
newSubItem.Tag := PtrInt(grp);
|
||||
newItem.Add(NewSubItem);
|
||||
newSubItem1 := TMenuItem.Create(AMenu.Owner);
|
||||
newSubItem1.Caption := grp.Caption;
|
||||
newSubItem1.OnClick := AEventHandler;
|
||||
newSubItem1.GroupIndex := 1;
|
||||
newSubItem1.AutoCheck := true;
|
||||
newSubItem1.Checked := (datastore.Resource.Group = grp);
|
||||
newSubItem1.Tag := PtrInt(grp);
|
||||
newItem.Add(NewSubItem1);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
|
@ -275,7 +275,6 @@ type
|
||||
|
||||
{ Popup menu }
|
||||
procedure InitializeDefaultPopup;
|
||||
procedure PopupDropDownEvent(Sender: TObject);
|
||||
procedure PopupToday(Sender: TObject);
|
||||
procedure PopupNextMonth(Sender: TObject);
|
||||
procedure PopupPrevMonth(Sender: TObject);
|
||||
@ -550,8 +549,8 @@ begin
|
||||
Width := 300;
|
||||
|
||||
FDefaultPopup := TPopupMenu.Create(Self);
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
InitializeDefaultPopup;
|
||||
LoadLanguage;
|
||||
|
||||
mvHookUp;
|
||||
@ -619,13 +618,14 @@ begin
|
||||
end;
|
||||
|
||||
procedure TVpMonthView.LoadLanguage;
|
||||
var
|
||||
item: TMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
InitializeDefaultPopup;
|
||||
for item in FDefaultPopup.Items do
|
||||
if item is TVpMenuItem then
|
||||
TVpMenuItem(item).Translate;
|
||||
end;
|
||||
|
||||
{=====}
|
||||
|
||||
procedure TVpMonthView.Invalidate;
|
||||
begin
|
||||
inherited;
|
||||
@ -1227,71 +1227,66 @@ end;
|
||||
|
||||
procedure TVpMonthView.InitializeDefaultPopup;
|
||||
var
|
||||
NewItem : TMenuItem;
|
||||
NewItem : TVpMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSToday <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSToday;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikToday;
|
||||
NewItem.OnClick := PopupToday;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := '-';
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSNextMonth <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSNextMonth;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikNextMonth;
|
||||
NewItem.OnClick := PopupNextMonth;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPrevMonth <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPrevMonth;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikPrevMonth;
|
||||
NewItem.OnClick := PopupPrevMonth;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := '-';
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSNextYear <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSNextYear;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikNextYear;
|
||||
NewItem.OnClick := PopupNextYear;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPrevYear <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPrevYear;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikPrevYear;
|
||||
NewItem.OnClick := PopupPrevYear;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := '-';
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSCustomDate <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSCustomDate;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikCustomDate;
|
||||
NewItem.OnClick := PopupCustomDate;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpMonthView.PopupDropDownEvent(Sender: TObject);
|
||||
begin
|
||||
InitializeDefaultPopup;
|
||||
end;
|
||||
|
||||
procedure TVpMonthView.PopupToday(Sender: TObject);
|
||||
begin
|
||||
Date := Now;
|
||||
|
@ -174,7 +174,6 @@ type
|
||||
procedure PopupAddTask(Sender: TObject);
|
||||
procedure PopupAddFromICalFile(Sender: TObject);
|
||||
procedure PopupDeleteTask(Sender: TObject);
|
||||
procedure PopupDropdownEvent(Sender: TObject);
|
||||
procedure PopupEditTask(Sender: TObject);
|
||||
procedure tlSetVScrollPos;
|
||||
procedure tlCalcRowHeight;
|
||||
@ -434,7 +433,6 @@ begin
|
||||
// DoubleBuffered := False;
|
||||
{$ENDIF}
|
||||
end;
|
||||
{=====}
|
||||
{
|
||||
procedure TVpTLInPlaceEdit.Move(const Loc: TRect; Redraw: Boolean);
|
||||
begin
|
||||
@ -445,14 +443,12 @@ begin
|
||||
if Redraw then Invalidate;
|
||||
SetFocus;
|
||||
end; }
|
||||
{=====}
|
||||
|
||||
procedure TVpTLInPlaceEdit.CreateParams(var Params: TCreateParams);
|
||||
begin
|
||||
inherited CreateParams(Params);
|
||||
Params.Style := Params.Style{ or ES_MULTILINE};
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTLInPlaceEdit.KeyDown(var Key: Word; Shift: TShiftState);
|
||||
var
|
||||
@ -491,7 +487,6 @@ begin
|
||||
inherited;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
(*****************************************************************************)
|
||||
{ TVpTaskList }
|
||||
@ -535,11 +530,13 @@ begin
|
||||
Width := 169;
|
||||
|
||||
FDefaultPopup := TPopupMenu.Create(Self);
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
InitializeDefaultPopup;
|
||||
|
||||
LoadLanguage;
|
||||
|
||||
tlHookUp;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
destructor TVpTaskList.Destroy;
|
||||
begin
|
||||
@ -552,7 +549,6 @@ begin
|
||||
|
||||
inherited;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.DeleteActiveTask(Verify: Boolean);
|
||||
var
|
||||
@ -575,12 +571,14 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.LoadLanguage;
|
||||
var
|
||||
item: TMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
InitializeDefaultPopup;
|
||||
for item in FDefaultPopup.Items do
|
||||
if item is TVpMenuItem then
|
||||
TVpMenuItem(item).Translate;
|
||||
end;
|
||||
|
||||
procedure TVpTaskList.LinkHandler(Sender: TComponent;
|
||||
@ -592,7 +590,6 @@ begin
|
||||
neInvalidate : Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.tlHookUp;
|
||||
var
|
||||
@ -608,7 +605,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.Loaded;
|
||||
begin
|
||||
@ -654,14 +650,12 @@ begin
|
||||
False { Display Only - True for a printed version, }
|
||||
); { False for an interactive version }
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.PaintToCanvas(ACanvas: TCanvas; ARect: TRect;
|
||||
Angle: TVpRotationAngle);
|
||||
begin
|
||||
RenderToCanvas(ACanvas, ARect, Angle, 1, Now, -1, -1, gr30Min, True);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.RenderToCanvas(RenderCanvas: TCanvas; RenderIn: TRect;
|
||||
Angle: TVpRotationAngle; Scale: Extended; RenderDate : TDateTime;
|
||||
@ -687,7 +681,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.tlCalcRowHeight;
|
||||
var
|
||||
@ -706,7 +699,6 @@ begin
|
||||
tlRowHeight := tlRowHeight + TextMargin * 2;
|
||||
Canvas.Font.Assign(SaveFont);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.SetDrawingStyle(const Value: TVpDrawingStyle);
|
||||
begin
|
||||
@ -715,7 +707,6 @@ begin
|
||||
Repaint;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.SetTaskIndex(Value: Integer);
|
||||
begin
|
||||
@ -732,7 +723,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
function TVpTaskList.GetTaskIndex: Integer;
|
||||
begin
|
||||
@ -742,7 +732,6 @@ begin
|
||||
Result := FActiveTask.Owner.IndexOf(FActiveTask);
|
||||
// result := FActiveTask.ItemIndex;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.SetLineColor(Value: TColor);
|
||||
begin
|
||||
@ -751,7 +740,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.SetMaxVisibleTasks(Value: Word);
|
||||
begin
|
||||
@ -761,7 +749,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
{$IFNDEF LCL}
|
||||
procedure TVpTaskList.WMSize(var Msg: TWMSize);
|
||||
@ -773,7 +760,6 @@ begin
|
||||
{ force a repaint on resize }
|
||||
Invalidate;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.CreateParams(var Params: TCreateParams);
|
||||
begin
|
||||
@ -787,7 +773,6 @@ begin
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.CreateWnd;
|
||||
begin
|
||||
@ -795,7 +780,6 @@ begin
|
||||
tlCalcRowHeight;
|
||||
tlSetVScrollPos;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
{$IFNDEF LCL}
|
||||
procedure TVpTaskList.WMLButtonDown(var Msg: TWMLButtonDown);
|
||||
@ -812,7 +796,6 @@ begin
|
||||
tlSetActiveTaskByCoord (Point(Msg.XPos, Msg.YPos));
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
{$IFNDEF LCL}
|
||||
procedure TVpTaskList.WMRButtonDown(var Msg: TWMRButtonDown);
|
||||
@ -844,7 +827,6 @@ begin
|
||||
FDefaultPopup.Popup(Msg.XPos + ClientOrigin.x, Msg.YPos + ClientOrigin.y);
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
{$IFNDEF LCL}
|
||||
procedure TVpTaskList.WMLButtonDblClk(var Msg: TWMLButtonDblClk);
|
||||
@ -863,47 +845,49 @@ begin
|
||||
if not ReadOnly then
|
||||
tlSpawnTaskEditDialog(FActiveTask = nil);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.InitializeDefaultPopup;
|
||||
var
|
||||
NewItem: TMenuItem;
|
||||
NewItem: TVpMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSTaskPopupAdd <> '' then begin // "Add"
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSTaskPopupAdd;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikAddTask;
|
||||
NewItem.OnClick := PopupAddTask;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPopupAddTaskFromICal <> '' then begin // Import from iCal
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupAddTaskFromICal;
|
||||
NewItem.OnClick := PopupAddFromICalFile;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSTaskPopupEdit <> '' then begin // "Edit"
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSTaskPopupEdit;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikEditTask;
|
||||
NewItem.OnClick := PopupEditTask;
|
||||
NewItem.Tag := 1;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSTaskPopupDelete <> '' then begin // "Delete"
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSTaskPopupDelete;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikDeleteTask;
|
||||
NewItem.OnClick := PopupDeleteTask;
|
||||
NewItem.Tag := 1;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPopupAddTaskFromICal <> '' then begin // Import from iCal
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikImportTaskFromICal;
|
||||
NewItem.OnClick := PopupAddFromICalFile;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.PopupAddTask(Sender: TObject);
|
||||
begin
|
||||
@ -915,7 +899,6 @@ begin
|
||||
Repaint;
|
||||
tlSpawnTaskEditDialog(True);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.PopupAddFromICalFile(Sender: TObject);
|
||||
var
|
||||
@ -958,11 +941,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpTaskList.PopupDropdownEvent(Sender: TObject);
|
||||
begin
|
||||
InitializeDefaultPopup;
|
||||
end;
|
||||
|
||||
procedure TVpTaskList.PopupEditTask(Sender: TObject);
|
||||
begin
|
||||
if ReadOnly then
|
||||
@ -973,7 +951,6 @@ begin
|
||||
tlSpawnTaskEditDialog(False);
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.tlSpawnTaskEditDialog(IsNewTask: Boolean);
|
||||
var
|
||||
@ -1019,7 +996,6 @@ begin
|
||||
end;
|
||||
Invalidate;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
{$IFNDEF LCL}
|
||||
procedure TVpTaskList.CMWantSpecialKey(var Msg: TCMWantSpecialKey);
|
||||
@ -1028,7 +1004,6 @@ begin
|
||||
Msg.Result := 1;
|
||||
end;
|
||||
{$ENDIF}
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.tlEditInPlace(Sender: TObject);
|
||||
begin
|
||||
@ -1038,7 +1013,6 @@ begin
|
||||
tlClickTimer.Enabled := false;
|
||||
EditTask;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.EditTask;
|
||||
var
|
||||
@ -1085,7 +1059,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.EndEdit(Sender: TObject);
|
||||
begin
|
||||
@ -1103,7 +1076,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.KeyDown(var Key: Word; Shift: TShiftState);
|
||||
var
|
||||
@ -1174,7 +1146,6 @@ begin
|
||||
if TaskIndex >= tlItemsBefore + tlVisibleItems then
|
||||
tlItemsBefore := TaskIndex - tlVisibleItems + 1;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
{$IFNDEF LCL}
|
||||
procedure TVpTaskList.WMVScroll(var Msg: TWMVScroll);
|
||||
@ -1208,7 +1179,6 @@ begin
|
||||
end;
|
||||
Invalidate;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.tlSetVScrollPos;
|
||||
var
|
||||
@ -1231,7 +1201,7 @@ begin
|
||||
end;
|
||||
SetScrollInfo(Handle, SB_VERT, SI, True);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.SetShowIcon(const v: Boolean);
|
||||
begin
|
||||
if v <> FShowIcon then begin
|
||||
@ -1239,7 +1209,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.SetShowResourceName(Value: Boolean);
|
||||
begin
|
||||
@ -1248,7 +1217,6 @@ begin
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpTaskList.tlSetActiveTaskByCoord(Pnt: TPoint);
|
||||
var
|
||||
@ -1293,7 +1261,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
function TVpTaskList.tlVisibleTaskToTaskIndex(const VisTaskIndex: Integer): Integer;
|
||||
var
|
||||
|
@ -215,7 +215,6 @@ type
|
||||
procedure PopupPrevYear(Sender: TObject);
|
||||
procedure PopupCustomDate(Sender: TObject);
|
||||
procedure PopupPickResourceGroupEvent(Sender: TObject);
|
||||
procedure PopupDropdownEvent(Sender: TObject);
|
||||
procedure InitializeDefaultPopup;
|
||||
|
||||
{ internal methods }
|
||||
@ -552,14 +551,15 @@ begin
|
||||
|
||||
FDefaultPopup := TPopupMenu.Create (Self);
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
LoadLanguage;
|
||||
InitializeDefaultPopup;
|
||||
|
||||
FAllDayEventAttr.BackgroundColor := Color;
|
||||
FAllDayEventAttr.EventBackgroundColor := clBtnFace;
|
||||
FAllDayEventAttr.EventBorderColor := LineColor;
|
||||
FAllDayEventAttr.Font.Assign (Font);
|
||||
|
||||
LoadLanguage;
|
||||
|
||||
wvHookUp;
|
||||
SetActiveDate(Now);
|
||||
end;
|
||||
@ -665,15 +665,15 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TVpWeekView.LoadLanguage;
|
||||
var
|
||||
item: TMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
InitializeDefaultPopup;
|
||||
for item in FDefaultPopup.Items do
|
||||
if item is TVpMenuItem then
|
||||
TVpMenuItem(item).Translate;
|
||||
end;
|
||||
|
||||
{=====}
|
||||
|
||||
procedure TVpWeekView.Invalidate;
|
||||
begin
|
||||
inherited;
|
||||
@ -716,7 +716,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpWeekView.Loaded;
|
||||
begin
|
||||
@ -724,7 +723,6 @@ begin
|
||||
wvLoaded := true;
|
||||
wvPopulate;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
function TVpWeekView.GetControlType : TVpItemType;
|
||||
begin
|
||||
@ -745,7 +743,6 @@ begin
|
||||
False // Display Only
|
||||
);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpWeekView.PaintToCanvas(ACanvas: TCanvas; ARect: TRect;
|
||||
Angle: TVpRotationAngle; ADate: TDateTime);
|
||||
@ -770,14 +767,12 @@ begin
|
||||
wvPainting := false;
|
||||
end;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpWeekView.wvPopulate;
|
||||
begin
|
||||
if DataStore <> nil then
|
||||
DataStore.Date := FActiveDate;
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpWeekView.DeleteActiveEvent(Verify: Boolean);
|
||||
var
|
||||
@ -1173,32 +1168,24 @@ end;
|
||||
|
||||
procedure TVpWeekView.InitializeDefaultPopup;
|
||||
var
|
||||
NewItem: TMenuItem;
|
||||
NewSubItem: TMenuItem;
|
||||
NewItem: TVpMenuItem;
|
||||
NewSubItem: TVpMenuItem;
|
||||
canEdit: Boolean;
|
||||
begin
|
||||
canEdit := (FActiveEvent <> nil) and FActiveEvent.CanEdit;
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSPopupAddEvent <> '' then begin // Add
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupAddEvent;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikAddEvent;
|
||||
NewItem.OnClick := PopupAddEvent;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPopupAddEventFromICal <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupAddEventFromICal; // Import from iCal
|
||||
NewItem.OnClick := PopupAddFromICalFile;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
if RSPopupEditEvent <> '' then begin // Edit
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupEditEvent;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikEditEvent;
|
||||
NewItem.Enabled := canEdit;
|
||||
NewItem.OnClick := PopupEditEvent;
|
||||
NewItem.Tag := 1;
|
||||
@ -1206,99 +1193,111 @@ begin
|
||||
end;
|
||||
|
||||
if RSPopupDeleteEvent <> '' then begin // Delete
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupDeleteEvent;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikDeleteEvent;
|
||||
NewItem.Enabled := canEdit;
|
||||
NewItem.OnClick := PopupDeleteEvent;
|
||||
NewItem.Tag := 1;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TMenuItem.Create(Self); // ---
|
||||
NewItem.Caption := '-';
|
||||
NewItem := TVpMenuItem.Create(Self); // ---
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSPopupAddEventFromICal <> '' then begin
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikImportEventFromICal; // Import from iCal
|
||||
NewItem.OnClick := PopupAddFromICalFile;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
end;
|
||||
|
||||
NewItem := TVpMenuItem.Create(Self); // ---
|
||||
NewItem.Kind := mikSeparator;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSPopupChangeDate <> '' then begin // Change date
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSPopupChangeDate;
|
||||
NewItem := TVpMenuItem.Create(Self);
|
||||
NewItem.Kind := mikChangeDate;
|
||||
NewItem.Tag := 0;
|
||||
FDefaultPopup.Items.Add(NewItem);
|
||||
|
||||
if RSToday <> '' then begin // Today
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSToday;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikToday;
|
||||
NewSubItem.OnClick := PopupToday;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // -------
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // -------
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextWeek <> '' then begin // Next week
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextWeek;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextWeek;
|
||||
NewSubItem.OnClick := PopupNextWeek;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevWeek <> '' then begin // Previous week
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevWeek;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevWeek;
|
||||
NewSubItem.OnClick := PopupPrevWeek;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // -----
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // -----
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextMonth <> '' then begin // Next month
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextMonth;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextMonth;
|
||||
NewSubItem.OnClick := PopupNextMonth;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevMonth <> '' then begin // Previous month
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevMonth;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevMonth;
|
||||
NewSubItem.OnClick := PopupPrevMonth;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // -------
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // -------
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSNextYear <> '' then begin // Next year
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSNextYear;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikNextYear;
|
||||
NewSubItem.OnClick := PopupNextYear;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
if RSPrevYear <> '' then begin // previous year
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSPrevYear;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikPrevYear;
|
||||
NewSubItem.OnClick := PopupPrevYear;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
|
||||
NewSubItem := TMenuItem.Create(Self); // ---
|
||||
NewSubItem.Caption := '-';
|
||||
NewSubItem := TVpMenuItem.Create(Self); // ---
|
||||
NewSubItem.Kind := mikSeparator;
|
||||
NewItem.Add(NewSubItem);
|
||||
|
||||
if RSCustomDate <> '' then begin // Custom date
|
||||
NewSubItem := TMenuItem.Create(Self);
|
||||
NewSubItem.Caption := RSCustomDate;
|
||||
NewSubItem := TVpMenuItem.Create(Self);
|
||||
NewSubItem.Kind := mikCustomDate;
|
||||
NewSubItem.OnClick := PopupCustomDate;
|
||||
NewSubItem.Tag := 0;
|
||||
NewItem.Add(NewSubItem);
|
||||
@ -1434,11 +1433,6 @@ begin
|
||||
Datastore.UpdateGroupEvents;
|
||||
end;
|
||||
|
||||
procedure TVpWeekView.PopupDropDownEvent(Sender: TObject);
|
||||
begin
|
||||
InitializeDefaultPopup;
|
||||
end;
|
||||
|
||||
procedure TVpWeekView.wvSpawnEventEditDialog(IsNewEvent: Boolean);
|
||||
var
|
||||
AllowIt: Boolean;
|
||||
|
Reference in New Issue
Block a user