From 00c9ef5a3cc1c0adc05e035672c692786796c85b Mon Sep 17 00:00:00 2001 From: znek Date: Fri, 23 Jul 2004 19:55:28 +0000 Subject: [PATCH] Beginning of 'dayoverview'. Still incomplete. git-svn-id: http://svn.opengroupware.org/SOGo/trunk@155 d1b88da0-ebda-0310-925b-ed51d893ca5b --- GNUmakefile | 11 + SOGo/SOGo.xcode/project.pbxproj | 40 ++- SOGo/UI/Common/ChangeLog | 6 +- SOGo/UI/Common/calendar.css | 88 +++++ SOGo/UI/Scheduler/ChangeLog | 18 +- .../Scheduler/English.lproj/default.strings | 4 +- SOGo/UI/Scheduler/GNUmakefile | 3 + SOGo/UI/Scheduler/UIxCalDayOverview.m | 36 ++ SOGo/UI/Scheduler/UIxCalDayOverview.wox | 177 ++++++++++ SOGo/UI/Scheduler/UIxCalDayView.h | 40 +++ SOGo/UI/Scheduler/UIxCalDayView.m | 69 ++++ SOGo/UI/Scheduler/UIxCalInlineMonthOverview.m | 15 + .../Scheduler/UIxCalInlineMonthOverview.wox | 18 +- SOGo/UI/Scheduler/UIxCalMonthOverview.wox | 310 +++++++++--------- SOGo/UI/Scheduler/UIxCalMonthView.m | 4 +- SOGo/UI/Scheduler/UIxCalWeekOverview.wox | 20 +- SOGo/UI/Scheduler/UIxCalWeekView.m | 6 +- SOGo/UI/Scheduler/UIxCalYearOverview.wox | 191 +++++------ SOGo/UI/Scheduler/Version | 2 +- SOGo/UI/Scheduler/product.plist | 12 + 20 files changed, 797 insertions(+), 273 deletions(-) create mode 100644 GNUmakefile create mode 100644 SOGo/UI/Scheduler/UIxCalDayOverview.m create mode 100644 SOGo/UI/Scheduler/UIxCalDayOverview.wox create mode 100644 SOGo/UI/Scheduler/UIxCalDayView.h create mode 100644 SOGo/UI/Scheduler/UIxCalDayView.m diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 00000000..80992041 --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,11 @@ +# $Id$ + +include $(GNUSTEP_MAKEFILES)/common.make + +SUBPROJECTS = \ + OGoContentStore \ + SOGoLogic \ + SOGo \ + + +include $(GNUSTEP_MAKEFILES)/aggregate.make diff --git a/SOGo/SOGo.xcode/project.pbxproj b/SOGo/SOGo.xcode/project.pbxproj index d26e6488..328038fc 100644 --- a/SOGo/SOGo.xcode/project.pbxproj +++ b/SOGo/SOGo.xcode/project.pbxproj @@ -43,6 +43,38 @@ tabWidth = 4; usesTabs = 1; }; + AD5ED0AF06B1385700E3EC4B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = text.xml; + path = UIxCalDayOverview.wox; + refType = 4; + sourceTree = ""; + }; + AD5ED0B006B1385700E3EC4B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = UIxCalDayOverview.m; + refType = 4; + sourceTree = ""; + }; + AD5ED1AE06B1768900E3EC4B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + path = UIxCalDayView.h; + refType = 4; + sourceTree = ""; + }; + AD5ED1AF06B1768900E3EC4B = { + fileEncoding = 4; + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.objc; + path = UIxCalDayView.m; + refType = 4; + sourceTree = ""; + }; AD6BCEE5069D77E9003664CD = { children = ( AD6BCF0D069D77E9003664CD, @@ -1928,6 +1960,8 @@ E87209050692E3D30099CBBD, AD7379B306AEBB2500735920, AD7379B206AEBB2500735920, + AD5ED0B006B1385700E3EC4B, + AD5ED0AF06B1385700E3EC4B, E87209080692E3D30099CBBD, E87209090692E3D30099CBBD, AD737A1706AEC77E00735920, @@ -1948,12 +1982,14 @@ E87208F50692E3D30099CBBD, E87208F60692E3D30099CBBD, E87208F70692E3D30099CBBD, - E87209020692E3D30099CBBD, - E87209030692E3D30099CBBD, E87209060692E3D30099CBBD, E87209070692E3D30099CBBD, + AD5ED1AE06B1768900E3EC4B, + AD5ED1AF06B1768900E3EC4B, E872090A0692E3D30099CBBD, E872090B0692E3D30099CBBD, + E87209020692E3D30099CBBD, + E87209030692E3D30099CBBD, ); isa = PBXGroup; name = Classes; diff --git a/SOGo/UI/Common/ChangeLog b/SOGo/UI/Common/ChangeLog index 40abc928..2cd35856 100644 --- a/SOGo/UI/Common/ChangeLog +++ b/SOGo/UI/Common/ChangeLog @@ -1,4 +1,8 @@ -2004-07-21 Marcus Mueller +2004-07-23 Marcus Mueller + + * calendar.css: added styles for dayoverview's calendar. + +2004-07-22 Marcus Mueller * calendar.css: complete style for 'yearoverview' and fixed style in 'monthoverview'. diff --git a/SOGo/UI/Common/calendar.css b/SOGo/UI/Common/calendar.css index 94e4f3d7..c485a1dc 100644 --- a/SOGo/UI/Common/calendar.css +++ b/SOGo/UI/Common/calendar.css @@ -11,6 +11,94 @@ color: #000000; } + +.dayoverview_cal { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.dayoverview_cal table { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.dayoverview_cal td { + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; +} + +.dayoverview_cal a { + color: #000000; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + font-size: 10pt; + letter-spacing: 0pt; + padding: 0px; + text-decoration: none; +} +.dayoverview_cal a:hover { + text-decoration: underline; +} + +.dayoverview_cal_title { + background-color: #d2d2cc; + text-align: center; + font-size: 10pt; + font-weight: bold; + letter-spacing: 0pt; +} + +.dayoverview_cal_day_header { + background-color: #d2d2cc; + text-align: center; + vertical-align: middle; + font-size: 11pt; + width: 20px; + padding: 2px 2px 2px 2px; + margin: 2px 2px 2px 2px; +} + +.dayoverview_cal_content { + color: #0033cc; + background-color: #e8e8e0; + text-align: center; + vertical-align: middle; +} + +.dayoverview_cal_content_hilite { + color: #0033cc; + background-color: #fffff0; + text-align: center; + vertical-align: middle; +} + +.dayoverview_cal_content_selected { + color: #ff0000; +} +.dayoverview_cal_content_selected a { + color: #ff0000; +} +.dayoverview_cal_content_selected a:hover { + color: #ff0000; +} + +.dayoverview_cal_content_dimmed { + color: #0033cc; + background-color: #d2d2cc; + text-align: center; + vertical-align: middle; +} +.dayoverview_cal_content_dimmed a { + color: #5a5a5a; +} +.dayoverview_cal_content_dimmed a:hover { + color: #5a5a5a; +} + + .weekoverview_title { font-size: 10pt; font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; diff --git a/SOGo/UI/Scheduler/ChangeLog b/SOGo/UI/Scheduler/ChangeLog index bce60ab0..78abaa65 100644 --- a/SOGo/UI/Scheduler/ChangeLog +++ b/SOGo/UI/Scheduler/ChangeLog @@ -1,4 +1,20 @@ -2004-07-21 Marcus Mueller +2004-07-23 Marcus Mueller + + * v0.9.6 + + * GNUmakefile: added UIxCalDayView.[hm] and UIxCalDayOverview.[m|wox] + + * UIxCalDayView.[hm]: abstract superclass for all day related views. + + * UIxCalDayOverview.[m|wox]: new component rendering the day overview. + + * UIxCalInlineMonthOverview.[m|wox]: uses new "selectedDayExtraStyle" + binding and implements accompanied logic for its usage. + + * product.plist: added 3 dayview methods, all currently pointing to + UIxCalDayOverview. + +2004-07-22 Marcus Mueller * v0.9.5 diff --git a/SOGo/UI/Scheduler/English.lproj/default.strings b/SOGo/UI/Scheduler/English.lproj/default.strings index f0d64241..c80f6085 100644 --- a/SOGo/UI/Scheduler/English.lproj/default.strings +++ b/SOGo/UI/Scheduler/English.lproj/default.strings @@ -19,7 +19,7 @@ "a2_Saturday" = "Sa"; "dayLabelFormat" = "%Y-%m-%d"; - +"today" = "today"; /* Week */ @@ -67,7 +67,7 @@ "new" = "new"; "printview" = "printview"; "proposal" = "proposal"; - +"Calendar" = "Calendar"; /* calendar modes */ diff --git a/SOGo/UI/Scheduler/GNUmakefile b/SOGo/UI/Scheduler/GNUmakefile index fcef9b24..d546a3e6 100644 --- a/SOGo/UI/Scheduler/GNUmakefile +++ b/SOGo/UI/Scheduler/GNUmakefile @@ -14,10 +14,12 @@ SchedulerUI_OBJC_FILES = \ SchedulerUIProduct.m \ UIxAppointmentFormatter.m \ UIxCalView.m \ + UIxCalDayView.m \ UIxCalWeekView.m \ UIxCalMonthView.m \ UIxAptTableView.m \ \ + UIxCalDayOverview.m \ UIxCalWeekOverview.m \ UIxCalMonthOverview.m \ UIxCalYearOverview.m \ @@ -33,6 +35,7 @@ SchedulerUI_RESOURCE_FILES += \ product.plist \ \ UIxAptTableView.wox \ + UIxCalDayOverview.wox \ UIxCalWeekOverview.wox \ UIxCalMonthOverview.wox \ UIxCalYearOverview.wox \ diff --git a/SOGo/UI/Scheduler/UIxCalDayOverview.m b/SOGo/UI/Scheduler/UIxCalDayOverview.m new file mode 100644 index 00000000..ed701e96 --- /dev/null +++ b/SOGo/UI/Scheduler/UIxCalDayOverview.m @@ -0,0 +1,36 @@ +/* + Copyright (C) 2000-2004 SKYRIX Software AG + + This file is part of OGo + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// $Id$ + + +#include "UIxCalDayView.h" + +@interface UIxCalDayOverview : UIxCalDayView +{ + +} + +@end + + +@implementation UIxCalDayOverview + +@end diff --git a/SOGo/UI/Scheduler/UIxCalDayOverview.wox b/SOGo/UI/Scheduler/UIxCalDayOverview.wox new file mode 100644 index 00000000..bdd4e8c6 --- /dev/null +++ b/SOGo/UI/Scheduler/UIxCalDayOverview.wox @@ -0,0 +1,177 @@ + + + + + + + + + + + + +
+ + + + + +
+ + + + +
+
+ + + + + +
TODO: controls + +
+
+ + + + + + + + + + + +
+ + + + + + +
+ + + + + + +
+
+ + + + + +
+ + + +
+
+ + + + + +
+ + + + + + + +
+ +
+ +
+
+ TODO: Content +
+
+
+ + + +
+ + +
+
+
+
diff --git a/SOGo/UI/Scheduler/UIxCalDayView.h b/SOGo/UI/Scheduler/UIxCalDayView.h new file mode 100644 index 00000000..0729035c --- /dev/null +++ b/SOGo/UI/Scheduler/UIxCalDayView.h @@ -0,0 +1,40 @@ +/* + Copyright (C) 2000-2004 SKYRIX Software AG + + This file is part of OGo + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// $Id$ + + +#ifndef __UIxCalDayView_H_ +#define __UIxCalDayView_H_ + + +#include "UIxCalView.h" + +@interface UIxCalDayView : UIxCalView +{ + +} + +- (NSCalendarDate *)thisMonth; +- (NSCalendarDate *)nextMonth; + +@end + +#endif /* __UIxCalDayView_H_ */ diff --git a/SOGo/UI/Scheduler/UIxCalDayView.m b/SOGo/UI/Scheduler/UIxCalDayView.m new file mode 100644 index 00000000..fcd872c2 --- /dev/null +++ b/SOGo/UI/Scheduler/UIxCalDayView.m @@ -0,0 +1,69 @@ +/* + Copyright (C) 2000-2004 SKYRIX Software AG + + This file is part of OGo + + OGo is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + OGo is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with OGo; see the file COPYING. If not, write to the + Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. +*/ +// $Id$ + + +#import "UIxCalDayView.h" +#include + + +@implementation UIxCalDayView + +- (NSCalendarDate *)thisMonth { + return [self selectedDate]; +} + +- (NSCalendarDate *)nextMonth { + NSCalendarDate *date = [self thisMonth]; + return [date dateByAddingYears:0 months:0 days:[date numberOfDaysInMonth] + hours:0 minutes:0 seconds:0]; +} + + +/* URLs */ + +- (NSDictionary *)prevDayQueryParameters { + NSCalendarDate *date; + + date = [[self startDate] dateByAddingYears:0 months:0 days:-1 + hours:0 minutes:0 seconds:0]; + return [self queryParametersBySettingSelectedDate:date]; +} + +- (NSDictionary *)nextDayQueryParameters { + NSCalendarDate *date; + + date = [[self startDate] dateByAddingYears:0 months:0 days:1 + hours:0 minutes:0 seconds:0]; + return [self queryParametersBySettingSelectedDate:date]; +} + + +/* fetching */ + +- (NSCalendarDate *)startDate { + return [[self selectedDate] beginOfDay]; +} +- (NSCalendarDate *)endDate { + return [[self startDate] endOfDay]; +} + +@end diff --git a/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.m b/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.m index 6eebf485..dc62d654 100644 --- a/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.m +++ b/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.m @@ -36,6 +36,7 @@ NSString *dayBodyStyle; NSString *todayBodyStyle; NSString *inactiveDayBodyStyle; + NSString *selectedDayExtraStyle; NSString *daySelectionHref; NSString *weekSelectionHref; NSString *monthSelectionHref; @@ -59,6 +60,7 @@ [self->dayBodyStyle release]; [self->todayBodyStyle release]; [self->inactiveDayBodyStyle release]; + [self->selectedDayExtraStyle release]; [self->daySelectionHref release]; [self->weekSelectionHref release]; [self->monthSelectionHref release]; @@ -125,6 +127,12 @@ - (NSString *)inactiveDayBodyStyle { return self->inactiveDayBodyStyle; } +- (void)setSelectedDayExtraStyle:(NSString *)_style { + ASSIGN(self->selectedDayExtraStyle, _style); +} +- (NSString *)selectedDayExtraStyle { + return self->selectedDayExtraStyle; +} - (void)setDaySelectionHref:(NSString *)_href { ASSIGN(self->daySelectionHref, _href); } @@ -213,6 +221,13 @@ return [self dayBodyStyle]; } +- (NSString *)extraStyle { + if([[self selectedDate] isDateOnSameDay:self->currentDay]) { + return [self selectedDayExtraStyle]; + } + return nil; +} + /* URLs */ diff --git a/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.wox b/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.wox index 6aa83379..aa6d005a 100644 --- a/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.wox +++ b/SOGo/UI/Scheduler/UIxCalInlineMonthOverview.wox @@ -47,14 +47,16 @@ - - - - - - + + + + + + + + diff --git a/SOGo/UI/Scheduler/UIxCalMonthOverview.wox b/SOGo/UI/Scheduler/UIxCalMonthOverview.wox index cccb20e4..331aa8f2 100644 --- a/SOGo/UI/Scheduler/UIxCalMonthOverview.wox +++ b/SOGo/UI/Scheduler/UIxCalMonthOverview.wox @@ -1,167 +1,173 @@ - - + - - - - - - -
- - - - - -
- - -
-
- - + + + + + - - - -
+ + + + + +
+ + + + +
+
+ + - -
TODO: controls - +
-
- - - + + + - -
- - + +
+
+ - - - - - - - - - -
- - - - - + + + + + + + +
- - - -
+ + + + +
+ + + + + +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + +
+ + [] + +
+ + + +
+
+
+ + + +
+ + +
- - - - - - - - - - - - - - - - - - - - - -
- - [] - -
- - - - -
- -
- - + +
-
-
- - - + Appointments: + + --> + diff --git a/SOGo/UI/Scheduler/UIxCalMonthView.m b/SOGo/UI/Scheduler/UIxCalMonthView.m index fa3a2164..09f93086 100644 --- a/SOGo/UI/Scheduler/UIxCalMonthView.m +++ b/SOGo/UI/Scheduler/UIxCalMonthView.m @@ -6,11 +6,11 @@ @implementation UIxCalMonthView - (NSCalendarDate *)startDate { - return [[super startDate] firstDayOfMonth]; + return [[[super startDate] firstDayOfMonth] beginOfDay]; } - (NSCalendarDate *)endDate { - NSCalendarDate *startDate = [self startDate]; + NSCalendarDate *startDate = [[self startDate] endOfDay]; return [startDate dateByAddingYears:0 months:0 days:[startDate numberOfDaysInMonth] diff --git a/SOGo/UI/Scheduler/UIxCalWeekOverview.wox b/SOGo/UI/Scheduler/UIxCalWeekOverview.wox index 8628b480..0f7a2a85 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekOverview.wox +++ b/SOGo/UI/Scheduler/UIxCalWeekOverview.wox @@ -48,8 +48,10 @@
- +
@@ -78,14 +80,18 @@
- + - +
diff --git a/SOGo/UI/Scheduler/UIxCalWeekView.m b/SOGo/UI/Scheduler/UIxCalWeekView.m index 5df1d2d9..5696cfa1 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekView.m +++ b/SOGo/UI/Scheduler/UIxCalWeekView.m @@ -6,12 +6,12 @@ @implementation UIxCalWeekView - (NSCalendarDate *)startDate { - return [[super startDate] mondayOfWeek]; + return [[[super startDate] mondayOfWeek] beginOfDay]; } - (NSCalendarDate *)endDate { - return [[self startDate] dateByAddingYears:0 months:0 days:7 - hours:0 minutes:0 seconds:0]; + return [[[self startDate] dateByAddingYears:0 months:0 days:7 + hours:0 minutes:0 seconds:0] endOfDay]; } /* URLs */ diff --git a/SOGo/UI/Scheduler/UIxCalYearOverview.wox b/SOGo/UI/Scheduler/UIxCalYearOverview.wox index 3e24d92f..2ee96ece 100644 --- a/SOGo/UI/Scheduler/UIxCalYearOverview.wox +++ b/SOGo/UI/Scheduler/UIxCalYearOverview.wox @@ -1,105 +1,108 @@ - - + - - - - - - - + + + +
- - - - - -
- - -
-
- - + + + + + - - - - - + +
+ + + + + +
+ + + + +
+
+ + - -
TODO: controls - +
-
- - - - - - - - - - - -
- - - - - - - - - -
- -
-
-
- - -
-
-
+
+ + + + + + + + + + + +
+ + + + + + + + + +
+ +
+
+
+ + + +
+ + +
+
+
diff --git a/SOGo/UI/Scheduler/Version b/SOGo/UI/Scheduler/Version index 86b0e4dd..3fc5892a 100644 --- a/SOGo/UI/Scheduler/Version +++ b/SOGo/UI/Scheduler/Version @@ -1,5 +1,5 @@ # $Id$ -SUBMINOR_VERSION:=5 +SUBMINOR_VERSION:=6 # 1.1.0 requires NGObjWeb 4.2.202 diff --git a/SOGo/UI/Scheduler/product.plist b/SOGo/UI/Scheduler/product.plist index 1e85c93b..58a3c399 100644 --- a/SOGo/UI/Scheduler/product.plist +++ b/SOGo/UI/Scheduler/product.plist @@ -19,6 +19,18 @@ categories = { SOGoAppointmentFolder = { methods = { + "dayoverview" = { + protectedBy = "View"; + pageName = "UIxCalDayOverview"; + }; + "daychartview" = { + protectedBy = "View"; + pageName = "UIxCalDayOverview"; + }; + "daylistview" = { + protectedBy = "View"; + pageName = "UIxCalDayOverview"; + }; "weekoverview" = { protectedBy = "View"; pageName = "UIxCalWeekOverview"; -- 2.39.5