From cfd802919f111677badb2895e91cd4a5c2765fea Mon Sep 17 00:00:00 2001 From: znek Date: Tue, 22 Feb 2005 15:45:03 +0000 Subject: [PATCH] proper until date UI and handling for recurrences git-svn-id: http://svn.opengroupware.org/SOGo/trunk@601 d1b88da0-ebda-0310-925b-ed51d893ca5b --- SOGo/SOGo.xcode/project.pbxproj | 1410 ++++++++++------- SOGo/UI/Scheduler/ChangeLog | 14 + .../Scheduler/English.lproj/default.strings | 5 +- SOGo/UI/Scheduler/UIxAppointmentEditor.m | 105 +- SOGo/UI/Scheduler/UIxTimeDateControl.m | 82 +- SOGo/UI/Scheduler/Version | 2 +- SOGo/UI/Templates/ChangeLog | 7 + SOGo/UI/Templates/UIxAppointmentEditor.wox | 35 +- SOGo/UI/Templates/UIxTimeDateControl.wox | 16 +- 9 files changed, 1036 insertions(+), 640 deletions(-) diff --git a/SOGo/SOGo.xcode/project.pbxproj b/SOGo/SOGo.xcode/project.pbxproj index 7502f9ee..962d4362 100644 --- a/SOGo/SOGo.xcode/project.pbxproj +++ b/SOGo/SOGo.xcode/project.pbxproj @@ -169,34 +169,19 @@ AD0137A406DF8875000910D8 = { children = ( ADAD40CA0769FFD000AAD24E, - ADAD40C90769FFD000AAD24E, AD73BE8806CF92FC00226A2D, - AD73BE8906CF92FC00226A2D, E87208F70692E3D30099CBBD, E87208F80692E3D30099CBBD, - E87208F90692E3D30099CBBD, AD0137AC06DF891E000910D8, - AD0137AB06DF891E000910D8, E87208F30692E3D30099CBBD, - E87208F40692E3D30099CBBD, E87208FA0692E3D30099CBBD, - E87208FB0692E3D30099CBBD, AD273D4D077315640064794B, - AD273D4C077315640064794B, ); isa = PBXGroup; name = Appointment; refType = 4; sourceTree = ""; }; - AD0137AB06DF891E000910D8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxAppointmentPrintview.wox; - refType = 4; - sourceTree = ""; - }; AD0137AC06DF891E000910D8 = { fileEncoding = 5; indentWidth = 2; @@ -340,11 +325,8 @@ AD07124606C9050700A9EEF4 = { children = ( AD07124C06C9052700A9EEF4, - AD07124B06C9052700A9EEF4, AD0715CB06CA711600A9EEF4, - AD0715CA06CA711600A9EEF4, AD73C03406CFDE3600226A2D, - AD73C03506CFDE3600226A2D, ); isa = PBXGroup; name = Components; @@ -352,14 +334,6 @@ refType = 4; sourceTree = ""; }; - AD07124B06C9052700A9EEF4 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = AnaisSelector.wox; - refType = 4; - sourceTree = ""; - }; AD07124C06C9052700A9EEF4 = { fileEncoding = 5; indentWidth = 2; @@ -398,14 +372,6 @@ tabWidth = 8; usesTabs = 1; }; - AD0715CA06CA711600A9EEF4 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = AnaisUidSelector.wox; - refType = 4; - sourceTree = ""; - }; AD0715CB06CA711600A9EEF4 = { fileEncoding = 5; indentWidth = 2; @@ -461,14 +427,6 @@ sourceTree = ""; tabWidth = 8; }; - AD0A0ACB07A8093400D3B8EF = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailWindowCloser.wox; - refType = 4; - sourceTree = ""; - }; AD0A0ACC07A8093400D3B8EF = { fileEncoding = 4; isa = PBXFileReference; @@ -488,14 +446,6 @@ tabWidth = 8; usesTabs = 1; }; - AD273D4C077315640064794B = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalParticipationStatusView.wox; - refType = 4; - sourceTree = ""; - }; AD273D4D077315640064794B = { fileEncoding = 4; isa = PBXFileReference; @@ -547,14 +497,6 @@ refType = 4; sourceTree = ""; }; - AD2C74A7071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailAccountsView.wox; - refType = 4; - sourceTree = ""; - }; AD2C74A8071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -564,14 +506,6 @@ refType = 4; sourceTree = ""; }; - AD2C74A9071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailAccountView.wox; - refType = 4; - sourceTree = ""; - }; AD2C74AA071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -599,14 +533,6 @@ refType = 4; sourceTree = ""; }; - AD2C74AD071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailMainFrame.wox; - refType = 4; - sourceTree = ""; - }; AD2C74AE071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -616,14 +542,6 @@ refType = 4; sourceTree = ""; }; - AD2C74AF071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailPartAlternativeViewer.wox; - refType = 4; - sourceTree = ""; - }; AD2C74B0071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -633,14 +551,6 @@ refType = 4; sourceTree = ""; }; - AD2C74B1071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailPartImageViewer.wox; - refType = 4; - sourceTree = ""; - }; AD2C74B2071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -650,14 +560,6 @@ refType = 4; sourceTree = ""; }; - AD2C74B3071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailPartMixedViewer.wox; - refType = 4; - sourceTree = ""; - }; AD2C74B4071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -667,14 +569,6 @@ refType = 4; sourceTree = ""; }; - AD2C74B5071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailPartTextViewer.wox; - refType = 4; - sourceTree = ""; - }; AD2C74B6071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -720,14 +614,6 @@ refType = 4; sourceTree = ""; }; - AD2C74BB071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailToolbar.wox; - refType = 4; - sourceTree = ""; - }; AD2C74BC071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -737,14 +623,6 @@ refType = 4; sourceTree = ""; }; - AD2C74BD071A9FF70087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailTree.wox; - refType = 4; - sourceTree = ""; - }; AD2C74BE071A9FF70087E027 = { fileEncoding = 5; indentWidth = 2; @@ -821,22 +699,6 @@ refType = 4; sourceTree = ""; }; - AD2C76D7071BF4EB0087E027 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailToSelection.wox; - refType = 4; - sourceTree = ""; - }; - AD2C78F6071C23CE0087E027 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailAddressbook.wox; - refType = 4; - sourceTree = ""; - }; AD2C78F7071C23CE0087E027 = { fileEncoding = 5; indentWidth = 2; @@ -902,14 +764,6 @@ refType = 4; sourceTree = ""; }; - AD494C6106F5EA6600E51EC9 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxContactSelector.wox; - refType = 4; - sourceTree = ""; - }; AD494C6206F5EA6600E51EC9 = { fileEncoding = 5; indentWidth = 2; @@ -919,14 +773,6 @@ refType = 4; sourceTree = ""; }; - AD494C8D06F606F900E51EC9 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxContactsSelectionView.wox; - refType = 4; - sourceTree = ""; - }; AD494C8E06F606F900E51EC9 = { fileEncoding = 5; indentWidth = 2; @@ -990,22 +836,6 @@ refType = 4; sourceTree = ""; }; - AD5DF18F072E5AC500173622 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailEditorAttach.wox; - refType = 4; - sourceTree = ""; - }; - AD5ED0AF06B1385700E3EC4B = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalDayOverview.wox; - refType = 4; - sourceTree = ""; - }; AD5ED0B006B1385700E3EC4B = { fileEncoding = 5; indentWidth = 2; @@ -1162,14 +992,6 @@ refType = 4; sourceTree = ""; }; - AD7379B206AEBB2500735920 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalInlineMonthOverview.wox; - refType = 4; - sourceTree = ""; - }; AD7379B306AEBB2500735920 = { fileEncoding = 5; indentWidth = 2; @@ -1188,14 +1010,6 @@ refType = 4; sourceTree = ""; }; - AD737A6906AEE8BD00735920 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalYearOverview.wox; - refType = 4; - sourceTree = ""; - }; AD737A6A06AEE8BD00735920 = { fileEncoding = 5; indentWidth = 2; @@ -1250,22 +1064,6 @@ refType = 4; sourceTree = ""; }; - AD73BE8906CF92FC00226A2D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxAppointmentProposal.wox; - refType = 4; - sourceTree = ""; - }; - AD73BE9306CF969100226A2D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxDatePicker.wox; - refType = 4; - sourceTree = ""; - }; AD73BE9406CF969100226A2D = { fileEncoding = 5; indentWidth = 2; @@ -1275,14 +1073,6 @@ refType = 4; sourceTree = ""; }; - AD73BED706CFA0FD00226A2D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxDatePickerScript.wox; - refType = 4; - sourceTree = ""; - }; AD73BED806CFA0FD00226A2D = { fileEncoding = 5; indentWidth = 2; @@ -1295,27 +1085,15 @@ AD73BEE206CFA17700226A2D = { children = ( AD73BE9406CF969100226A2D, - AD73BE9306CF969100226A2D, AD73BF6C06CFB4CE00226A2D, - AD73BF6B06CFB4CE00226A2D, AD73C08306CFFEA600226A2D, - AD73C08206CFFEA600226A2D, AD73BED806CFA0FD00226A2D, - AD73BED706CFA0FD00226A2D, ); isa = PBXGroup; name = "Date / Time"; refType = 4; sourceTree = ""; }; - AD73BF6B06CFB4CE00226A2D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxTimeSelector.wox; - refType = 4; - sourceTree = ""; - }; AD73BF6C06CFB4CE00226A2D = { fileEncoding = 5; indentWidth = 2; @@ -1334,14 +1112,6 @@ refType = 4; sourceTree = ""; }; - AD73C03506CFDE3600226A2D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = AnaisAttendeeSelector.wox; - refType = 4; - sourceTree = ""; - }; AD73C03606CFDE4500226A2D = { fileEncoding = 5; indentWidth = 2; @@ -1351,14 +1121,6 @@ refType = 4; sourceTree = ""; }; - AD73C08206CFFEA600226A2D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxTimeDateControl.wox; - refType = 4; - sourceTree = ""; - }; AD73C08306CFFEA600226A2D = { fileEncoding = 5; indentWidth = 2; @@ -1392,14 +1154,6 @@ refType = 4; sourceTree = ""; }; - AD770DAD07AE4FB200F5C7A1 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxFilterList.wox; - refType = 4; - sourceTree = ""; - }; AD770DAE07AE4FB200F5C7A1 = { fileEncoding = 5; isa = PBXFileReference; @@ -1408,14 +1162,6 @@ refType = 4; sourceTree = ""; }; - AD770DAF07AE4FB200F5C7A1 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailPartLinkViewer.wox; - refType = 4; - sourceTree = ""; - }; AD770DB007AE4FB200F5C7A1 = { fileEncoding = 5; isa = PBXFileReference; @@ -1424,30 +1170,6 @@ refType = 4; sourceTree = ""; }; - AD770DB107AE4FB200F5C7A1 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailPartMessageViewer.wox; - refType = 4; - sourceTree = ""; - }; - AD770DB207AE4FB200F5C7A1 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = UIxMailSizeFormatter.h; - refType = 4; - sourceTree = ""; - }; - AD770DB307AE4FB200F5C7A1 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = UIxMailSizeFormatter.m; - refType = 4; - sourceTree = ""; - }; AD770DB407AE4FB200F5C7A1 = { fileEncoding = 5; isa = PBXFileReference; @@ -1472,32 +1194,15 @@ refType = 4; sourceTree = ""; }; - AD770DB707AE4FB200F5C7A1 = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxSieveEditor.wox; - refType = 4; - sourceTree = ""; - }; AD7BA88A0770A62B008F4F3D = { children = ( AD7BA88D0770A67D008F4F3D, - AD7BA88C0770A67D008F4F3D, ); isa = PBXGroup; name = News; refType = 4; sourceTree = ""; }; - AD7BA88C0770A67D008F4F3D = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalScheduleOverview.wox; - refType = 4; - sourceTree = ""; - }; AD7BA88D0770A67D008F4F3D = { fileEncoding = 5; indentWidth = 2; @@ -1779,87 +1484,861 @@ refType = 4; sourceTree = ""; }; - AD85C72F07C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = SOGoCustomGroupFolder.m; + AD85C72F07C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = SOGoCustomGroupFolder.m; + refType = 4; + sourceTree = ""; + }; + AD85C73007C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = SOGoGroupFolder.h; + refType = 4; + sourceTree = ""; + }; + AD85C73107C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = SOGoGroupFolder.m; + refType = 4; + sourceTree = ""; + }; + AD85C73207C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = SOGoGroupsFolder.h; + refType = 4; + sourceTree = ""; + }; + AD85C73307C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = SOGoGroupsFolder.m; + refType = 4; + sourceTree = ""; + }; + AD85C73407C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = SOGoLRUCache.h; + refType = 4; + sourceTree = ""; + }; + AD85C73507C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = SOGoLRUCache.m; + refType = 4; + sourceTree = ""; + }; + AD85C73607C4E8740036AC7A = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text; + path = Version; + refType = 4; + sourceTree = ""; + }; + AD85C73907C4E8A30036AC7A = { + children = ( + AD85C72A07C4E8740036AC7A, + AD85C72B07C4E8740036AC7A, + AD85C72C07C4E8740036AC7A, + AD85C72D07C4E8740036AC7A, + ); + isa = PBXGroup; + name = Temporary; + refType = 4; + sourceTree = ""; + }; + AD85C76007C4E9100036AC7A = { + children = ( + AD86231807CA03AD004CD707, + AD86231907CA03AD004CD707, + AD86236407CA03EF004CD707, + AD86261D07CA04E7004CD707, + AD8625FB07CA0403004CD707, + AD86236107CA03DF004CD707, + ); + isa = PBXGroup; + path = Templates; + refType = 4; + sourceTree = ""; + }; + AD86231807CA03AD004CD707 = { + fileEncoding = 5; + indentWidth = 8; + isa = PBXFileReference; + lastKnownFileType = text; + path = ChangeLog; + refType = 4; + sourceTree = ""; + tabWidth = 8; + usesTabs = 1; + }; + AD86231907CA03AD004CD707 = { + explicitFileType = sourcecode.make; + fileEncoding = 5; + indentWidth = 8; + isa = PBXFileReference; + path = GNUmakefile; + refType = 4; + sourceTree = ""; + tabWidth = 8; + usesTabs = 1; + }; + AD86231A07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = AnaisAttendeeSelector.wox; + refType = 4; + sourceTree = ""; + }; + AD86231B07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = AnaisSelector.wox; + refType = 4; + sourceTree = ""; + }; + AD86231C07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = AnaisUidSelector.wox; + refType = 4; + sourceTree = ""; + }; + AD86231D07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxAppNavView.wox; + refType = 4; + sourceTree = ""; + }; + AD86231E07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxAppointmentEditor.wox; + refType = 4; + sourceTree = ""; + }; + AD86231F07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxAppointmentPrintview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232007CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxAppointmentProposal.wox; + refType = 4; + sourceTree = ""; + }; + AD86232107CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxAppointmentView.wox; + refType = 4; + sourceTree = ""; + }; + AD86232207CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxAptTableView.wox; + refType = 4; + sourceTree = ""; + }; + AD86232307CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalBackForthNavView.wox; + refType = 4; + sourceTree = ""; + }; + AD86232407CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalDateLabel.wox; + refType = 4; + sourceTree = ""; + }; + AD86232507CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalDayChartview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232607CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalDayListview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232707CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalDayOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232807CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalDayPrintview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232907CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalInlineAptView.wox; + refType = 4; + sourceTree = ""; + }; + AD86232A07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalInlineMonthOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232B07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalMonthOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232C07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalMonthPrintview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232D07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalParticipationStatusView.wox; + refType = 4; + sourceTree = ""; + }; + AD86232E07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalScheduleOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86232F07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalSelectTab.wox; + refType = 4; + sourceTree = ""; + }; + AD86233007CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalWeekChartview.wox; + refType = 4; + sourceTree = ""; + }; + AD86233107CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalWeekColumnsview.wox; + refType = 4; + sourceTree = ""; + }; + AD86233207CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalWeekListview.wox; + refType = 4; + sourceTree = ""; + }; + AD86233307CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalWeekOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86233407CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalWeekPrintview.wox; + refType = 4; + sourceTree = ""; + }; + AD86233507CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalYearOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86233607CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxContactEditor.wox; + refType = 4; + sourceTree = ""; + }; + AD86233707CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxContactSelector.wox; + refType = 4; + sourceTree = ""; + }; + AD86233807CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxContactsListView.wox; + refType = 4; + sourceTree = ""; + }; + AD86233907CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxContactsSelectionView.wox; + refType = 4; + sourceTree = ""; + }; + AD86233A07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxContactView.wox; + refType = 4; + sourceTree = ""; + }; + AD86233B07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxDatePicker.wox; + refType = 4; + sourceTree = ""; + }; + AD86233C07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxDatePickerScript.wox; + refType = 4; + sourceTree = ""; + }; + AD86233D07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxFilterList.wox; + refType = 4; + sourceTree = ""; + }; + AD86233E07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailAccountsView.wox; + refType = 4; + sourceTree = ""; + }; + AD86233F07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailAccountView.wox; + refType = 4; + sourceTree = ""; + }; + AD86234007CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailAddressbook.wox; + refType = 4; + sourceTree = ""; + }; + AD86234107CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailCalWeekOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD86234207CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailContactEditor.wox; + refType = 4; + sourceTree = ""; + }; + AD86234307CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailContactList.wox; + refType = 4; + sourceTree = ""; + }; + AD86234407CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailEditor.wox; + refType = 4; + sourceTree = ""; + }; + AD86234507CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailEditorAttach.wox; + refType = 4; + sourceTree = ""; + }; + AD86234607CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailFilterPanel.wox; + refType = 4; + sourceTree = ""; + }; + AD86234707CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailListView.wox; + refType = 4; + sourceTree = ""; + }; + AD86234807CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailMainFrame.wox; + refType = 4; + sourceTree = ""; + }; + AD86234907CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailMoveToPopUp.wox; + refType = 4; + sourceTree = ""; + }; + AD86234A07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartAlternativeViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86234B07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartHTMLViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86234C07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartICalViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86234D07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartImageViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86234E07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartLinkViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86234F07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartMessageViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86235007CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartMixedViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86235107CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailPartTextViewer.wox; + refType = 4; + sourceTree = ""; + }; + AD86235207CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailSortableTableHeader.wox; + refType = 4; + sourceTree = ""; + }; + AD86235307CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailToolbar.wox; + refType = 4; + sourceTree = ""; + }; + AD86235407CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailToSelection.wox; + refType = 4; + sourceTree = ""; + }; + AD86235507CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailTree.wox; + refType = 4; + sourceTree = ""; + }; + AD86235607CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailView.wox; + refType = 4; + sourceTree = ""; + }; + AD86235707CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxMailWindowCloser.wox; + refType = 4; + sourceTree = ""; + }; + AD86235807CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxPageFrame.wox; + refType = 4; + sourceTree = ""; + }; + AD86235907CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxPrintPageFrame.wox; + refType = 4; + sourceTree = ""; + }; + AD86235A07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxSieveEditor.wox; + refType = 4; + sourceTree = ""; + }; + AD86235B07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxSortButton.wox; + refType = 4; + sourceTree = ""; + }; + AD86235C07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxTimeDateControl.wox; + refType = 4; + sourceTree = ""; + }; + AD86235D07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxTimeSelector.wox; + refType = 4; + sourceTree = ""; + }; + AD86235E07CA03D9004CD707 = { + fileEncoding = 5; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxWinClose.wox; + refType = 4; + sourceTree = ""; + }; + AD86236107CA03DF004CD707 = { + children = ( + AD86231A07CA03D9004CD707, + AD86231B07CA03D9004CD707, + AD86231C07CA03D9004CD707, + ); + isa = PBXGroup; + name = Anais; + refType = 4; + sourceTree = ""; + }; + AD86236407CA03EF004CD707 = { + children = ( + AD86260107CA0446004CD707, + AD86260B07CA048B004CD707, + AD86260507CA0461004CD707, + AD86260807CA0478004CD707, + AD8625FE07CA043C004CD707, + AD86261407CA04CA004CD707, + AD86260E07CA04AB004CD707, + AD86261107CA04BD004CD707, + AD86261707CA04D9004CD707, + AD86261A07CA04DD004CD707, + ); + isa = PBXGroup; + name = Scheduler; + refType = 4; + sourceTree = ""; + }; + AD8625FB07CA0403004CD707 = { + children = ( + AD86233D07CA03D9004CD707, + AD86233E07CA03D9004CD707, + AD86233F07CA03D9004CD707, + AD86234007CA03D9004CD707, + AD86234107CA03D9004CD707, + AD86234207CA03D9004CD707, + AD86234307CA03D9004CD707, + AD86234407CA03D9004CD707, + AD86234507CA03D9004CD707, + AD86234607CA03D9004CD707, + AD86234707CA03D9004CD707, + AD86234807CA03D9004CD707, + AD86234907CA03D9004CD707, + AD86234A07CA03D9004CD707, + AD86234B07CA03D9004CD707, + AD86234C07CA03D9004CD707, + AD86234D07CA03D9004CD707, + AD86234E07CA03D9004CD707, + AD86234F07CA03D9004CD707, + AD86235007CA03D9004CD707, + AD86235107CA03D9004CD707, + AD86235207CA03D9004CD707, + AD86235307CA03D9004CD707, + AD86235407CA03D9004CD707, + AD86235507CA03D9004CD707, + AD86235607CA03D9004CD707, + AD86235707CA03D9004CD707, + AD86235A07CA03D9004CD707, + ); + isa = PBXGroup; + name = Mailer; + path = ""; + refType = 4; + sourceTree = ""; + }; + AD8625FE07CA043C004CD707 = { + children = ( + AD86232107CA03D9004CD707, + AD86231F07CA03D9004CD707, + AD86231E07CA03D9004CD707, + AD86232007CA03D9004CD707, + AD86232907CA03D9004CD707, + AD86232207CA03D9004CD707, + ); + isa = PBXGroup; + name = Appointments; + refType = 4; + sourceTree = ""; + }; + AD86260107CA0446004CD707 = { + children = ( + AD86235807CA03D9004CD707, + AD86235907CA03D9004CD707, + ); + isa = PBXGroup; + name = "Page Wrappers"; refType = 4; sourceTree = ""; }; - AD85C73007C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SOGoGroupFolder.h; + AD86260507CA0461004CD707 = { + children = ( + AD86233B07CA03D9004CD707, + AD86233C07CA03D9004CD707, + AD86235C07CA03D9004CD707, + AD86235D07CA03D9004CD707, + ); + isa = PBXGroup; + name = "Time / Date Widgets"; refType = 4; sourceTree = ""; }; - AD85C73107C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = SOGoGroupFolder.m; + AD86260807CA0478004CD707 = { + children = ( + AD86232407CA03D9004CD707, + AD86235B07CA03D9004CD707, + AD86235E07CA03D9004CD707, + ); + isa = PBXGroup; + name = "Misc Widgets"; refType = 4; sourceTree = ""; }; - AD85C73207C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SOGoGroupsFolder.h; + AD86260B07CA048B004CD707 = { + children = ( + AD86231D07CA03D9004CD707, + AD86232307CA03D9004CD707, + AD86232F07CA03D9004CD707, + ); + isa = PBXGroup; + name = "Navigation Widgets"; + path = ""; refType = 4; sourceTree = ""; }; - AD85C73307C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = SOGoGroupsFolder.m; + AD86260E07CA04AB004CD707 = { + children = ( + AD86232507CA03D9004CD707, + AD86232607CA03D9004CD707, + AD86232707CA03D9004CD707, + AD86232807CA03D9004CD707, + ); + isa = PBXGroup; + name = Day; refType = 4; sourceTree = ""; }; - AD85C73407C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.h; - path = SOGoLRUCache.h; + AD86261107CA04BD004CD707 = { + children = ( + AD86232A07CA03D9004CD707, + AD86232B07CA03D9004CD707, + AD86232C07CA03D9004CD707, + ); + isa = PBXGroup; + name = Month; refType = 4; sourceTree = ""; }; - AD85C73507C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = sourcecode.c.objc; - path = SOGoLRUCache.m; + AD86261407CA04CA004CD707 = { + children = ( + AD86232E07CA03D9004CD707, + AD86232D07CA03D9004CD707, + ); + isa = PBXGroup; + name = Scheduler; refType = 4; sourceTree = ""; }; - AD85C73607C4E8740036AC7A = { - fileEncoding = 5; - isa = PBXFileReference; - lastKnownFileType = text; - path = Version; + AD86261707CA04D9004CD707 = { + children = ( + AD86233007CA03D9004CD707, + AD86233107CA03D9004CD707, + AD86233207CA03D9004CD707, + AD86233307CA03D9004CD707, + AD86233407CA03D9004CD707, + ); + isa = PBXGroup; + name = Week; refType = 4; sourceTree = ""; }; - AD85C73907C4E8A30036AC7A = { + AD86261A07CA04DD004CD707 = { children = ( - AD85C72A07C4E8740036AC7A, - AD85C72B07C4E8740036AC7A, - AD85C72C07C4E8740036AC7A, - AD85C72D07C4E8740036AC7A, + AD86233507CA03D9004CD707, ); isa = PBXGroup; - name = Temporary; + name = Year; refType = 4; sourceTree = ""; }; - AD85C76007C4E9100036AC7A = { + AD86261D07CA04E7004CD707 = { children = ( + AD86233607CA03D9004CD707, + AD86233707CA03D9004CD707, + AD86233807CA03D9004CD707, + AD86233907CA03D9004CD707, + AD86233A07CA03D9004CD707, ); isa = PBXGroup; - path = Templates; + name = Contacts; + path = ""; refType = 4; sourceTree = ""; }; @@ -1899,14 +2378,6 @@ refType = 4; sourceTree = ""; }; - ADAD40C90769FFD000AAD24E = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalInlineAptView.wox; - refType = 4; - sourceTree = ""; - }; ADAD40CA0769FFD000AAD24E = { fileEncoding = 5; indentWidth = 2; @@ -2050,14 +2521,6 @@ refType = 4; sourceTree = ""; }; - ADBE446607297BA9000FEA6A = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailSortableTableHeader.wox; - refType = 4; - sourceTree = ""; - }; ADBE446707297BA9000FEA6A = { fileEncoding = 5; indentWidth = 2; @@ -2067,14 +2530,6 @@ refType = 4; sourceTree = ""; }; - ADC07230072E9BFB00C125E0 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailMoveToPopUp.wox; - refType = 4; - sourceTree = ""; - }; ADC07231072E9BFB00C125E0 = { fileEncoding = 5; indentWidth = 2; @@ -2310,29 +2765,16 @@ children = ( AD494C9006F6072C00E51EC9, ADDF4B7006DCEC4300C4E7F8, - ADDF4B6F06DCEC4300C4E7F8, AD494C8E06F606F900E51EC9, - AD494C8D06F606F900E51EC9, ADDF4B7306DCEC5200C4E7F8, - ADDF4B7206DCEC5200C4E7F8, ADDF4B7606DCEC5F00C4E7F8, - ADDF4B7506DCEC5F00C4E7F8, AD494C6206F5EA6600E51EC9, - AD494C6106F5EA6600E51EC9, ); isa = PBXGroup; name = Components; refType = 4; sourceTree = ""; }; - ADDF4B6F06DCEC4300C4E7F8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxContactsListView.wox; - refType = 4; - sourceTree = ""; - }; ADDF4B7006DCEC4300C4E7F8 = { fileEncoding = 5; indentWidth = 2; @@ -2342,14 +2784,6 @@ refType = 4; sourceTree = ""; }; - ADDF4B7206DCEC5200C4E7F8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxContactView.wox; - refType = 4; - sourceTree = ""; - }; ADDF4B7306DCEC5200C4E7F8 = { fileEncoding = 5; indentWidth = 2; @@ -2359,14 +2793,6 @@ refType = 4; sourceTree = ""; }; - ADDF4B7506DCEC5F00C4E7F8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxContactEditor.wox; - refType = 4; - sourceTree = ""; - }; ADDF4B7606DCEC5F00C4E7F8 = { fileEncoding = 5; indentWidth = 2; @@ -2915,14 +3341,6 @@ refType = 4; sourceTree = ""; }; - ADDF4DCB06DE0E9A00C4E7F8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailEditor.wox; - refType = 4; - sourceTree = ""; - }; ADDF4DCC06DE0E9A00C4E7F8 = { fileEncoding = 5; indentWidth = 2; @@ -2932,14 +3350,6 @@ refType = 4; sourceTree = ""; }; - ADDF4DCD06DE0E9A00C4E7F8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailListView.wox; - refType = 4; - sourceTree = ""; - }; ADDF4DCE06DE0E9A00C4E7F8 = { fileEncoding = 5; indentWidth = 2; @@ -2949,14 +3359,6 @@ refType = 4; sourceTree = ""; }; - ADDF4DCF06DE0E9A00C4E7F8 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxMailView.wox; - refType = 4; - sourceTree = ""; - }; ADDF4DD006DE0E9A00C4E7F8 = { explicitFileType = sourcecode.make; fileEncoding = 4; @@ -2980,54 +3382,30 @@ }; ADDF4DD606DE0EC100C4E7F8 = { children = ( - AD770DB207AE4FB200F5C7A1, - AD770DB307AE4FB200F5C7A1, AD770DB407AE4FB200F5C7A1, AD770DB507AE4FB200F5C7A1, AD770DB607AE4FB200F5C7A1, - AD770DB707AE4FB200F5C7A1, AD2C74A6071A9FF70087E027, - AD2C74A7071A9FF70087E027, AD2C74A8071A9FF70087E027, - AD2C74A9071A9FF70087E027, AD2C74AC071A9FF70087E027, - AD2C74AD071A9FF70087E027, AD2C74AE071A9FF70087E027, - AD2C74AF071A9FF70087E027, AD2C74B0071A9FF70087E027, - AD2C74B1071A9FF70087E027, AD2C74B2071A9FF70087E027, - AD2C74B3071A9FF70087E027, AD2C74B4071A9FF70087E027, - AD2C74B5071A9FF70087E027, AD2C74BA071A9FF70087E027, - AD2C74BB071A9FF70087E027, AD2C74BC071A9FF70087E027, - AD2C74BD071A9FF70087E027, ADDF4DCA06DE0E9A00C4E7F8, - ADDF4DCB06DE0E9A00C4E7F8, AD5DF18E072E5AC500173622, - AD5DF18F072E5AC500173622, AD2C78F7071C23CE0087E027, - AD2C78F6071C23CE0087E027, AD2C76D6071BF4EB0087E027, - AD2C76D7071BF4EB0087E027, ADDF4DCC06DE0E9A00C4E7F8, - ADDF4DCD06DE0E9A00C4E7F8, ADBE446707297BA9000FEA6A, - ADBE446607297BA9000FEA6A, ADC07231072E9BFB00C125E0, - ADC07230072E9BFB00C125E0, ADDF4DCE06DE0E9A00C4E7F8, - ADDF4DCF06DE0E9A00C4E7F8, AD0A0ACC07A8093400D3B8EF, - AD0A0ACB07A8093400D3B8EF, AD770DAC07AE4FB200F5C7A1, - AD770DAD07AE4FB200F5C7A1, AD770DAE07AE4FB200F5C7A1, - AD770DAF07AE4FB200F5C7A1, AD770DB007AE4FB200F5C7A1, - AD770DB107AE4FB200F5C7A1, ); isa = PBXGroup; name = Components; @@ -3094,14 +3472,6 @@ refType = 4; sourceTree = ""; }; - ADE2C23C06B7BED40065D56F = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalWeekListview.wox; - refType = 4; - sourceTree = ""; - }; ADE2C23D06B7BED40065D56F = { fileEncoding = 5; indentWidth = 2; @@ -3111,14 +3481,6 @@ refType = 4; sourceTree = ""; }; - ADE2C23F06B7BEE60065D56F = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalWeekChartview.wox; - refType = 4; - sourceTree = ""; - }; ADE2C24006B7BEE60065D56F = { fileEncoding = 5; indentWidth = 2; @@ -3128,14 +3490,6 @@ refType = 4; sourceTree = ""; }; - ADE2C24906B7BF020065D56F = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalWeekColumnsview.wox; - refType = 4; - sourceTree = ""; - }; ADE2C24A06B7BF020065D56F = { fileEncoding = 5; indentWidth = 2; @@ -3145,14 +3499,6 @@ refType = 4; sourceTree = ""; }; - ADE2C28806B7C7B20065D56F = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalDayChartview.wox; - refType = 4; - sourceTree = ""; - }; ADE2C28906B7C7B20065D56F = { fileEncoding = 5; indentWidth = 2; @@ -3162,14 +3508,6 @@ refType = 4; sourceTree = ""; }; - ADE2C28B06B7C7C20065D56F = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalDayListview.wox; - refType = 4; - sourceTree = ""; - }; ADE2C28C06B7C7C20065D56F = { fileEncoding = 5; indentWidth = 2; @@ -3183,13 +3521,9 @@ children = ( ADF15C2E06BA86420047D955, AD5ED0B006B1385700E3EC4B, - AD5ED0AF06B1385700E3EC4B, ADE2C28906B7C7B20065D56F, - ADE2C28806B7C7B20065D56F, ADE2C28C06B7C7C20065D56F, - ADE2C28B06B7C7C20065D56F, ADF15BFD06BA842A0047D955, - ADF15BFC06BA842A0047D955, ); isa = PBXGroup; name = Day; @@ -3200,15 +3534,10 @@ children = ( ADF15D1A06BAA6D20047D955, E87209080692E3D30099CBBD, - E87209090692E3D30099CBBD, ADE2C24006B7BEE60065D56F, - ADE2C23F06B7BEE60065D56F, ADE2C23D06B7BED40065D56F, - ADE2C23C06B7BED40065D56F, ADE2C24A06B7BF020065D56F, - ADE2C24906B7BF020065D56F, ADF15C0206BA84480047D955, - ADF15C0106BA84480047D955, ); fileEncoding = 5; indentWidth = 2; @@ -3220,12 +3549,9 @@ ADE2C2BE06B7CCB90065D56F = { children = ( AD7379B306AEBB2500735920, - AD7379B206AEBB2500735920, AD737A1706AEC77E00735920, E87209000692E3D30099CBBD, - E87209010692E3D30099CBBD, ADF15C0506BA845E0047D955, - ADF15C0406BA845E0047D955, ); isa = PBXGroup; name = Month; @@ -3235,7 +3561,6 @@ ADE2C2C106B7CCBF0065D56F = { children = ( AD737A6A06AEE8BD00735920, - AD737A6906AEE8BD00735920, ); isa = PBXGroup; name = Year; @@ -3298,14 +3623,6 @@ refType = 4; sourceTree = ""; }; - ADF15BFC06BA842A0047D955 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalDayPrintview.wox; - refType = 4; - sourceTree = ""; - }; ADF15BFD06BA842A0047D955 = { fileEncoding = 5; indentWidth = 2; @@ -3315,14 +3632,6 @@ refType = 4; sourceTree = ""; }; - ADF15C0106BA84480047D955 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalWeekPrintview.wox; - refType = 4; - sourceTree = ""; - }; ADF15C0206BA84480047D955 = { fileEncoding = 5; indentWidth = 2; @@ -3332,14 +3641,6 @@ refType = 4; sourceTree = ""; }; - ADF15C0406BA845E0047D955 = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalMonthPrintview.wox; - refType = 4; - sourceTree = ""; - }; ADF15C0506BA845E0047D955 = { fileEncoding = 5; indentWidth = 2; @@ -4437,14 +4738,6 @@ refType = 4; sourceTree = ""; }; - E87208F40692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxAppointmentEditor.wox; - refType = 4; - sourceTree = ""; - }; E87208F70692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4463,14 +4756,6 @@ refType = 4; sourceTree = ""; }; - E87208F90692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxAppointmentView.wox; - refType = 4; - sourceTree = ""; - }; E87208FA0692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4480,14 +4765,6 @@ refType = 4; sourceTree = ""; }; - E87208FB0692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxAptTableView.wox; - refType = 4; - sourceTree = ""; - }; E87208FC0692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4497,14 +4774,6 @@ refType = 4; sourceTree = ""; }; - E87208FD0692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalBackForthNavView.wox; - refType = 4; - sourceTree = ""; - }; E87208FE0692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4514,14 +4783,6 @@ refType = 4; sourceTree = ""; }; - E87208FF0692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalDateLabel.wox; - refType = 4; - sourceTree = ""; - }; E87209000692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4531,14 +4792,6 @@ refType = 4; sourceTree = ""; }; - E87209010692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalMonthOverview.wox; - refType = 4; - sourceTree = ""; - }; E87209020692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4566,14 +4819,6 @@ refType = 4; sourceTree = ""; }; - E87209050692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalSelectTab.wox; - refType = 4; - sourceTree = ""; - }; E87209060692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4601,14 +4846,6 @@ refType = 4; sourceTree = ""; }; - E87209090692E3D30099CBBD = { - fileEncoding = 4; - isa = PBXFileReference; - lastKnownFileType = text.xml; - path = UIxCalWeekOverview.wox; - refType = 4; - sourceTree = ""; - }; E872090A0692E3D30099CBBD = { fileEncoding = 5; indentWidth = 2; @@ -4651,11 +4888,8 @@ E8720A2B0692E4B40099CBBD = { children = ( E87208FC0692E3D30099CBBD, - E87208FD0692E3D30099CBBD, E87208FE0692E3D30099CBBD, - E87208FF0692E3D30099CBBD, E87209040692E3D30099CBBD, - E87209050692E3D30099CBBD, AD7BA88A0770A62B008F4F3D, AD0137A406DF8875000910D8, AD73BEE206CFA17700226A2D, diff --git a/SOGo/UI/Scheduler/ChangeLog b/SOGo/UI/Scheduler/ChangeLog index 98a60ae7..d9d5a784 100644 --- a/SOGo/UI/Scheduler/ChangeLog +++ b/SOGo/UI/Scheduler/ChangeLog @@ -1,3 +1,17 @@ +2005-02-21 Marcus Mueller + + * v0.9.116 + + * UIxTimeDateControl.wox: added code to disable time control on + demand. If given date is nil, substitute today for it - nil dates + are not legal/possible for this control. + + * UIxAppointmentEditor.m: correctly (de)serialize until date for + recurrences + + * English.lproj/default.strings: new strings for recurrence selection, + altered previous strings slightly to match the new UI's purpose + 2005-02-17 Marcus Mueller * v0.9.115 diff --git a/SOGo/UI/Scheduler/English.lproj/default.strings b/SOGo/UI/Scheduler/English.lproj/default.strings index ab529c9e..88e4cebc 100644 --- a/SOGo/UI/Scheduler/English.lproj/default.strings +++ b/SOGo/UI/Scheduler/English.lproj/default.strings @@ -120,7 +120,7 @@ "Location" = "Location"; "Priority" = "Priority"; "Cycle" = "Cycle"; -"Cycle End" = "Cycle End"; +"Cycle End" = "End"; "Categories" = "Categories"; "Classification" = "Classification"; "Duration" = "Duration"; @@ -196,6 +196,9 @@ "cycle_weekday" = "weekday"; "cycle_yearly" = "yearly"; +"cycle_end_never" = "never"; +"cycle_end_until" = "on date"; + /* Appointment categories */ "APPOINTMENT" = "Appointment"; diff --git a/SOGo/UI/Scheduler/UIxAppointmentEditor.m b/SOGo/UI/Scheduler/UIxAppointmentEditor.m index 49f7efbd..b6e7f5c7 100644 --- a/SOGo/UI/Scheduler/UIxAppointmentEditor.m +++ b/SOGo/UI/Scheduler/UIxAppointmentEditor.m @@ -50,6 +50,7 @@ BOOL isPrivate; /* default: NO */ BOOL checkForConflicts; /* default: NO */ NSDictionary *cycle; + NSString *cycleEnd; } - (NSString *)iCalStringTemplate; @@ -66,6 +67,10 @@ - (void)adjustCycleControlsForRRule:(iCalRecurrenceRule *)_rrule; - (NSDictionary *)cycleMatchingRRule:(iCalRecurrenceRule *)_rrule; +- (BOOL)isCycleEndUntil; +- (void)setIsCycleEndUntil; +- (void)setIsCycleEndNever; + - (NSString *)_completeURIForMethod:(NSString *)_method; - (NSArray *)getICalPersonsFromFormValues:(NSArray *)_values @@ -108,6 +113,7 @@ if(self) { [self setIsPrivate:NO]; [self setCheckForConflicts:NO]; + [self setIsCycleEndNever]; } return self; } @@ -129,6 +135,7 @@ [self->categories release]; [self->accessClass release]; [self->cycle release]; + [self->cycleEnd release]; [super dealloc]; } @@ -343,6 +350,21 @@ return [self labelForKey:key]; } + +- (void)setCycleUntilDate:(NSCalendarDate *)_cycleUntilDate { + NSCalendarDate *until; + + /* copy hour/minute/second from startDate */ + until = [_cycleUntilDate hour:[self->startDate hourOfDay] + minute:[self->startDate minuteOfHour] + second:[self->startDate secondOfMinute]]; + [until setTimeZone:[self->startDate timeZone]]; + ASSIGN(self->cycleUntilDate, until); +} +- (NSCalendarDate *)cycleUntilDate { + return self->cycleUntilDate; +} + - (iCalRecurrenceRule *)rrule { NSString *ruleRep; iCalRecurrenceRule *rule; @@ -352,20 +374,26 @@ ruleRep = [self->cycle objectForKey:@"rule"]; rule = [iCalRecurrenceRule recurrenceRuleWithICalRepresentation:ruleRep]; - if (self->cycleUntilDate) + if (self->cycleUntilDate && [self isCycleEndUntil]) [rule setUntilDate:self->cycleUntilDate]; return rule; } - (void)adjustCycleControlsForRRule:(iCalRecurrenceRule *)_rrule { - NSDictionary *c; + NSDictionary *c; + NSCalendarDate *until; c = [self cycleMatchingRRule:_rrule]; [self setCycle:c]; - [self->cycleUntilDate release]; - self->cycleUntilDate = [[_rrule untilDate] copy]; - [self->cycleUntilDate setTimeZone:[self viewTimeZone]]; + until = [[[_rrule untilDate] copy] autorelease]; + if (!until) + until = self->startDate; + else + [self setIsCycleEndUntil]; + + [until setTimeZone:[self viewTimeZone]]; + [self setCycleUntilDate:until]; } /* @@ -402,6 +430,34 @@ return nil; } +/* cycle "ends" - supposed to be 'never', 'COUNT' or 'UNTIL' */ +- (NSArray *)cycleEnds { + static NSArray *ends = nil; + + if (!ends) { + ends = [[NSArray alloc] initWithObjects:@"cycle_end_never", + @"cycle_end_until", + nil]; + } + return ends; +} + +- (void)setCycleEnd:(NSString *)_cycleEnd { + ASSIGNCOPY(self->cycleEnd, _cycleEnd); +} +- (NSString *)cycleEnd { + return self->cycleEnd; +} +- (BOOL)isCycleEndUntil { + return (self->cycleEnd && + [self->cycleEnd isEqualToString:@"cycle_end_until"]); +} +- (void)setIsCycleEndUntil { + [self setCycleEnd:@"cycle_end_until"]; +} +- (void)setIsCycleEndNever { + [self setCycleEnd:@"cycle_end_never"]; +} /* transparency */ @@ -821,6 +877,45 @@ return [ranges count] != 0 ? YES : NO; } +/* response generation */ + +- (NSString *)jsCode { + static NSString *script = \ + @"function showElement(e, show) {\n" + @" e.style.visibility = show ? 'visible' : 'hidden';\n" + @"}\n" + @"\n" + @"function selectHasCycle(sender) {\n" + @" var value = sender.selectedIndex;\n" + @" var show = (value != 0);\n" + @" var sel = document.getElementById('cycle_end_mode_selection');" + @" this.showElement(document.getElementById('cycle_end_label'), show);\n" + @" this.showElement(document.getElementById('cycle_end_mode'), show);\n" + @" this.selectCycleEnd(sel);\n" + @"}\n" + @"function selectCycleEnd(sender) {\n" + @" var cycleEndUntil = document.getElementById('cycle_end_until');\n" + @" var value = sender.options[sender.selectedIndex].value;\n" + @" var show = (value == 'cycle_end_until');\n" + @" this.showElement(cycleEndUntil, show);\n" + @"}\n" + @"\n"; + + return script; +} + +- (NSString *)initialCycleVisibility { + if (![self hasCycle]) + return @"visibility: hidden;"; + return @"visibility: visible;"; +} + +- (NSString *)initialCycleEndUntilVisibility { + if ([self isCycleEndUntil]) + return @"visibility: visible;"; + return @"visibility: hidden;"; +} + /* actions */ diff --git a/SOGo/UI/Scheduler/UIxTimeDateControl.m b/SOGo/UI/Scheduler/UIxTimeDateControl.m index 9cf7b022..6ec5b49a 100644 --- a/SOGo/UI/Scheduler/UIxTimeDateControl.m +++ b/SOGo/UI/Scheduler/UIxTimeDateControl.m @@ -33,6 +33,7 @@ id day; id month; id year; + BOOL displayTimeControl; } - (void)setControlID:(NSString *)_controlID; @@ -66,6 +67,14 @@ @implementation UIxTimeDateControl +- (id)init { + self = [super init]; + if (self) { + self->displayTimeControl = YES; + } + return self; +} + - (void)dealloc { [self->controlID release]; [self->label release]; @@ -94,56 +103,58 @@ return self->label; } - (void)setDate:(NSCalendarDate *)_date { - [self _setDate:_date]; - [self setHour:[NSNumber numberWithInt:[_date hourOfDay]]]; - [self setMinute:[NSNumber numberWithInt:[_date minuteOfHour]]]; - [self setYear:[NSNumber numberWithInt:[_date yearOfCommonEra]]]; - [self setMonth:[NSNumber numberWithInt:[_date monthOfYear]]]; - [self setDay:[NSNumber numberWithInt:[_date dayOfMonth]]]; + if (!_date) + _date = [NSCalendarDate date]; + [self _setDate:_date]; + [self setHour:[NSNumber numberWithInt:[_date hourOfDay]]]; + [self setMinute:[NSNumber numberWithInt:[_date minuteOfHour]]]; + [self setYear:[NSNumber numberWithInt:[_date yearOfCommonEra]]]; + [self setMonth:[NSNumber numberWithInt:[_date monthOfYear]]]; + [self setDay:[NSNumber numberWithInt:[_date dayOfMonth]]]; } - (void)_setDate:(NSCalendarDate *)_date { - ASSIGN(self->date, _date); + ASSIGN(self->date, _date); } - (NSCalendarDate *)date { - return self->date; + return self->date; } - (void)setHour:(id)_hour { - ASSIGN(self->hour, _hour); + ASSIGN(self->hour, _hour); } - (id)hour { - return self->hour; + return self->hour; } - (void)setMinute:(id)_minute { - ASSIGN(self->minute, _minute); + ASSIGN(self->minute, _minute); } - (id)minute { - return self->minute; + return self->minute; } - (void)setSecond:(id)_second { - ASSIGN(self->second, _second); + ASSIGN(self->second, _second); } - (id)second { - return self->second; + return self->second; } - (void)setDay:(id)_day { - ASSIGN(self->day, _day); + ASSIGN(self->day, _day); } - (id)day { - return self->day; + return self->day; } - (void)setMonth:(id)_month { - ASSIGN(self->month, _month); + ASSIGN(self->month, _month); } - (id)month { - return self->month; + return self->month; } - (void)setYear:(id)_year { - ASSIGN(self->year, _year); + ASSIGN(self->year, _year); } - (id)year { - return self->year; + return self->year; } - (NSString *)timeID { @@ -153,6 +164,21 @@ return [[self controlID] stringByAppendingString:@"_date"]; } +- (void)setDisplayTimeControl:(BOOL)_displayTimeControl { + self->displayTimeControl = _displayTimeControl; +} +- (BOOL)displayTimeControl { + return self->displayTimeControl; +} + +#if 0 +- (NSString *)timeControlStyle { + if (self->displayTimeControl) + return @"visibility : visible;"; + return @"visibility : hidden;"; +} +#endif + /* processing request */ - (void)takeValuesFromRequest:(WORequest *)_rq inContext:(WOContext *)_ctx { @@ -166,18 +192,18 @@ if(_year == 0) return; - _month = [[self month] intValue]; - _day = [[self day] intValue]; - _hour = [[self hour] intValue]; + _month = [[self month] intValue]; + _day = [[self day] intValue]; + _hour = [[self hour] intValue]; _minute = [[self minute] intValue]; _second = [[self second] intValue]; - d = [NSCalendarDate dateWithYear:_year - month:_month - day:_day - hour:_hour + d = [NSCalendarDate dateWithYear:_year + month:_month + day:_day + hour:_hour minute:_minute second:_second - timeZone:[self viewTimeZone]]; + timeZone:[self viewTimeZone]]; [self _setDate:d]; } diff --git a/SOGo/UI/Scheduler/Version b/SOGo/UI/Scheduler/Version index 5c6cbbd1..73dc879d 100644 --- a/SOGo/UI/Scheduler/Version +++ b/SOGo/UI/Scheduler/Version @@ -1,6 +1,6 @@ # Version file -SUBMINOR_VERSION:=115 +SUBMINOR_VERSION:=116 # v0.9.115 requires NGiCal v4.5.44 # v0.9.113 requires libSOGo v0.9.30 diff --git a/SOGo/UI/Templates/ChangeLog b/SOGo/UI/Templates/ChangeLog index 3b7004f1..a337a039 100644 --- a/SOGo/UI/Templates/ChangeLog +++ b/SOGo/UI/Templates/ChangeLog @@ -1,3 +1,10 @@ +2005-02-21 Marcus Mueller + + * UIxTimeDateControl.wox: disable time control on demand + + * UIxAppointmentEditor.m: correctly visualize until date for + recurrences + 2005-02-18 Helge Hess * UIxMailContactList.wox: added prototypical inline edits in a table diff --git a/SOGo/UI/Templates/UIxAppointmentEditor.wox b/SOGo/UI/Templates/UIxAppointmentEditor.wox index aea0af04..8b0c97ad 100644 --- a/SOGo/UI/Templates/UIxAppointmentEditor.wox +++ b/SOGo/UI/Templates/UIxAppointmentEditor.wox @@ -9,6 +9,9 @@ >
+ - -
@@ -132,23 +135,35 @@ item="item" label:string="$cycleLabel" selection="cycle" + const:onChange="selectHasCycle(this);" /> : - -
diff --git a/SOGo/UI/Templates/UIxTimeDateControl.wox b/SOGo/UI/Templates/UIxTimeDateControl.wox index f6e2d465..9f9323f1 100644 --- a/SOGo/UI/Templates/UIxTimeDateControl.wox +++ b/SOGo/UI/Templates/UIxTimeDateControl.wox @@ -7,13 +7,15 @@ > - + + +
- - + +