tvplanit: Add option for showing/hiding overlayed events to dayview and weekview context menu.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5145 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
981bf5d3a4
commit
f1348844bf
@ -413,7 +413,8 @@ begin
|
||||
datastore := VpControlLink1.Datastore;
|
||||
datastore.Resources.AddResourceGroup(GROUP_NAME, [1, 2]);
|
||||
if datastore.Resource <> nil then
|
||||
datastore.Resource.Group := GROUP_NAME;
|
||||
datastore.Resource.Group := GROUP_NAME else
|
||||
datastore.Resource.Group := '';
|
||||
// Important: This is not called internally so far!
|
||||
datastore.RefreshEvents;
|
||||
end;
|
||||
|
@ -954,6 +954,10 @@ msgstr "Andere"
|
||||
msgid "Pixels"
|
||||
msgstr "Pixel"
|
||||
|
||||
#: vpsr.rspopupresourcegroups
|
||||
msgid "Overlay events"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsposition
|
||||
msgid "Position"
|
||||
msgstr "Position"
|
||||
@ -1627,3 +1631,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."
|
||||
|
||||
|
@ -105,13 +105,25 @@ msgstr "Poignée de déclenchement non valide"
|
||||
msgid "Birth date:"
|
||||
msgstr "Date de naissance:"
|
||||
|
||||
#: vpsr.rsbrowsererror
|
||||
msgid ""
|
||||
"Unable to start web browser. Make sure you have it properly setup on your "
|
||||
"system."
|
||||
#: vpsr.rsbltotrline
|
||||
msgid "bottom-left to top-right line"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsbottomline
|
||||
msgid "bottom line"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsbrowsererror
|
||||
msgid "Unable to start web browser. Make sure you have it properly setup on your system."
|
||||
msgstr "Échec de démarrage de votre browser internet. Veuillez verifier que vous l'avez bien configuré sur votre système."
|
||||
|
||||
#: vpsr.rsbrushcaption
|
||||
msgid "Brush"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rscalendarelement
|
||||
msgid "Calendar"
|
||||
msgstr ""
|
||||
"Échec de démarrage de votre browser internet. Veuillez verifier que vous l'"
|
||||
"avez bien configuré sur votre système."
|
||||
|
||||
#: vpsr.rscalendarnextmonth
|
||||
msgctxt "vpsr.rscalendarnextmonth"
|
||||
@ -182,6 +194,16 @@ msgctxt "vpsr.rscancelbtn"
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: vpsr.rscaption
|
||||
msgctxt "vpsr.rscaption"
|
||||
msgid "Caption"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rscaptionelement
|
||||
msgctxt "vpsr.rscaptionelement"
|
||||
msgid "Caption"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rscategory
|
||||
msgid "Category"
|
||||
msgstr "Catégorie"
|
||||
@ -223,6 +245,10 @@ msgstr "Ville:"
|
||||
msgid "&Close"
|
||||
msgstr "&Fermer"
|
||||
|
||||
#: vpsr.rscolorlbl
|
||||
msgid "Color:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rscompany
|
||||
msgctxt "vpsr.rscompany"
|
||||
msgid "Company"
|
||||
@ -261,6 +287,10 @@ msgstr "Supprimer un contact..."
|
||||
msgid "Edit Contact..."
|
||||
msgstr "Modifier un contact..."
|
||||
|
||||
#: vpsr.rscontactselement
|
||||
msgid "Contacts"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rscountry
|
||||
msgid "Country"
|
||||
msgstr "Pays"
|
||||
@ -377,6 +407,10 @@ msgstr "Hier"
|
||||
msgid "Days"
|
||||
msgstr "Jours"
|
||||
|
||||
#: vpsr.rsdayviewelement
|
||||
msgid "Day view"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsdbposterror
|
||||
msgid "Error posting data to the database."
|
||||
msgstr "Erreur lors de l'enregistrement des données dans la base des données"
|
||||
@ -386,12 +420,21 @@ msgid "Use the default sound"
|
||||
msgstr "Utilisez le son par défaut"
|
||||
|
||||
#: vpsr.rsdelete
|
||||
msgctxt "vpsr.rsdelete"
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: vpsr.rsdeletebtn
|
||||
#, fuzzy
|
||||
msgctxt "vpsr.rsdeletebtn"
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: vpsr.rsdescriptionlbl
|
||||
#, fuzzy
|
||||
#| msgid "Subject:"
|
||||
msgctxt "vpsr.rsdescriptionlbl"
|
||||
msgid "Subject:"
|
||||
msgid "Description:"
|
||||
msgstr "Sujet:"
|
||||
|
||||
#: vpsr.rsdetails
|
||||
@ -436,6 +479,18 @@ msgstr "Date d'échéance:"
|
||||
msgid "Error: Duplicate Resource."
|
||||
msgstr "Erreur: ressource en doublon"
|
||||
|
||||
#: vpsr.rseditbtn
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rseditelementcaption
|
||||
msgid "Edit element"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rseditformatcaption
|
||||
msgid "Edit format"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rseditingfolders
|
||||
msgid "Folder Editor."
|
||||
msgstr "Editeur de dossier."
|
||||
@ -448,6 +503,22 @@ msgstr "Editeur d'éléments de dossier"
|
||||
msgid "Edit Print Formats..."
|
||||
msgstr "Modifier les formats d'impression"
|
||||
|
||||
#: vpsr.rseditshapecaption
|
||||
msgid "Edit shape"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rselements
|
||||
msgid "Elements:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rselementtypelbl
|
||||
msgid "Element type"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsellipse
|
||||
msgid "ellipse"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsemail
|
||||
msgid "E-Mail"
|
||||
msgstr "E-mail"
|
||||
@ -485,6 +556,18 @@ msgstr ""
|
||||
msgid "First name:"
|
||||
msgstr "Prénom:"
|
||||
|
||||
#: vpsr.rsfontbtn
|
||||
msgid "Font..."
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsformatlbl
|
||||
msgid "Format:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsformats
|
||||
msgid "Formats:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsfriday
|
||||
msgid "Friday"
|
||||
msgstr "Vendredi"
|
||||
@ -493,6 +576,10 @@ msgstr "Vendredi"
|
||||
msgid "from your schedule?"
|
||||
msgstr "de votre agenda?"
|
||||
|
||||
#: vpsr.rsheight
|
||||
msgid "Height"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rshintnextday
|
||||
msgid "Next day"
|
||||
msgstr "Jour suivant"
|
||||
@ -530,6 +617,10 @@ msgstr "Hier"
|
||||
msgid "Hours"
|
||||
msgstr "Heures"
|
||||
|
||||
#: vpsr.rsinches
|
||||
msgid "Inches"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsinifilestructure
|
||||
msgid "Incorrect structure of ini file."
|
||||
msgstr "Structure du fichier d'ini incorrect"
|
||||
@ -566,6 +657,14 @@ msgstr "Erreur: année non valide"
|
||||
msgid "Last name:"
|
||||
msgstr "Nom:"
|
||||
|
||||
#: vpsr.rsleft
|
||||
msgid "Left"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsleftline
|
||||
msgid "left line"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rslfriday
|
||||
msgctxt "vpsr.rslfriday"
|
||||
msgid "F"
|
||||
@ -575,6 +674,10 @@ msgstr ""
|
||||
msgid "M"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsloadfilebtn
|
||||
msgid "Load file..."
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rslocationlbl
|
||||
msgid "Location:"
|
||||
msgstr "Lieu:"
|
||||
@ -607,10 +710,18 @@ msgstr ""
|
||||
msgid "Master data"
|
||||
msgstr "Données de base"
|
||||
|
||||
#: vpsr.rsmeasurementcaption
|
||||
msgid "Measurement"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsminutes
|
||||
msgid "Minutes"
|
||||
msgstr "Minutes"
|
||||
|
||||
#: vpsr.rsmodelbl
|
||||
msgid "Mode:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsmonday
|
||||
msgid "Monday"
|
||||
msgstr "Lundi"
|
||||
@ -656,10 +767,22 @@ msgctxt "vpsr.rsmonthpopuptoday"
|
||||
msgid "Today"
|
||||
msgstr "Aujourd'hui"
|
||||
|
||||
#: vpsr.rsmonths
|
||||
msgid "Months"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsmonthviewelement
|
||||
msgid "Month view"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsnameisrequired
|
||||
msgid "Error: Name cannot be empty."
|
||||
msgstr "Erreur: le nom ne peut pas être vide. "
|
||||
|
||||
#: vpsr.rsnamelbl
|
||||
msgid "Name:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsneedelementname
|
||||
msgid "Please supply an Element Name"
|
||||
msgstr "Veuillez fournir un nom d'élément"
|
||||
@ -668,6 +791,14 @@ msgstr "Veuillez fournir un nom d'élément"
|
||||
msgid "FormatName cannot be blank"
|
||||
msgstr "Nom du format ne peut pas être vide"
|
||||
|
||||
#: vpsr.rsnewbtn
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsnewfilebtn
|
||||
msgid "New file"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsno
|
||||
msgid "N"
|
||||
msgstr ""
|
||||
@ -746,6 +877,14 @@ msgstr "EN RETARD!"
|
||||
msgid "Owner must be a TWinControl descendent"
|
||||
msgstr "Le propriétaire doit être un descendant de TWinControl"
|
||||
|
||||
#: vpsr.rspencaption
|
||||
msgid "Pen"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rspercent
|
||||
msgid "Percent"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rspermanent
|
||||
msgid "This operation cannot be undone!"
|
||||
msgstr "Ce processus est irreversible!"
|
||||
@ -820,6 +959,14 @@ msgctxt "vpsr.rsphonetypelabel9"
|
||||
msgid "Other"
|
||||
msgstr "Autre"
|
||||
|
||||
#: vpsr.rspixels
|
||||
msgid "Pixels"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rspopupresourcegroups
|
||||
msgid "Overlay events"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsposition
|
||||
msgid "Position"
|
||||
msgstr "Position"
|
||||
@ -833,6 +980,14 @@ msgctxt "vpsr.rsprintbtn"
|
||||
msgid "&Print"
|
||||
msgstr "&Imprimer"
|
||||
|
||||
#: vpsr.rsprintformatdesigner
|
||||
msgid "Print format designer"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsprintorder
|
||||
msgid "Print order"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsprintprvcancel
|
||||
msgctxt "vpsr.rsprintprvcancel"
|
||||
msgid "Cancel"
|
||||
@ -887,6 +1042,10 @@ msgstr "Imprimer"
|
||||
msgid "Print controller is not owned by a TVpControlLink!"
|
||||
msgstr "Le contrôleur d'impression n'est pas la propriété d'un TVpControlLink!"
|
||||
|
||||
#: vpsr.rsrectangle
|
||||
msgid "rectangle"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsrecurrenceendslbl
|
||||
msgid "Repeat until:"
|
||||
msgstr "Répétez jusqu'au"
|
||||
@ -899,23 +1058,51 @@ msgstr "Rendevous à répéter:"
|
||||
msgid "Reminder"
|
||||
msgstr "Rappel"
|
||||
|
||||
#: vpsr.rsreportsetup
|
||||
msgid "Report setup"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsresource
|
||||
msgid "Resource"
|
||||
msgstr "Resource"
|
||||
|
||||
#: vpsr.rsrightline
|
||||
msgid "right line"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsrotationcaption
|
||||
msgid "Rotation"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rssaturday
|
||||
msgid "Saturday"
|
||||
msgstr "Samedi"
|
||||
|
||||
#: vpsr.rssavefilebtn
|
||||
msgid "Save file..."
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsselectasound
|
||||
msgid "Select A Sound"
|
||||
msgstr "Choissisez un son"
|
||||
|
||||
#: vpsr.rsselectresource
|
||||
msgid "No resource has been selected. Would you like to select one now?"
|
||||
msgstr "Aucune resource selectionnez. Voulez-vous séléctionnez une resource maintenant?"
|
||||
|
||||
#: vpsr.rsshapebtn
|
||||
msgid "Shape..."
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsshapecaption
|
||||
msgctxt "vpsr.rsshapecaption"
|
||||
msgid "Shape"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsshapeelement
|
||||
msgctxt "vpsr.rsshapeelement"
|
||||
msgid "Shape"
|
||||
msgstr ""
|
||||
"Aucune resource selectionnez. Voulez-vous séléctionnez une resource "
|
||||
"maintenant?"
|
||||
|
||||
#: vpsr.rssnoozebtn
|
||||
msgid "&Snooze"
|
||||
@ -945,6 +1132,10 @@ msgstr "Début"
|
||||
msgid "State:"
|
||||
msgstr "Etat:"
|
||||
|
||||
#: vpsr.rsstylelbl
|
||||
msgid "Style:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rssubjectcaption
|
||||
msgctxt "vpsr.rssubjectcaption"
|
||||
msgid "Subject:"
|
||||
@ -954,10 +1145,6 @@ msgstr "Sujet:"
|
||||
msgid "Sunday"
|
||||
msgstr "Dimanche"
|
||||
|
||||
#: vpsr.rstallshortchars
|
||||
msgid "Wy"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstaskcomplete
|
||||
msgctxt "vpsr.rstaskcomplete"
|
||||
msgid "Task complete"
|
||||
@ -975,6 +1162,10 @@ msgstr "Supprimer un tâche..."
|
||||
msgid "Edit Task..."
|
||||
msgstr "Modifier un tâche..."
|
||||
|
||||
#: vpsr.rstaskselement
|
||||
msgid "Tasks"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstasktitlenoresource
|
||||
msgid "Task List"
|
||||
msgstr "Liste des tâches"
|
||||
@ -983,6 +1174,10 @@ msgstr "Liste des tâches"
|
||||
msgid "Task List - "
|
||||
msgstr "Liste des tâches -"
|
||||
|
||||
#: vpsr.rstextcaption
|
||||
msgid "Text"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsthrough
|
||||
msgid "Through"
|
||||
msgstr "Par"
|
||||
@ -991,6 +1186,14 @@ msgstr "Par"
|
||||
msgid "Thursday"
|
||||
msgstr "Jeudi"
|
||||
|
||||
#: vpsr.rstimeinclbl
|
||||
msgid "Time increment:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstimeincunits
|
||||
msgid "Time increment units:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstitle
|
||||
msgid "Title"
|
||||
msgstr "Titre"
|
||||
@ -999,6 +1202,18 @@ msgstr "Titre"
|
||||
msgid "Title:"
|
||||
msgstr "Titre:"
|
||||
|
||||
#: vpsr.rstltobrline
|
||||
msgid "top-left to bottom-right line"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstop
|
||||
msgid "Top"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstopline
|
||||
msgid "top line"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rstrue
|
||||
msgctxt "vpsr.rstrue"
|
||||
msgid "T"
|
||||
@ -1016,6 +1231,14 @@ msgstr "Erreur: Incapable d'ouvrir"
|
||||
msgid "Untitled"
|
||||
msgstr "Sans titre"
|
||||
|
||||
#: vpsr.rsvisible
|
||||
msgid "Visible"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsvisualcaption
|
||||
msgid "Visual"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rswednesday
|
||||
msgid "Wednesday"
|
||||
msgstr "Mercredi"
|
||||
@ -1082,6 +1305,22 @@ msgctxt "vpsr.rsweekpopupnavtoday"
|
||||
msgid "Today"
|
||||
msgstr "Aujourd'hui"
|
||||
|
||||
#: vpsr.rsweeks
|
||||
msgid "Weeks"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsweekviewelement
|
||||
msgid "Week view"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rswidth
|
||||
msgid "Width"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rswidthlbl
|
||||
msgid "Width:"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsxdays
|
||||
msgid "%d days"
|
||||
msgstr "%d jours"
|
||||
@ -1106,6 +1345,10 @@ msgstr "Annuel par date"
|
||||
msgid "Yearly By Day"
|
||||
msgstr "Annuel par jour"
|
||||
|
||||
#: vpsr.rsyears
|
||||
msgid "Years"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsyes
|
||||
msgid "Y"
|
||||
msgstr ""
|
||||
@ -1139,11 +1382,8 @@ msgid "Circular reference to: "
|
||||
msgstr "Référence circulaire vers:"
|
||||
|
||||
#: vpsr.scommentbeforexmldecl
|
||||
msgid ""
|
||||
"Document cannot start with a comment if it also contains an XML declaration"
|
||||
msgstr ""
|
||||
"Le document ne peut pas commencer par un commentaire si elle contient "
|
||||
"également une déclaration XML"
|
||||
msgid "Document cannot start with a comment if it also contains an XML declaration"
|
||||
msgstr "Le document ne peut pas commencer par un commentaire si elle contient également une déclaration XML"
|
||||
|
||||
#: vpsr.sdataaftervaldoc
|
||||
msgid "There is invalid data after valid XML document"
|
||||
@ -1326,9 +1566,7 @@ msgid "Comments can not be placed within other markup"
|
||||
msgstr "Les commentaires ne peuvent pas être placés dans un autre balisage"
|
||||
|
||||
#: vpsr.snointconditional
|
||||
msgid ""
|
||||
"Conditional sections not allowed in internal subset of document type "
|
||||
"declaration"
|
||||
msgid "Conditional sections not allowed in internal subset of document type declaration"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.snondatainpedecl
|
||||
@ -1401,4 +1639,5 @@ msgstr "Spécificateur d'axe inconnu"
|
||||
|
||||
#: vpsr.sxmldecnotatbeg
|
||||
msgid "The XML declaration must appear before the first element"
|
||||
msgstr "La déclaration XML doit apparaître avant le premier élément"
|
||||
msgstr "La déclaration XML doit apparaître avant le premier élément"
|
||||
|
||||
|
@ -957,6 +957,10 @@ msgstr "Andere"
|
||||
msgid "Pixels"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rspopupresourcegroups
|
||||
msgid "Overlay events"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsposition
|
||||
msgid "Position"
|
||||
msgstr "Positie"
|
||||
|
@ -944,6 +944,10 @@ msgstr ""
|
||||
msgid "Pixels"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rspopupresourcegroups
|
||||
msgid "Overlay events"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsposition
|
||||
msgid "Position"
|
||||
msgstr ""
|
||||
|
@ -954,6 +954,10 @@ msgstr "Другой"
|
||||
msgid "Pixels"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rspopupresourcegroups
|
||||
msgid "Overlay events"
|
||||
msgstr ""
|
||||
|
||||
#: vpsr.rsposition
|
||||
msgid "Position"
|
||||
msgstr "Позиция"
|
||||
|
@ -143,6 +143,7 @@ type
|
||||
public
|
||||
constructor Create(Owner: TVpResources);
|
||||
destructor Destroy; override;
|
||||
procedure GetResourceGroups(AList: TList);
|
||||
property Loading: Boolean read FLoading write FLoading;
|
||||
property Changed: Boolean read FChanged write SetChanged;
|
||||
property Deleted: Boolean read FDeleted write SetDeleted;
|
||||
@ -888,6 +889,19 @@ begin
|
||||
inherited;
|
||||
end;
|
||||
|
||||
{ Returns all resource groups attached to this resource }
|
||||
procedure TVpResource.GetResourceGroups(AList: TList);
|
||||
var
|
||||
i: Integer;
|
||||
grp: TVpResourceGroup;
|
||||
begin
|
||||
for i:=0 to Owner.ResourceGroupCount - 1 do begin
|
||||
grp := Owner.ResourceGroups[i];
|
||||
if grp.ResourceID = FResourceID then
|
||||
AList.Add(grp);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpResource.SetContacts(const Value: TVpContacts);
|
||||
begin
|
||||
FContacts := Value;
|
||||
|
@ -350,6 +350,8 @@ type
|
||||
procedure PopupPrevMonth(Sender: TObject);
|
||||
procedure PopupNextYear(Sender: TObject);
|
||||
procedure PopupPrevYear(Sender: TObject);
|
||||
procedure PopupPickResourceGroupEvent(Sender: TObject);
|
||||
procedure PopupDropdownEvent(Sender: TObject);
|
||||
procedure InitializeDefaultPopup;
|
||||
procedure Paint; override;
|
||||
procedure Loaded; override;
|
||||
@ -769,12 +771,15 @@ begin
|
||||
dvMouseDownPoint := Point(0, 0);
|
||||
dvMouseDown := false;
|
||||
|
||||
{ size }
|
||||
// Size
|
||||
Height := 225;
|
||||
Width := 265;
|
||||
|
||||
// popup menu
|
||||
FDefaultPopup := TPopupMenu.Create(Self);
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
|
||||
LoadLanguage;
|
||||
|
||||
dvHookUp;
|
||||
@ -884,6 +889,8 @@ var
|
||||
NewItem: TMenuItem;
|
||||
NewSubItem: TMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSDayPopupAdd <> '' then begin
|
||||
NewItem := TMenuItem.Create(Self);
|
||||
NewItem.Caption := RSDayPopupAdd;
|
||||
@ -1002,6 +1009,9 @@ begin
|
||||
NewItem.Add(NewSubItem);
|
||||
end;
|
||||
end;
|
||||
|
||||
if (Datastore <> nil) and (Datastore.Resource <> nil) then
|
||||
AddResourceGroupMenu(FDefaultPopup.Items, Datastore.Resource, PopupPickResourceGroupEvent);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
@ -1148,6 +1158,22 @@ begin
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpDayView.PopupPickResourceGroupEvent(Sender: TObject);
|
||||
var
|
||||
grp: TVpResourceGroup;
|
||||
begin
|
||||
if TMenuItem(Sender).Tag = 0 then
|
||||
Datastore.Resource.Group := ''
|
||||
else
|
||||
Datastore.Resource.Group := TMenuItem(Sender).Caption;
|
||||
Datastore.UpdateGroupEvents;
|
||||
end;
|
||||
|
||||
procedure TVpDayView.PopupDropDownEvent(Sender: TObject);
|
||||
begin
|
||||
InitializeDefaultPopup;
|
||||
end;
|
||||
|
||||
procedure TVpDayView.Loaded;
|
||||
begin
|
||||
inherited;
|
||||
|
@ -39,7 +39,7 @@ uses
|
||||
{$ELSE}
|
||||
Windows, Consts, Messages,
|
||||
{$ENDIF}
|
||||
Buttons, Classes, Controls, StdCtrls, ExtCtrls, Forms, Graphics,
|
||||
Buttons, Classes, Controls, StdCtrls, ExtCtrls, Forms, Graphics, Menus,
|
||||
SysUtils, VpBase, VpData, VpConst;
|
||||
|
||||
type
|
||||
@ -141,6 +141,9 @@ function GetRealFontHeight(AFont: TFont): Integer;
|
||||
function DecodeLineEndings(const AText: String): String;
|
||||
function EncodeLineEndings(const AText: String): String;
|
||||
|
||||
procedure AddResourceGroupMenu(AMenu: TMenuItem; AResource: TVpResource;
|
||||
AEventHandler: TNotifyEvent);
|
||||
|
||||
{$IFDEF LCL}
|
||||
procedure HighDPI(FromDPI: integer);
|
||||
procedure ScaleDPI(Control: TControl; FromDPI: integer);
|
||||
@ -159,7 +162,7 @@ uses
|
||||
{$IFDEF LCL}
|
||||
DateUtils,
|
||||
{$ENDIF}
|
||||
VpException, VpSR;
|
||||
VpException, VpSR, VpBaseDS;
|
||||
|
||||
procedure StripString(var Str: string);
|
||||
begin
|
||||
@ -691,6 +694,70 @@ begin
|
||||
Result := StringReplace(AText, LineEnding, '\n', [rfReplaceAll]);
|
||||
end;
|
||||
|
||||
procedure AddResourceGroupMenu(AMenu: TMenuItem; AResource: TVpResource;
|
||||
AEventHandler: TNotifyEvent);
|
||||
var
|
||||
datastore: TVpCustomDatastore;
|
||||
grp: TVpResourceGroup;
|
||||
list: TList;
|
||||
newItem: TMenuItem;
|
||||
newSubItem: TMenuItem;
|
||||
i: Integer;
|
||||
begin
|
||||
if (AMenu = nil) or (AResource = nil) or (AResource.Owner = nil) then
|
||||
exit;
|
||||
|
||||
datastore := AResource.Owner.Owner as TVpCustomDatastore;
|
||||
|
||||
if (RSPopupResourceGroups <> '') and
|
||||
(datastore <> nil) and (datastore.Resource <> nil) then
|
||||
begin
|
||||
list := TList.Create;
|
||||
try
|
||||
datastore.Resource.GetResourceGroups(list);
|
||||
if list.Count > 0 then begin
|
||||
newItem := TMenuItem.Create(AMenu.Owner);
|
||||
newItem.Caption := '-';
|
||||
AMenu.Add(newItem);
|
||||
|
||||
newItem := TMenuItem.Create(AMenu.Owner);
|
||||
newItem.Caption := RSPopupResourceGroups;
|
||||
newItem.Tag := 0;
|
||||
AMenu.Add(newItem);
|
||||
|
||||
newSubItem := TMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Caption := 'none';
|
||||
newSubItem.OnClick := AEventHandler;
|
||||
newSubItem.GroupIndex := 1;
|
||||
newSubItem.AutoCheck := true;
|
||||
newSubItem.Checked := datastore.Resource.Group = '';
|
||||
newSubItem.Tag := 0;
|
||||
newItem.Add(newSubItem);
|
||||
|
||||
if list.Count > 1 then begin
|
||||
newSubItem := TMenuItem.Create(AMenu.Owner);
|
||||
newSubItem.Caption := '-';
|
||||
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.Caption);
|
||||
newSubItem.Tag := PtrInt(grp);
|
||||
newItem.Add(NewSubItem);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
list.Free;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$IFDEF LCL}
|
||||
procedure HighDPI(FromDPI: integer);
|
||||
var
|
||||
|
@ -207,6 +207,7 @@ resourcestring
|
||||
RSHintPrevWeek = 'Previous week'; {!!.01}
|
||||
RSHintPrevDay = 'Previous day';
|
||||
RsHintNextDay = 'Next day';
|
||||
RSPopupResourceGroups = 'Overlay events';
|
||||
|
||||
{ field names }
|
||||
RSPosition = 'Position';
|
||||
|
@ -190,6 +190,8 @@ type
|
||||
procedure PopupPrevMonth(Sender: TObject);
|
||||
procedure PopupNextYear(Sender: TObject);
|
||||
procedure PopupPrevYear(Sender: TObject);
|
||||
procedure PopupPickResourceGroupEvent(Sender: TObject);
|
||||
procedure PopupDropdownEvent(Sender: TObject);
|
||||
procedure InitializeDefaultPopup;
|
||||
procedure Paint; override;
|
||||
procedure Loaded; override;
|
||||
@ -463,6 +465,7 @@ begin
|
||||
|
||||
FDefaultPopup := TPopupMenu.Create (Self);
|
||||
Self.PopupMenu := FDefaultPopup;
|
||||
FDefaultPopup.OnPopup := PopupDropDownEvent;
|
||||
LoadLanguage;
|
||||
|
||||
FAllDayEventAttr.BackgroundColor := Color;
|
||||
@ -901,6 +904,8 @@ var
|
||||
NewItem: TMenuItem;
|
||||
NewSubItem: TMenuItem;
|
||||
begin
|
||||
FDefaultPopup.Items.Clear;
|
||||
|
||||
if RSWeekPopupAdd <> '' then begin
|
||||
NewItem := TMenuItem.Create (Self);
|
||||
NewItem.Caption := RSWeekPopupAdd;
|
||||
@ -987,6 +992,9 @@ begin
|
||||
NewItem.Add (NewSubItem);
|
||||
end;
|
||||
end;
|
||||
|
||||
if (Datastore <> nil) and (Datastore.Resource <> nil) then
|
||||
AddResourceGroupMenu(FDefaultPopup.Items, Datastore.Resource, PopupPickResourceGroupEvent);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
@ -994,7 +1002,6 @@ procedure TVpWeekView.PopupAddEvent(Sender: TObject);
|
||||
var
|
||||
StartTime: TDateTime;
|
||||
EndTime: TDateTime;
|
||||
|
||||
begin
|
||||
if ReadOnly then
|
||||
Exit;
|
||||
@ -1112,7 +1119,22 @@ begin
|
||||
DecodeDate(Date, Y, M, D);
|
||||
Date := EncodeDate(Y - 1, M, 1);
|
||||
end;
|
||||
{=====}
|
||||
|
||||
procedure TVpWeekView.PopupPickResourceGroupEvent(Sender: TObject);
|
||||
var
|
||||
grp: TVpResourceGroup;
|
||||
begin
|
||||
if TMenuItem(Sender).Tag = 0 then
|
||||
Datastore.Resource.Group := ''
|
||||
else
|
||||
Datastore.Resource.Group := TMenuItem(Sender).Caption;
|
||||
Datastore.UpdateGroupEvents;
|
||||
end;
|
||||
|
||||
procedure TVpWeekView.PopupDropDownEvent(Sender: TObject);
|
||||
begin
|
||||
InitializeDefaultPopup;
|
||||
end;
|
||||
|
||||
procedure TVpWeekView.wvSpawnEventEditDialog(NewEvent: Boolean);
|
||||
var
|
||||
|
@ -34,6 +34,7 @@ type
|
||||
ADEventBorderColor: TColor;
|
||||
|
||||
protected
|
||||
function BuildEventString(AEvent: TVpEvent; AStartTime, AEndTime: TDateTime): String;
|
||||
procedure Clear;
|
||||
function DrawAllDayEvents(ADate: TDateTime; DayRect: TRect; var EAIndex: Integer): Boolean;
|
||||
procedure DrawBorders;
|
||||
@ -74,6 +75,30 @@ begin
|
||||
FWeekView := AWeekView;
|
||||
end;
|
||||
|
||||
function TVpWeekViewPainter.BuildEventString(AEvent: TVpEvent;
|
||||
AStartTime, AEndTime: TDateTime): String;
|
||||
var
|
||||
timeFmt: String;
|
||||
res: TVpResource;
|
||||
begin
|
||||
if FWeekView.ShowEventTime then
|
||||
begin
|
||||
timefmt := IfThen(FWeekView.TimeFormat = tf24Hour, 'hh:nn', 'hh:nn AM/PM');
|
||||
Result := Format('%s - %s: ', [
|
||||
FormatDateTime(timeFmt, AStartTime),
|
||||
FormatDateTime(timeFmt, AEndTime)
|
||||
]);
|
||||
Result := Result + ' ' + AEvent.Description;
|
||||
end else
|
||||
Result := AEvent.Description;
|
||||
|
||||
if AEvent.IsOverlayed then
|
||||
begin
|
||||
res := FWeekView.Datastore.Resources.GetResource(AEvent.ResourceID);
|
||||
Result := Format('[%s] %s', [res.Description, Result]);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TVpWeekViewPainter.Clear;
|
||||
begin
|
||||
RenderCanvas.Brush.Color := RealColor;
|
||||
@ -491,8 +516,10 @@ var
|
||||
todayStartTime: TDateTime;
|
||||
todayEndTime: TDateTime;
|
||||
strLen: Integer;
|
||||
timefmt: String;
|
||||
oldFontColor: TColor;
|
||||
begin
|
||||
oldFontColor := RenderCanvas.Font.Color;
|
||||
|
||||
{ format the display text }
|
||||
todayStartTime := AEvent.StartTime;
|
||||
todayEndTime := AEvent.EndTime;
|
||||
@ -508,22 +535,14 @@ begin
|
||||
{ set the event font }
|
||||
RenderCanvas.Font.Assign(FWeekView.EventFont);
|
||||
RenderCanvas.Font.Size := ScaleY(RenderCanvas.Font.Size, DesignTimeDPI);
|
||||
if AEvent.IsOverlayed then
|
||||
RenderCanvas.Font.Color := clGray;
|
||||
RenderCanvas.Brush.Color := RealColor;
|
||||
|
||||
{ Build the event text }
|
||||
if FWeekView.ShowEventTime then
|
||||
begin
|
||||
timefmt := IfThen(FWeekView.TimeFormat = tf24Hour, 'hh:nn', 'hh:nn AM/PM');
|
||||
dayStr := Format('%s - %s: ', [
|
||||
FormatDateTime(timeFmt, todayStartTime),
|
||||
FormatDateTime(timeFmt, todayEndTime)
|
||||
]);
|
||||
end else
|
||||
dayStr := '';
|
||||
dayStr := IfThen(dayStr = '', AEvent.Description, dayStr + ' ' + AEvent.Description);
|
||||
|
||||
dayStr := BuildEventString(AEvent, todayStartTime, todayEndTime);
|
||||
strLen := RenderCanvas.TextWidth(dayStr);
|
||||
if (strLen > WidthOf(TextRect) - TextMargin) then // wp: shouldn't this be 2*TextMargin ?
|
||||
if (strLen > WidthOf(TextRect) - TextMargin) then // wp: shouldn't this be 2*TextMargin ?
|
||||
dayStr := GetDisplayString(RenderCanvas, dayStr, 0, WidthOf(TextRect) - TextMargin * 2);
|
||||
|
||||
{ Write the event text }
|
||||
@ -531,6 +550,8 @@ begin
|
||||
TextRect.Left + TextMargin, TextRect.Top + TextMargin div 2,
|
||||
dayStr
|
||||
);
|
||||
|
||||
RenderCanvas.Font.Color := oldFontColor;
|
||||
end;
|
||||
|
||||
procedure TVpWeekViewPainter.DrawHeader;
|
||||
|
Loading…
Reference in New Issue
Block a user