From fe9d68784013f23572dfba374ee482c5dcf03f2a Mon Sep 17 00:00:00 2001 From: znek Date: Fri, 10 Sep 2004 15:23:10 +0000 Subject: [PATCH] completed views git-svn-id: http://svn.opengroupware.org/SOGo/trunk@303 d1b88da0-ebda-0310-925b-ed51d893ca5b --- SOGo/SOGo.xcode/project.pbxproj | 56 +++ SOGo/UI/Anais/AnaisSelector.wox | 4 +- SOGo/UI/Anais/AnaisUidSelector.wox | 10 +- SOGo/UI/Anais/ChangeLog | 5 + SOGo/UI/Anais/Version | 2 +- SOGo/UI/Common/ChangeLog | 5 + SOGo/UI/Common/Version | 2 +- SOGo/UI/Common/uix.css | 39 ++ SOGo/UI/Scheduler/ChangeLog | 21 + SOGo/UI/Scheduler/GNUmakefile | 1 + SOGo/UI/Scheduler/UIxCalDayListview.m | 4 +- SOGo/UI/Scheduler/UIxCalDayView.m | 41 +- SOGo/UI/Scheduler/UIxCalWeekChartview.m | 142 ++++++ SOGo/UI/Scheduler/UIxCalWeekChartview.wox | 387 +++++++++-------- SOGo/UI/Scheduler/UIxCalWeekColumnsview.m | 4 - SOGo/UI/Scheduler/UIxCalWeekListview.m | 125 ++++++ SOGo/UI/Scheduler/UIxCalWeekListview.wox | 409 ++++++++++-------- SOGo/UI/Scheduler/UIxCalWeekOverview.m | 4 - SOGo/UI/Scheduler/UIxCalWeekView.m | 4 + SOGo/UI/Scheduler/Version | 2 +- .../UI/Scheduler/images/invisible_space_2.gif | Bin 0 -> 42 bytes SOGo/UI/Scheduler/product.plist | 1 + 22 files changed, 852 insertions(+), 416 deletions(-) create mode 100644 SOGo/UI/Scheduler/images/invisible_space_2.gif diff --git a/SOGo/SOGo.xcode/project.pbxproj b/SOGo/SOGo.xcode/project.pbxproj index efc7a01a..23163eb4 100644 --- a/SOGo/SOGo.xcode/project.pbxproj +++ b/SOGo/SOGo.xcode/project.pbxproj @@ -727,6 +727,55 @@ sourceTree = ""; tabWidth = 8; }; + AD71091206F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = first.gif; + refType = 4; + sourceTree = ""; + }; + AD71091306F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = green_corner.gif; + refType = 4; + sourceTree = ""; + }; + AD71091406F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = icon_popupcalendar.gif; + refType = 4; + sourceTree = ""; + }; + AD71091506F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = invisible_space_2.gif; + refType = 4; + sourceTree = ""; + }; + AD71091606F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = last.gif; + refType = 4; + sourceTree = ""; + }; + AD71091706F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = next.gif; + refType = 4; + sourceTree = ""; + }; + AD71091806F1D4C900A5926E = { + isa = PBXFileReference; + lastKnownFileType = image.gif; + path = previous.gif; + refType = 4; + sourceTree = ""; + }; AD7379B206AEBB2500735920 = { fileEncoding = 4; isa = PBXFileReference; @@ -3149,8 +3198,15 @@ ADF15BF806BA839B0047D955, ADF15BF906BA839B0047D955, ADF15BFA06BA839B0047D955, + AD71091406F1D4C900A5926E, E87208D10692E3D30099CBBD, E87208D20692E3D30099CBBD, + AD71091206F1D4C900A5926E, + AD71091606F1D4C900A5926E, + AD71091806F1D4C900A5926E, + AD71091706F1D4C900A5926E, + AD71091306F1D4C900A5926E, + AD71091506F1D4C900A5926E, ); isa = PBXGroup; path = images; diff --git a/SOGo/UI/Anais/AnaisSelector.wox b/SOGo/UI/Anais/AnaisSelector.wox index a868809f..eff319ad 100644 --- a/SOGo/UI/Anais/AnaisSelector.wox +++ b/SOGo/UI/Anais/AnaisSelector.wox @@ -3,12 +3,12 @@ xmlns:var="http://www.skyrix.com/od/binding" xmlns:const="http://www.skyrix.com/od/constant" xmlns:rsrc="OGo:url" - class="button_auto_env" + class="button_submit_env" > diff --git a/SOGo/UI/Anais/AnaisUidSelector.wox b/SOGo/UI/Anais/AnaisUidSelector.wox index d928fd98..e0611017 100644 --- a/SOGo/UI/Anais/AnaisUidSelector.wox +++ b/SOGo/UI/Anais/AnaisUidSelector.wox @@ -23,17 +23,17 @@ const:division="TEST" /> - + - + - +
+ + * AnaisSelector.wox, AnaisUidSelector.wox: use the new button_submit + in order to look more pleasing (v0.9.12) + 2004-09-10 Helge Hess * AnaisAttendeeSelector.wox: fixed missing label namespace (v0.9.11) diff --git a/SOGo/UI/Anais/Version b/SOGo/UI/Anais/Version index bbf2b7dc..f7b76545 100644 --- a/SOGo/UI/Anais/Version +++ b/SOGo/UI/Anais/Version @@ -1,3 +1,3 @@ # $Id: Version 165 2004-08-05 17:55:50Z znek $ -SUBMINOR_VERSION:=11 +SUBMINOR_VERSION:=12 diff --git a/SOGo/UI/Common/ChangeLog b/SOGo/UI/Common/ChangeLog index 60d3fefb..724fc3a6 100644 --- a/SOGo/UI/Common/ChangeLog +++ b/SOGo/UI/Common/ChangeLog @@ -1,3 +1,8 @@ +2004-09-10 Marcus Mueller + + * uix.css: new button_submit style for the Anais selector, looks + similar to the mozilla submit button now (v0.9.24) + 2004-09-09 Marcus Mueller * UIxPageFrame.wox: display clientObject and object traversal stack diff --git a/SOGo/UI/Common/Version b/SOGo/UI/Common/Version index 8a19b3e3..a281cca1 100644 --- a/SOGo/UI/Common/Version +++ b/SOGo/UI/Common/Version @@ -1,3 +1,3 @@ # $Id$ -SUBMINOR_VERSION:=23 +SUBMINOR_VERSION:=24 diff --git a/SOGo/UI/Common/uix.css b/SOGo/UI/Common/uix.css index 5d45c071..de9a4fb4 100644 --- a/SOGo/UI/Common/uix.css +++ b/SOGo/UI/Common/uix.css @@ -133,6 +133,45 @@ a:hover { overflow: hidden; } +.button_submit_env { + height: 24px; + text-align: center; + vertical-align: middle; + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + overflow: hidden; +} + +.button_submit_env a { + text-decoration: none; + color: #000000; +} + +.button_submit_env a:hover { + text-decoration: underline; + color: #ff0000; +} + +.button_submit { + height: 30px; + border-style: outset; + border-color: #DDDDDD; + border-width: 2px; + color: #000000; + background-color: #e8e8e0; + font-size: 8pt; + font-family: Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif; + letter-spacing: 0pt; + text-decoration: none; + text-color: #000000; + text-align: center; + vertical-align: middle; + padding-left: 5px; + padding-right: 5px; + padding-top: 2px; + padding-bottom: 3px; + overflow: hidden; +} /* header */ diff --git a/SOGo/UI/Scheduler/ChangeLog b/SOGo/UI/Scheduler/ChangeLog index 2107cb96..ac56c301 100644 --- a/SOGo/UI/Scheduler/ChangeLog +++ b/SOGo/UI/Scheduler/ChangeLog @@ -1,3 +1,24 @@ +2004-09-10 Marcus Mueller + + * v0.9.81 + + * GNUmakefile, product.plist: added new image + + * images/invisible_space_2.gif: new transparent image used by + UIxWeekListview.wox + + * UIxCalDayView.m: rewrote -isCurrentDateInApt: to use + NGCalendarDateRange + + * UIxCalWeekListview.[m|wox]: implemented + + * UIxCalWeekColumnsview.[m|wox]: implemented + + * UIxCalWeekOverview.m: removed impl. of -appointments, moved to + superclass + + * UIxCalWeekView.m: added impl. of -appointments + 2004-09-10 Helge Hess * UIxAppointmentPrintview.wox, UIxAppointmentView.wox: added missing diff --git a/SOGo/UI/Scheduler/GNUmakefile b/SOGo/UI/Scheduler/GNUmakefile index 95e30fab..580fdf07 100644 --- a/SOGo/UI/Scheduler/GNUmakefile +++ b/SOGo/UI/Scheduler/GNUmakefile @@ -96,6 +96,7 @@ SchedulerUI_RESOURCE_FILES += \ images/next.gif \ images/last.gif \ images/green_corner.gif \ + images/invisible_space_2.gif \ SchedulerUI_LOCALIZED_RESOURCE_FILES += \ default.strings \ diff --git a/SOGo/UI/Scheduler/UIxCalDayListview.m b/SOGo/UI/Scheduler/UIxCalDayListview.m index 32dd4760..a33e5e45 100644 --- a/SOGo/UI/Scheduler/UIxCalDayListview.m +++ b/SOGo/UI/Scheduler/UIxCalDayListview.m @@ -44,7 +44,9 @@ - (NSArray *)uids { if(!self->uids) { - self->uids = [[[self clientObject] calendarUIDs] retain]; + self->uids = [[[[self clientObject] calendarUIDs] + sortedArrayUsingSelector:@selector(compareAscending:)] + retain]; } return self->uids; } diff --git a/SOGo/UI/Scheduler/UIxCalDayView.m b/SOGo/UI/Scheduler/UIxCalDayView.m index f692bc92..b00caf8a 100644 --- a/SOGo/UI/Scheduler/UIxCalDayView.m +++ b/SOGo/UI/Scheduler/UIxCalDayView.m @@ -22,15 +22,16 @@ #import "UIxCalDayView.h" +#include "common.h" #include +#include + @interface UIxCalDayView (PrivateAPI) - (BOOL)isCurrentDateInApt:(id)_apt; - (NSArray *)_getDatesFrom:(NSCalendarDate *)_from to:(NSCalendarDate *)_to; @end -#include "common.h" - @implementation UIxCalDayView - (void)dealloc { @@ -50,31 +51,19 @@ } - (BOOL)isCurrentDateInApt:(id)_apt { - NSCalendarDate *start, *end, *aptStartDate, *aptEndDate; - - start = self->currentDate; - end = [start dateByAddingYears:0 - months:0 - days:0 - hours:0 - minutes:59 - seconds:59]; + NSCalendarDate *dateStart, *dateEnd, *aptStart, *aptEnd; + NGCalendarDateRange *dateRange, *aptRange; - aptStartDate = [_apt valueForKey:@"startDate"]; - aptEndDate = [_apt valueForKey:@"endDate"]; - - /* does apt fully enclose start/end? */ - if([start isGreaterThanOrEqualTo:aptStartDate] && - [end isLessThanOrEqualTo:aptEndDate]) - return YES; - if([aptStartDate isGreaterThanOrEqualTo:start] && - [aptStartDate isLessThan:end]) - return YES; - if([aptEndDate isGreaterThan:start] && - [aptEndDate isLessThanOrEqualTo:end]) - return YES; - - return NO; + dateStart = self->currentDate; + dateEnd = [dateStart dateByAddingYears:0 months:0 days:0 + hours:1 minutes:0 seconds:0]; + dateRange = [NGCalendarDateRange calendarDateRangeWithStartDate:dateStart + endDate:dateEnd]; + aptStart = [self->appointment valueForKey:@"startDate"]; + aptEnd = [self->appointment valueForKey:@"endDate"]; + aptRange = [NGCalendarDateRange calendarDateRangeWithStartDate:aptStart + endDate:aptEnd]; + return [dateRange doesIntersectWithDateRange:aptRange]; } - (NSArray *)dateRange { diff --git a/SOGo/UI/Scheduler/UIxCalWeekChartview.m b/SOGo/UI/Scheduler/UIxCalWeekChartview.m index cd63bcab..94e746d0 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekChartview.m +++ b/SOGo/UI/Scheduler/UIxCalWeekChartview.m @@ -25,12 +25,154 @@ @interface UIxCalWeekChartview : UIxCalWeekView { + int day; + int hour; + NSArray *hours; } +- (NSCalendarDate *)currentDate; @end #include "common.h" +#include +#include +#include // MIN, MAX @implementation UIxCalWeekChartview + +- (void)dealloc { + [self->hours release]; + [super dealloc]; +} + +- (void)setDay:(int)_day { + NSCalendarDate *date; + + self->day = _day; + + date = [[self startDate] dateByAddingYears:0 months:0 days:_day]; + [self setCurrentDay:date]; +} +- (int)day { + return self->day; +} + +- (void)setHour:(int)_hour { + self->hour = _hour; +} +- (int)hour { + return self->hour; +} + +- (NSCalendarDate *)currentDate { + NSCalendarDate *date; + + date = [[self startDate] beginOfDay]; + date = [date dateByAddingYears:0 months:0 days:[self day] + hours:[self hour] minutes:0 seconds:0]; + return date; +} + +/* columns */ + +- (NSArray *)columns { + static NSMutableArray *columns = nil; + + if(!columns) { + unsigned i, count; + + count = [self shouldDisplayWeekend] ? 7 : 5; + columns = [[NSMutableArray alloc] initWithCapacity:count]; + for(i = 0; i < count; i++) { + [columns addObject:[NSNumber numberWithInt:i]]; + } + } + return columns; +} + +/* tests */ + +/* row is active, if apt intersects hour range */ +- (BOOL)isRowActive { + NSCalendarDate *aptStart, *aptEnd; + int aptStartHour, aptEndHour; + + aptStart = [self->appointment valueForKey:@"startDate"]; + aptEnd = [self->appointment valueForKey:@"endDate"]; + aptStartHour = [aptStart hourOfDay]; + aptEndHour = [aptEnd hourOfDay]; + + return (([self hour] >= aptStartHour) && + ([self hour] <= aptEndHour)); +} + +/* item is active, if apt's dateRange intersects the range +of the current column (currentDay is set to be this date) */ +- (BOOL)isItemActive { + NSCalendarDate *dateStart, *dateEnd, *aptStart, *aptEnd; + NGCalendarDateRange *dateRange, *aptRange; + + dateStart = [self currentDate]; + dateEnd = [dateStart dateByAddingYears:0 months:0 days:0 + hours:1 minutes:0 seconds:0]; + dateRange = [NGCalendarDateRange calendarDateRangeWithStartDate:dateStart + endDate:dateEnd]; + aptStart = [self->appointment valueForKey:@"startDate"]; + aptEnd = [self->appointment valueForKey:@"endDate"]; + aptRange = [NGCalendarDateRange calendarDateRangeWithStartDate:aptStart + endDate:aptEnd]; + return [dateRange doesIntersectWithDateRange:aptRange]; +} + +/* hours */ + +- (NSArray *)hours { + if(!self->hours) { + NSMutableArray *result; + NSArray *apts; + unsigned i, count; + unsigned min, max; + + min = [self dayStartHour]; + max = [self dayEndHour]; + + apts = [self appointments]; + count = [apts count]; + for(i = 0; i < count; i++) { + id apt; + NSCalendarDate *aptStart, *aptEnd; + apt = [apts objectAtIndex:i]; + aptStart = [apt valueForKey:@"startDate"]; + if(aptStart) { + min = MIN(min, [aptStart hourOfDay]); + } + aptEnd = [apt valueForKey:@"endDate"]; + if(aptEnd) { + max = MAX(max, [aptEnd hourOfDay]); + } + } + result = [[NSMutableArray alloc] initWithCapacity:max - min]; + for(i = min; i <= max; i++) { + [result addObject:[NSNumber numberWithInt:i]]; + } + self->hours = result; + } + return self->hours; +} + +/* descriptions */ + +- (NSString *)shortTextForApt { + return [[self appointment] valueForKey:@"title"]; +} + +/* style sheet */ + +- (NSString *)titleStyle { + if([self->currentDay isToday]) + return @"weekoverview_title_hilite"; + return @"weekoverview_title"; +} + @end /* UIxCalWeekChartview */ diff --git a/SOGo/UI/Scheduler/UIxCalWeekChartview.wox b/SOGo/UI/Scheduler/UIxCalWeekChartview.wox index 0fefb3f3..367c735d 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekChartview.wox +++ b/SOGo/UI/Scheduler/UIxCalWeekChartview.wox @@ -10,197 +10,220 @@ - - - - - - - - - -
- - - - - -
- - -
-
- - - - - -
- - - -
-
- - -
- - + + + + + - + +
+ - + - - +
- - - - - - - -
-
+
+ + - - - - - -
- - - -
+
+
+ + + +
+ + +
- - - - + + + + - - - - - - - - -
+ - - + + + + + +
- + + + + + + + +
+ + + + + + + +
+
+
+ + + + + +
+ + + +
+
+ + + + + + + +
+ + +
+ [] +
+
+ + + + + + + + + + + + + + + +
+
-
- [] +
+ + +
- - - - - - - - - - - - -
-
- - -
- - -
-
-
- - - -
diff --git a/SOGo/UI/Scheduler/UIxCalWeekColumnsview.m b/SOGo/UI/Scheduler/UIxCalWeekColumnsview.m index 975291a9..7b381c9e 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekColumnsview.m +++ b/SOGo/UI/Scheduler/UIxCalWeekColumnsview.m @@ -34,10 +34,6 @@ @implementation UIxCalWeekColumnsview -- (NSArray *)appointments { - return [self fetchCoreInfos]; -} - - (void)setDayIndex:(char)_idx { NSCalendarDate *d; diff --git a/SOGo/UI/Scheduler/UIxCalWeekListview.m b/SOGo/UI/Scheduler/UIxCalWeekListview.m index b98015f5..ea292699 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekListview.m +++ b/SOGo/UI/Scheduler/UIxCalWeekListview.m @@ -24,11 +24,136 @@ @interface UIxCalWeekListview : UIxCalWeekView { + NSArray *uids; + id currentUid; + int column; } +- (int)columnsPerDay; + @end #include "common.h" +#include +#include @implementation UIxCalWeekListview + +- (void)dealloc { + [self->uids release]; + [self->currentUid release]; + [super dealloc]; +} + +- (NSArray *)uids { + if(!self->uids) { + self->uids = [[[[self clientObject] calendarUIDs] + sortedArrayUsingSelector:@selector(compareAscending:)] + retain]; + } + return self->uids; +} + +- (void)setCurrentUid:(id)_currentUid { + ASSIGN(self->currentUid, _currentUid); +} +- (id)currentUid { + return self->currentUid; +} + +/* column corresponds to the current day/hour */ +- (void)setColumn:(int)_column { + unsigned dayOfWeek, hour; + NSCalendarDate *date; + + dayOfWeek = _column / [self columnsPerDay]; + hour = _column % [self columnsPerDay]; + + date = [[self startDate] dateByAddingYears:0 months:0 days:dayOfWeek]; + date = [date hour:hour minute:0]; + /* let's reuse currentDay, although this isn't named too accurately */ + [self setCurrentDay:date]; + self->column = _column; +} +- (int)column { + return self->column; +} + +/* columns */ + +- (int)columnsPerDay { + return 24; +} + +- (NSArray *)columns { + static NSMutableArray *columns = nil; + + if(!columns) { + unsigned i, count; + + if([self shouldDisplayWeekend]) + count = [self columnsPerDay] * 7; + else + count = [self columnsPerDay] * 5; + + columns = [[NSMutableArray alloc] initWithCapacity:count]; + for(i = 0; i < count; i++) { + [columns addObject:[NSNumber numberWithInt:i]]; + } + } + return columns; +} + +/* tests */ + +/* row is active, if currentUid is participant of apt */ +- (BOOL)isRowActive { + AgenorUserManager *um; + NSString *mailChunk; + NSString *currentMail; + + um = [AgenorUserManager sharedUserManager]; + currentMail = [um getEmailForUID:self->currentUid]; + mailChunk = [self->appointment valueForKey:@"partmails"]; + if([mailChunk rangeOfString:currentMail].length > 0) + return YES; + return NO; +} + +/* item is active, if apt's dateRange intersects the range + of the current column (currentDay is set to be this date) */ +- (BOOL)isItemActive { + NSCalendarDate *dateStart, *dateEnd, *aptStart, *aptEnd; + NGCalendarDateRange *dateRange, *aptRange; + + dateStart = [self currentDay]; + dateEnd = [dateStart dateByAddingYears:0 months:0 days:0 + hours:1 minutes:0 seconds:0]; + dateRange = [NGCalendarDateRange calendarDateRangeWithStartDate:dateStart + endDate:dateEnd]; + aptStart = [self->appointment valueForKey:@"startDate"]; + aptEnd = [self->appointment valueForKey:@"endDate"]; + aptRange = [NGCalendarDateRange calendarDateRangeWithStartDate:aptStart + endDate:aptEnd]; + return [dateRange doesIntersectWithDateRange:aptRange]; +} + +/* descriptions */ + +- (NSString *)cnForCurrentUid { + return [[AgenorUserManager sharedUserManager] getCNForUID:self->currentUid]; +} + +- (NSString *)shortTextForApt { + return [[self appointment] valueForKey:@"title"]; +} + +/* style sheet */ + +- (NSString *)titleStyle { + if([self->currentDay isToday]) + return @"weekoverview_title_hilite"; + return @"weekoverview_title"; +} + @end /* UIxCalWeekListview */ diff --git a/SOGo/UI/Scheduler/UIxCalWeekListview.wox b/SOGo/UI/Scheduler/UIxCalWeekListview.wox index 14dbb754..5191f6c2 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekListview.wox +++ b/SOGo/UI/Scheduler/UIxCalWeekListview.wox @@ -6,204 +6,235 @@ xmlns:label="OGo:label" xmlns:uix="OGo:uix" className="UIxPageFrame" - title="name"> - - - - - - - - - - - - -
- - - - - -
- - -
-
- - - - - -
- - - -
-
- - -
- - + title="name" +> +
+ + + + + - + +
+ - + - - +
- - - - - - - -
-
+
+ + - - - - - -
- - - -
+
+
+ + + +
+ + +
- - - - + + + + - - - - - - - - -
+ - - + + + + + +
- + + + + + + + + +
+ + + + + + + +
+
+
+ + + + + +
+ + + +
+
+ + + + + + + + +
+ + +
+ [] +
+
+ + + + + + + + + + + + + + + + +
+
-
- [] +
+ + +
- - - - - - - - - - - - -
-
- - -
- - -
-
-
- - - -
diff --git a/SOGo/UI/Scheduler/UIxCalWeekOverview.m b/SOGo/UI/Scheduler/UIxCalWeekOverview.m index 075ec939..edaeb9e2 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekOverview.m +++ b/SOGo/UI/Scheduler/UIxCalWeekOverview.m @@ -25,10 +25,6 @@ @implementation UIxCalWeekOverview -- (NSArray *)appointments { - return [self fetchCoreInfos]; -} - - (void)setDayIndex:(char)_idx { NSCalendarDate *d; diff --git a/SOGo/UI/Scheduler/UIxCalWeekView.m b/SOGo/UI/Scheduler/UIxCalWeekView.m index 02dfc30e..be5b8897 100644 --- a/SOGo/UI/Scheduler/UIxCalWeekView.m +++ b/SOGo/UI/Scheduler/UIxCalWeekView.m @@ -21,6 +21,10 @@ endOfDay]; } +- (NSArray *)appointments { + return [self fetchCoreInfos]; +} + /* URLs */ - (NSDictionary *)prevWeekQueryParameters { diff --git a/SOGo/UI/Scheduler/Version b/SOGo/UI/Scheduler/Version index b9748ee0..afc51fb5 100644 --- a/SOGo/UI/Scheduler/Version +++ b/SOGo/UI/Scheduler/Version @@ -1,6 +1,6 @@ # $Id$ -SUBMINOR_VERSION:=80 +SUBMINOR_VERSION:=81 # v0.9.70 requires libNGExtensions v4.3.107 # v0.9.67 requires SOPE 4.3 diff --git a/SOGo/UI/Scheduler/images/invisible_space_2.gif b/SOGo/UI/Scheduler/images/invisible_space_2.gif new file mode 100644 index 0000000000000000000000000000000000000000..221e206f4bf23a69004d4d17eb5d0d544631fe87 GIT binary patch literal 42 ocmZ?wbhEHbWMW`sXkY+=|Ns9h{$ybUF?B!$NQQxlk%hq;0JvQSxc~qF literal 0 HcmV?d00001 diff --git a/SOGo/UI/Scheduler/product.plist b/SOGo/UI/Scheduler/product.plist index 15e52646..0cf550ea 100644 --- a/SOGo/UI/Scheduler/product.plist +++ b/SOGo/UI/Scheduler/product.plist @@ -20,6 +20,7 @@ skycalendar.html, skycalendar.js, green_corner.gif, + invisible_space_2.gif, ); factories = { -- 2.39.5