diff --git a/calendar/calendar-ubercalendar.patch b/calendar/calendar-ubercalendar.patch index 5a350e19..d1e0d626 100644 --- a/calendar/calendar-ubercalendar.patch +++ b/calendar/calendar-ubercalendar.patch @@ -3197,11 +3197,15 @@ index c7127f8..657be02 100644 } } } -@@ -808,20 +1025,90 @@ var DayAssistant = Class.create({ +@@ -808,20 +1025,100 @@ var DayAssistant = Class.create({ // Subject ctx.fillStyle = this.colors[event.calendarColor].text; if (selected) { - ctx.fillStyle = "rgb(255, 255, 255)"; +- } +- ctx.font = "bold 14px Prelude"; +- var bottom = textTop; +- var subjectTop = top+15; + ctx.fillStyle = "rgb(255, 255, 255)"; } + if(this.enhancedView && this.dayViewShrink != "none") { + ctx.font = (this.dayViewShrink == "strong") ? "bold 10px Prelude" : "bold 12px Prelude"; @@ -3246,7 +3250,11 @@ index c7127f8..657be02 100644 + ctx.font = "bold 14px Prelude"; + var bottom = textTop; + var subjectTop = top+15; -+ + +- if (bottom >= (top + height)) { +- subjectTop = top + 17; // no room for location or note, therefore vertically center subject text +- } +- this.fillText(event.subject, ctx, left+4, subjectTop, width, bottom, 15 /*line height*/); + if (bottom >= (top + height)) { + subjectTop = top + 17; // no room for location or note, therefore vertically center subject text + } @@ -3254,7 +3262,17 @@ index c7127f8..657be02 100644 + } + if(this.enhancedView) { + // Alarm -+ if (event.alarm && event.alarm[0] && event.alarm[0].alarmTrigger && event.alarm[0].alarmTrigger.valueType && event.alarm[0].alarmTrigger.valueType === "DURATION" && event.alarm[0].alarmTrigger.value && event.alarm[0].alarmTrigger.value !== "" && event.alarm[0].alarmTrigger.value !== "none") { ++ var testA, xx = false, AA, ZZ = event.alarm; ++ if(ZZ){ ++ for(AA=0;AA= (top + height)) { -- subjectTop = top + 17; // no room for location or note, therefore vertically center subject text -- } -- this.fillText(event.subject, ctx, left+4, subjectTop, width, bottom, 15 /*line height*/); ++ } // Location if (event.location && (event.location.length > 0) && (textTop < (top + height))) { @@ -3298,7 +3308,7 @@ index c7127f8..657be02 100644 bottom = textTop+15; this.fillText(event.location, ctx, left+4, textTop, width, bottom, 15 /*line height*/); textTop += 15; -@@ -829,9 +1116,18 @@ var DayAssistant = Class.create({ +@@ -829,9 +1126,18 @@ var DayAssistant = Class.create({ // Notes if (event.note && (event.note.length > 0) && (textTop < (top + height))) { @@ -3318,7 +3328,7 @@ index c7127f8..657be02 100644 } var selectedColor; -@@ -860,11 +1156,11 @@ var DayAssistant = Class.create({ +@@ -860,11 +1166,11 @@ var DayAssistant = Class.create({ var marginRight = 4; //Incorporates the padding-top of the first all day event //from the old css style .dv-allday-event:first-child @@ -3333,7 +3343,7 @@ index c7127f8..657be02 100644 return { top : (totalHeight * index + marginTop), -@@ -899,8 +1195,34 @@ var DayAssistant = Class.create({ +@@ -899,8 +1205,44 @@ var DayAssistant = Class.create({ if (selected) { ctx.fillStyle = "rgb(255, 255, 255)"; } @@ -3353,7 +3363,17 @@ index c7127f8..657be02 100644 + } + if(this.enhancedView) { + // Alarm -+ if (event.alarm && event.alarm[0] && event.alarm[0].alarmTrigger && event.alarm[0].alarmTrigger.valueType && event.alarm[0].alarmTrigger.valueType === "DURATION" && event.alarm[0].alarmTrigger.value && event.alarm[0].alarmTrigger.value !== "" && event.alarm[0].alarmTrigger.value !== "none" ) { ++ var testA, xx = false, AA, ZZ = event.alarm; ++ if(ZZ){ ++ for(AA=0;AA 0) { @@ -3423,7 +3443,7 @@ index c7127f8..657be02 100644 // Set the height of the canvas if (dayDiv.alldayevents_list.offsetHeight != newHeight) { -@@ -1384,7 +1730,17 @@ var DayAssistant = Class.create({ +@@ -1384,16 +1750,27 @@ var DayAssistant = Class.create({ var calMgr = this.calendarsManager , calendar= calMgr.getCurrentCal(); @@ -3442,7 +3462,10 @@ index c7127f8..657be02 100644 this.controller.get ("dv_current_calendar") .update ($L("All")); this.controller.get ("dv_calendar_source") .setAttribute ("class", "header-cal-source"); -@@ -1394,6 +1750,7 @@ var DayAssistant = Class.create({ + } else { + if ("Local" == calMgr.getCalSyncSource (calendar)) { +- // Special case the local calendar to always show Palm since Palm Profile always ++ // Special case the local calendar to always show Palm since HP webOS Account always // gets truncated and looks ugly this.controller.get ("dv_current_calendar").update ($L("Palm")); @@ -3450,7 +3473,7 @@ index c7127f8..657be02 100644 } else { this.controller.get ("dv_current_calendar").update (calMgr.getCalAccountName (calendar)); } -@@ -1439,9 +1796,18 @@ var DayAssistant = Class.create({ +@@ -1439,9 +1816,18 @@ var DayAssistant = Class.create({ , tzId : this.app.getTimezoneName() }; @@ -3470,7 +3493,7 @@ index c7127f8..657be02 100644 } else { range.calendarId = calendarId; // otherwise enable calendar filtering. } -@@ -1584,6 +1950,12 @@ var DayAssistant = Class.create({ +@@ -1584,6 +1970,12 @@ var DayAssistant = Class.create({ top: yPixel+'px' }).show(); @@ -3483,7 +3506,7 @@ index c7127f8..657be02 100644 }, calculatePosWithCompression:function(day,hour) -@@ -1617,8 +1989,22 @@ var DayAssistant = Class.create({ +@@ -1617,8 +2009,22 @@ var DayAssistant = Class.create({ scrollToDefault: function(whichDay) { @@ -3508,7 +3531,7 @@ index c7127f8..657be02 100644 } //Mojo.Log.info('BEFORE SCROLL TOP', this.tds[whichDay].scroller.mojo.getScrollPosition().top); -@@ -1674,10 +2060,26 @@ var DayAssistant = Class.create({ +@@ -1674,10 +2080,26 @@ var DayAssistant = Class.create({ this.dvScratchEventsDiv = this.controller.get ("dv_scratch_events"); this.scratchEventActive = false; this.scratchEvent = null; @@ -3535,7 +3558,7 @@ index c7127f8..657be02 100644 this.firstActivated = true; this.buildViewHeader(); -@@ -1787,6 +2189,11 @@ var DayAssistant = Class.create({ +@@ -1787,6 +2209,11 @@ var DayAssistant = Class.create({ this.divs[this.NEXT_DAY].ctxAllDayEvents = this.divs[this.NEXT_DAY].alldayevents_list.getContext('2d'); this.divs[this.THIS_DAY].ctxAllDayEvents = this.divs[this.THIS_DAY].alldayevents_list.getContext('2d'); @@ -3547,7 +3570,7 @@ index c7127f8..657be02 100644 this.fastScrollScrim = this.controller.get('dv_scroll_scrim'); this.fastScrollAnimateDiv = this.controller.get('dv_scrim_animate'); Mojo.Dom.hide (this.fastScrollScrim); -@@ -1934,15 +2341,16 @@ var DayAssistant = Class.create({ +@@ -1934,15 +2361,16 @@ var DayAssistant = Class.create({ this.menuModel = { visible:true, items: [ @@ -3566,7 +3589,7 @@ index c7127f8..657be02 100644 ]}; this.controller.setupWidget(Mojo.Menu.commandMenu, undefined, this.menuModel); -@@ -2075,9 +2483,10 @@ var DayAssistant = Class.create({ +@@ -2075,9 +2503,10 @@ var DayAssistant = Class.create({ , showJumpTo: function() { this.maybeCommitScratchEvent (true); @@ -3578,7 +3601,7 @@ index c7127f8..657be02 100644 , syncAllCalendars: function() { this.calendarsManager.syncAllCalendars (this.controller); } -@@ -2153,14 +2562,45 @@ var DayAssistant = Class.create({ +@@ -2153,14 +2582,45 @@ var DayAssistant = Class.create({ Mojo.Event.stop (event); this.maybeCommitScratchEvent(true); this.syncAllCalendars(); @@ -3596,8 +3619,8 @@ index c7127f8..657be02 100644 + parameters: { + id: appId + }, -+ onSuccess: function(e) {Mojo.Log.error("launched Agendaview")}, -+ onFailure: function(e) {Mojo.Log.error("error launching Agenda: " + e.errorText)} ++ onSuccess: function(e) {Mojo.Log.error("launched " + appId)}, ++ onFailure: function(e) {Mojo.Log.error("error launching " + appId + ": " + e.errorText)} + }); + } @@ -3626,7 +3649,7 @@ index c7127f8..657be02 100644 } } -@@ -2337,13 +2777,45 @@ var DayAssistant = Class.create({ +@@ -2337,13 +2797,45 @@ var DayAssistant = Class.create({ Mojo.Event.stop (event); var listItems = this.calendarsManager.buildCalendarsMenu (true /*includeAll*/, true /*includeReadOnly*/, true /*includeExcludedFromAll*/); @@ -3673,7 +3696,7 @@ index c7127f8..657be02 100644 }); }, -@@ -2355,6 +2827,18 @@ var DayAssistant = Class.create({ +@@ -2355,6 +2847,18 @@ var DayAssistant = Class.create({ return; } @@ -3692,7 +3715,7 @@ index c7127f8..657be02 100644 this.maybeCommitScratchEvent (true); this.calendarsManager.setCurrentCal (value); this.clearCache(); -@@ -2399,6 +2883,7 @@ var DayAssistant = Class.create({ +@@ -2399,6 +2903,7 @@ var DayAssistant = Class.create({ /*HACK*/} this.active = true; @@ -3700,7 +3723,7 @@ index c7127f8..657be02 100644 //this.resetPos(); // TEMP if (this.compressed) { -@@ -2414,6 +2899,10 @@ var DayAssistant = Class.create({ +@@ -2414,6 +2919,10 @@ var DayAssistant = Class.create({ // - If updateEmptySpacer is called while the dashboard is up, then the scroller // height needs to be updated when the dashboard is brought down. @@ -3711,7 +3734,7 @@ index c7127f8..657be02 100644 Mojo.Event.listen(this.controller.window, "resize", this.onResize); this.controller.get ("dv_scroll_container").mojo.addMovementListener (this.onHorizontalScroll); this.controller.get (this.tds[this.THIS_DAY].scroller).mojo.addMovementListener (this.onVerticalScroll); -@@ -2428,6 +2917,12 @@ var DayAssistant = Class.create({ +@@ -2428,6 +2937,12 @@ var DayAssistant = Class.create({ // Calendar Picker this.calendarTapHandler = this.CalSelectorHandler.bind (this); this.controller.get ("dv_calendar_source").observe (Mojo.Event.tap, this.calendarTapHandler); @@ -3724,7 +3747,7 @@ index c7127f8..657be02 100644 // The colors have been updated, so we clear the cache and update everything if (this.pendingCalendarSettingsUpdate === true) { -@@ -2461,14 +2956,29 @@ var DayAssistant = Class.create({ +@@ -2461,14 +2976,29 @@ var DayAssistant = Class.create({ this.keyDownHandler = this.handleKeyDown.bind(this); this.controller.listen (this.controller.sceneElement, Mojo.Event.keydown, this.keyDownHandler); @@ -3756,7 +3779,7 @@ index c7127f8..657be02 100644 this.tapHandler.deactivate(); this.tapHandlerCompressed.deactivate(); this.tapHandlerAllDay.deactivate(); -@@ -2497,6 +3007,7 @@ var DayAssistant = Class.create({ +@@ -2497,6 +3027,7 @@ var DayAssistant = Class.create({ /*HACK*/this.lastScrollPosition = this.scrollContainer.mojo.getScrollPosition(); /*HACK*/this.lastVerticalScrollPosition = this.tds [this.THIS_DAY].scroller.mojo.getScrollPosition(); @@ -3764,7 +3787,7 @@ index c7127f8..657be02 100644 }, -@@ -2508,6 +3019,11 @@ var DayAssistant = Class.create({ +@@ -2508,6 +3039,11 @@ var DayAssistant = Class.create({ //Mojo.Log.info("handleKeyUp detected ORANGE key"); this.orangeKeyDown = false; } @@ -3776,7 +3799,7 @@ index c7127f8..657be02 100644 }, handleKeyDown: function(event) { -@@ -2516,6 +3032,21 @@ var DayAssistant = Class.create({ +@@ -2516,6 +3052,21 @@ var DayAssistant = Class.create({ //Mojo.Log.info("handleKeyDown detected ORANGE key"); this.orangeKeyDown = true; } @@ -3798,7 +3821,7 @@ index c7127f8..657be02 100644 }, updateSceneScrollerSize: function(event) { -@@ -2692,6 +3223,14 @@ var DayAssistant = Class.create({ +@@ -2692,6 +3243,14 @@ var DayAssistant = Class.create({ } }, @@ -3813,7 +3836,7 @@ index c7127f8..657be02 100644 preCheckBeforeScratchEvent:function(newHour, newMinutes, eventTop) { // Only allow creation of inline events if a non readonly calendar is selected or All if (this.readOnlyCalendar === false) { -@@ -2724,7 +3263,6 @@ var DayAssistant = Class.create({ +@@ -2724,7 +3283,6 @@ var DayAssistant = Class.create({ } Mojo.Event.stop (event); @@ -3821,7 +3844,7 @@ index c7127f8..657be02 100644 var eventStartTime = new Date (this.scratchEvent.dtstart); var subject = this.scratchEventField.mojo.getValue(); -@@ -2990,7 +3528,30 @@ var DayAssistant = Class.create({ +@@ -2990,7 +3548,30 @@ var DayAssistant = Class.create({ } */ } @@ -3853,7 +3876,7 @@ index c7127f8..657be02 100644 if (!this.scratchEvent) { this.preCheckBeforeScratchEvent(newHour, newMinute, eventTop); } -@@ -3007,14 +3568,14 @@ var DayAssistant = Class.create({ +@@ -3007,14 +3588,14 @@ var DayAssistant = Class.create({ handleAllDayTap: function(index, event) { this.deletedEventId = undefined; @@ -3871,7 +3894,7 @@ index c7127f8..657be02 100644 //this.db.getEvent(event._id, this.gotEventInlineDelete.bind(this),this.gotEventInlineDeleteFailed.bind(this)); this.gotEventInlineDelete(event); } else { -@@ -3090,6 +3651,22 @@ var DayAssistant = Class.create({ +@@ -3090,6 +3671,22 @@ var DayAssistant = Class.create({ } }, @@ -3894,7 +3917,7 @@ index c7127f8..657be02 100644 handleEventsTap: function(event, tapEvent) { //Mojo.Log.info("day-assistant: handleEventsTap event_being_held " + Object.toJSON(this.event_being_held)); -@@ -3118,23 +3695,45 @@ var DayAssistant = Class.create({ +@@ -3118,23 +3715,45 @@ var DayAssistant = Class.create({ } } else { @@ -3950,7 +3973,7 @@ index c7127f8..657be02 100644 } }, -@@ -3514,6 +4113,66 @@ var DayAssistant = Class.create({ +@@ -3514,6 +4133,66 @@ var DayAssistant = Class.create({ } }, @@ -4017,7 +4040,7 @@ index c7127f8..657be02 100644 recurrenceCancel:function(){ //Mojo.Log.info('inside day- recurrene canceled %o',this.draggedEventTop); this.event_being_held.top = this.event_being_held.origDragTop; -@@ -3576,6 +4235,16 @@ var DayAssistant = Class.create({ +@@ -3576,6 +4255,16 @@ var DayAssistant = Class.create({ //Mojo.Log.info("day-assistant handleEventsDragEnd"); if (this.event_being_dragged) { @@ -4034,7 +4057,7 @@ index c7127f8..657be02 100644 var itemTop = this.event_being_dragged.positionedOffset().top; // Calculate how much "time" the user has moved the event. When the event is retrieved -@@ -3600,12 +4269,12 @@ var DayAssistant = Class.create({ +@@ -3600,12 +4289,12 @@ var DayAssistant = Class.create({ // Retrieve the event from the calendar service so we can set the new start time this.gotEventForUpdateTime(this.event_being_held); @@ -4050,7 +4073,7 @@ index c7127f8..657be02 100644 } }, -@@ -3810,7 +4479,9 @@ var DayAssistant = Class.create({ +@@ -3810,7 +4499,9 @@ var DayAssistant = Class.create({ this.animationValue = value; scrollOffset *= this.compressed ? value : -value; this.renderDay (this.THIS_DAY, day, false); @@ -6664,7 +6687,16 @@ diff --git a/usr/palm/applications/com.palm.app.calendar/app/controllers/prefs-a index bb28b12..22621f2 100644 --- a/usr/palm/applications/com.palm.app.calendar/app/controllers/prefs-assistant.js +++ b/usr/palm/applications/com.palm.app.calendar/app/controllers/prefs-assistant.js -@@ -8,7 +8,7 @@ +@@ -1,14 +1,13 @@ + /* Copyright 2010 Palm, Inc. All rights reserved. */ + +-/*jslint laxbreak: true, white: false, devel: true */ +-/*global Class +- , $L, Mojo, Template, getAppAssistant, DatabaseManager, Event, MojoLoader, AccountsUI, _ ++ ++/*global Class, $L, Mojo, Template, getAppAssistant, DatabaseManager, Event, MojoLoader, AccountsUI, _ + */ + var THIRTY_MINUTES = $L("30 minutes"); var ONE_HOUR = $L("1 hour"); var TWO_HOURS = $L("2 hours"); @@ -6673,7 +6705,7 @@ index bb28b12..22621f2 100644 var PrefsAssistant = Class.create({ -@@ -60,8 +60,18 @@ var PrefsAssistant = Class.create({ +@@ -60,8 +59,18 @@ var PrefsAssistant = Class.create({ ned.duration = THIRTY_MINUTES; } else if (this.prefs.defaultEventDuration == 60) { ned.duration = ONE_HOUR; @@ -6693,7 +6725,7 @@ index bb28b12..22621f2 100644 } this.controller.get('pv_new_event_duration').update(ned.duration); -@@ -156,7 +166,7 @@ var PrefsAssistant = Class.create({ +@@ -156,7 +165,7 @@ var PrefsAssistant = Class.create({ var index = 0; var currentTimedAlarmStr = ""; var currentAllDayAlarmStr = ""; @@ -6702,7 +6734,7 @@ index bb28b12..22621f2 100644 var alarmStr; for (index = 0; index < this.alarms.size() + this.allDayAlarms.size() - 1; index++) { alarmStr = response[index]; -@@ -197,6 +207,7 @@ var PrefsAssistant = Class.create({ +@@ -197,6 +206,7 @@ var PrefsAssistant = Class.create({ buildAlarmsMenu: function() { //Mojo.Log.info('prefs-assistant: buildAlarmsMenu'); @@ -6710,22 +6742,22 @@ index bb28b12..22621f2 100644 var params =[this.alarms[0].command, this.alarms[1].command, this.alarms[2].command, -@@ -210,6 +221,14 @@ var PrefsAssistant = Class.create({ +@@ -210,6 +220,14 @@ var PrefsAssistant = Class.create({ this.allDayAlarms[2].command, this.allDayAlarms[3].command, this.allDayAlarms[4].command]; + */ -+ var params = []; -+ for (var i=0; i 0){ -+ this.controller.serviceRequest("palm://org.webosinternals.tweaks.prefs/", { -+ method: "get", -+ parameters: { owner: "google-first-sync", -+ keys: ["advancedSyncEnabled", "syncStringField"]}, -+ onSuccess: this.gotTweaksReply.bind(this), -+ onFailure: this.gotTweaksReply.bind(this) -+ }); -+ } else { //no valid sync accounts, skip -+ this.advSyncReq = {}; -+ } -+ }, -+ -+ getDefaultSync: function (Id){ -+ var timeMachine = new Date(2000, 0, 1, 0, 0, 0, 0); -+ timeMachine.setHours(7); -+ var start = timeMachine.getTime(); -+ timeMachine.setHours(18); -+ var end = timeMachine.getTime(); -+ var defaults = [false /*onoff*/, false /*contacts*/, false /*wifi*/, false /*cell*/, 0 /*battery*/, "20m" /*0d0h20m0s*/, false /*charging*/, false /*docked*/, true /*all day*/, start, end]; -+ var acct, idx, len = this.advReqAccounts.length; -+ for(var i=0;i 0){ -+ var hrs, mins, sDate, eDate, acctId, allDay, allDayDisabled, openStartEnd, interval, obj = {}, acctOps =[], len = this.validReqAccounts.length; -+ var timeMachine = new Date(); -+ for(var i=0;i0){ -+ //console.error("setupAdvReqList 425 "); -+ var Id; -+ for(var i=0;i 0){ -+ var acct, len = this.advReqAccounts.length; -+ for(var i=0;i
'; -+ newGroup3.appendChild(d6List); -+ -+ this.controller.get('pv_accounts_div').appendChild(newGroup3); -+ -+ newDiv11 = document.createElement('div'); -+ newDiv11.setAttribute('class', "palm-button"); -+ newDiv11.setAttribute('id', "uber-cal-advreq-setsyncbtn"); -+ newDiv11.setAttribute('x-mojo-tap-highlight', "momentary"); -+ newDiv11.setAttribute('x-mojo-loc', ""); -+ newDiv11.innerHTML = $L("Set sync requirements"); -+ this.controller.get('pv_accounts_div').appendChild(newDiv11); -+ -+ this.advReqAcctListItems = []; -+ this.advReqAcctListModel = {listTitle: $L("Advanced Requirements"), items:this.advReqAcctListItems}; -+ this.controller.setupWidget('uber-cal-advreqList', -+ this.uberAdvReqAttrs = {itemTemplate: 'shared/ubercaladvreqitem'}, -+ this.advReqAcctListModel); ++ + this.uberCalendarPrefs = { + showsnoozedforbanner: { id: "ShowSnoozedForBanner", value: this.showSnoozedForBanner }, + showreminderdashboard: { id: "ShowReminderDashboard", value: this.showReminderDashboard }, @@ -8308,15 +8041,7 @@ index bb28b12..22621f2 100644 this.requests = []; this.syncSources= []; this.dirty = false; - -+ //adv req section -+ this.advReqsChangeHandler = this.handleAdvReqsChange.bindAsEventListener(this); -+ this.userChangedAdvReqs = false; -+ - //Mojo.Log.info("prefs-assistant: setup"); - //Mojo.Log.info("prefs :%j" ,this.prefs); - this.calendarsManager.observeCalendars ("prefs", this); -@@ -392,6 +1978,7 @@ var PrefsAssistant = Class.create({ +@@ -392,6 +1678,7 @@ var PrefsAssistant = Class.create({ }, activate: function() { @@ -8324,7 +8049,7 @@ index bb28b12..22621f2 100644 //Mojo.Log.info('prefs-assistant: activate'); this.prefsManager.validateDefaultCalPref(); -@@ -423,17 +2010,204 @@ var PrefsAssistant = Class.create({ +@@ -423,17 +1710,195 @@ var PrefsAssistant = Class.create({ this.chooseNotificationRingtone = this.chooseNotificationRingtone.bindAsEventListener(this); this.controller.listen('currentringtonerow',Mojo.Event.tap, this.chooseNotificationRingtone); @@ -8395,16 +8120,7 @@ index bb28b12..22621f2 100644 + this.controller.listen(this.uberCatList, Mojo.Event.listChange, this.uberCatListChangeHandler); + this.controller.listen(this.uberCatList, Mojo.Event.listAdd, this.uberCatListAddHandler); + this.controller.listen(this.uberCatList, Mojo.Event.listDelete, this.uberCatListDeleteHandler); -+ this.controller.listen(this.uberCatList, Mojo.Event.listReorder, this.uberCatListReorderHandler); -+ this.controller.listen('uber-cal-advreqList' , Mojo.Event.propertyChange, this.advReqsChangeHandler); -+ if(this.advancedSyncEnabled && this.advReqAcctListItems && this.advReqAcctListItems.length){ -+ var len = this.advReqAcctListItems.length; -+ for(var i=0;i -+
-+
-+
-+
#{-groupname}
-+
-+
-+
-+
-+
-+
-+
#{-workWeekTitle}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
++
++
++
++
++
#{-groupname}
++
++
++
++
++
++
++
#{-workWeekTitle}
++
++
++
++
++
++
++
++
++
++
++
++
+
\ No newline at end of file diff --git a/usr/palm/applications/com.palm.app.calendar/app/views/prefs-options/ubercalitem.html b/usr/palm/applications/com.palm.app.calendar/app/views/prefs-options/ubercalitem.html @@ -14329,10 +13986,10 @@ index 0000000..5cf1995 --- /dev/null +++ b/usr/palm/applications/com.palm.app.calendar/app/views/prefs-options/ubercalitem.html @@ -0,0 +1,5 @@ -+
-+
-+
-+
#{-name}
++
++
++
++
#{-name}
+
\ No newline at end of file diff --git a/usr/palm/applications/com.palm.app.calendar/app/views/shared/uber-timezone.html b/usr/palm/applications/com.palm.app.calendar/app/views/shared/uber-timezone.html @@ -14481,16 +14138,16 @@ index 0000000..0740083 --- /dev/null +++ b/usr/palm/applications/com.palm.app.calendar/app/views/shared/ubercat-item.html @@ -0,0 +1,10 @@ -+
-+
-+
-+ -+ -+ -+
-+
-+
-+
++
++
++
++ ++ ++ ++
++
++
++
diff --git a/usr/palm/applications/com.palm.app.calendar/app/views/shared/ubercat-list-container.html b/usr/palm/applications/com.palm.app.calendar/app/views/shared/ubercat-list-container.html new file mode 100644 index 0000000..ee75a9d @@ -14516,16 +14173,16 @@ index 0000000..1aa3533 --- /dev/null +++ b/usr/palm/applications/com.palm.app.calendar/app/views/shared/ubertemplateitem.html @@ -0,0 +1,10 @@ -+
-+
-+
-+ -+ -+ -+
#{-startT}
#{-endT}
#{-subject}
#{-location}
#{-note}
-+
-+
-+
++
++
++
++ ++ ++ ++
#{-startT}
#{-endT}
#{-subject}
#{-location}
#{-note}
++
++
++
diff --git a/usr/palm/applications/com.palm.app.calendar/app/views/shared/ubertemplatelistcontainer.html b/usr/palm/applications/com.palm.app.calendar/app/views/shared/ubertemplatelistcontainer.html new file mode 100644 index 0000000..8e5536f @@ -16677,15 +16334,17 @@ index e1ed3b4..481042e 100755 //@ sourceURL=calendar/utils.js /* Copyright 2010 Palm, Inc. All rights reserved. */ -@@ -411,6 +413,7 @@ Utils.prototype = { +@@ -411,6 +413,9 @@ Utils.prototype = { return singleton; }; ++ ++ + })(); exports.Utils = Utils; -@@ -565,6 +568,11 @@ var TimezoneManager = Class.create ({ +@@ -565,6 +570,11 @@ var TimezoneManager = Class.create ({ this.gotLocalTz = true; } @@ -16697,7 +16356,7 @@ index e1ed3b4..481042e 100755 tzYearPairs = this.findTzYearPairsNotInCache(tzIds, years); if(tzYearPairs.length > 0){ future = PalmCall.call("palm://com.palm.systemservice/timezone/", "getTimeZoneRules", tzYearPairs); -@@ -971,6 +979,68 @@ RRuleManager.prototype = { +@@ -971,6 +981,68 @@ RRuleManager.prototype = { }, /* @@ -16766,7 +16425,7 @@ index e1ed3b4..481042e 100755 * byDayTest: Sets the rulesPresent flag for byDay flag position * Tests if todayDate matches the recurrence specified by rule and sets rulesTrue. * param rule a BYDAY rule -@@ -985,38 +1055,49 @@ RRuleManager.prototype = { +@@ -985,38 +1057,49 @@ RRuleManager.prototype = { var negativeMonthPosition; var monthPosition; var ruleLength = rule.ruleValue.length; @@ -16841,7 +16500,32 @@ index e1ed3b4..481042e 100755 } }, -@@ -1694,7 +1775,7 @@ var EventManagerUtils = Class.create ({ +@@ -1102,7 +1185,7 @@ RRuleManager.prototype = { + * returns: true if todayDate is in the exception list + */ + evaluateExceptions: function(date, exdates, eventStart, tzId) { +- var exdateType; ++ var exdateType, patt, res; + var exdatesLength = exdates.length; + var exdate; + var testDate = new Date(date); +@@ -1117,7 +1200,14 @@ RRuleManager.prototype = { + + if (exdates && exdatesLength !== 0) { + for (var i = 0; i < exdatesLength; i++) { +- ++ patt = new RegExp("(?:[\\d]{8})(?:T[\\d]{6})?(?:Z)?"); ++ res = patt.exec(exdates[i]); ++ //console.error("EXdate eval:: " + res); ++ if(!!res){ ++ exdates[i] = res +""; ++ } else { ++ return false; ++ } + //Figure out the format of the exdate based on the length of the string + switch (exdates[i].length) { + //date type +@@ -1694,7 +1784,7 @@ var EventManagerUtils = Class.create ({ var freq = event.rrule.freq; var interval = event.rrule.interval || 1; var numExdates = (event.exdates && event.exdates.length) || 0; @@ -16850,7 +16534,7 @@ index e1ed3b4..481042e 100755 var bonusPadding = 3; var base; switch(freq){ -@@ -1980,7 +2061,9 @@ var EventManagerUtils = Class.create ({ +@@ -1980,7 +2070,9 @@ var EventManagerUtils = Class.create ({ //Did the event's repeat cycle already end? if(this.repeatEndedBeforeDate(event.rrule, event.countInfo, date)){ //this.evlog(this.logLevels.repeatDetails, "findRepeatsInRange: exit: repeat already ended 2"); @@ -16861,7 +16545,7 @@ index e1ed3b4..481042e 100755 } //Has the event's repeat cycle even started yet? -@@ -1996,6 +2079,10 @@ var EventManagerUtils = Class.create ({ +@@ -1996,6 +2088,10 @@ var EventManagerUtils = Class.create ({ if(event.dtstart > nextMidnight) { //this.evlog(this.logLevels.repeatDetails, "findRepeatsInRange: exit: repeat hasn't started yet 2"); @@ -16872,7 +16556,7 @@ index e1ed3b4..481042e 100755 continue; } -@@ -2082,6 +2169,44 @@ var EventManagerUtils = Class.create ({ +@@ -2082,6 +2178,44 @@ var EventManagerUtils = Class.create ({ eventOccurrences.push (nextOccurrence); @@ -16917,7 +16601,7 @@ index e1ed3b4..481042e 100755 if (eventOccurrences.length === limit) { //this.evlog(this.logLevels.repeatDetails, "findRepeatsInRange: hit limit"); return eventOccurrences; -@@ -2811,7 +2936,7 @@ var EventManager = Class.create ({ +@@ -2811,7 +2945,7 @@ var EventManager = Class.create ({ future.years = this.utils.getYearsInRange (tempRange); //load the timezone data needed to process this event set @@ -16926,7 +16610,7 @@ index e1ed3b4..481042e 100755 future.then (this.timezoneManager, this.timezoneManager.getTimezones); future.then (this, function (future) { -@@ -2826,10 +2951,19 @@ var EventManager = Class.create ({ +@@ -2826,10 +2960,19 @@ var EventManager = Class.create ({ //We process in chunks and yield periodically to avoid Webkit's JS timeout. function findOccurrences(){