Closed Bug 408657 Opened 17 years ago Closed 16 years ago

Implement nsITreeView fully for all calendar related trees. [Exceptions while dragging tasks/events]

Categories

(Calendar :: Internal Components, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: andreas.treumann, Assigned: Fallen)

References

Details

Attachments

(1 file)

STEPS TO REPRODUCE:
===================

- select a event and drag it over the calendar list

RESULT:
=======

- one exception per calendar

Error: [Exception... "'JavaScript component does not have a method named: "canDrop"' when calling method: [nsITreeView::canDrop]"  nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"  location: "JS frame :: chrome://calendar/content/calendar-multiday-view.xml :: onEventSweepMouseMove :: line 1307"  data: no]
Source File: chrome://calendar/content/calendar-multiday-view.xml
Line: 1307

EXPECTED RESULT:
================

- 

REPRODUCIBLE:
=============

- always
Flags: blocking-calendar0.8+
For tasks:
Błąd: [Exception... "'JavaScript component does not have a method named:
"canDrop"' when calling method: [nsITreeView::canDrop]"  nsresult: "0x80570030
(NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)"  location: "JS frame ::
chrome://calendar/content/calendar-task-tree.xml :: onxbldraggesture :: line
1071"  data: no]
Plik źródłowy: chrome://calendar/content/calendar-task-tree.xml
Wiersz: 1071
Most of our tree views are not fully implemented since we did not have drop yet. We need to make sure the trees at least have the drop related functions. I went ahead and implemented the whole set of nsITreeView for calendar management. To fix this bug, similar patches should be created for the other trees.

If anyone wants to help, feel free to take over. I just wanted to throw in an example since the calendar management was last overhauled by me.
Attachment #293517 - Flags: review?(daniel.boelzle)
Disregard the LOG() statements in perform* functions. They will be removed.
Comment on attachment 293517 [details] [diff] [review]
[checked in] Fully Implement the calendar-management tree view

>+    QueryInterface: function cLTV_QueryInterface(aIID) {
>+        return doQueryInterface(this, calendarListTreeView, aIID,
>+                                [Components.interfaces.nsISupports,
>+                                 Components.interfaces.nsITreeView]);
call with prototype (alothugh this object currently doesn't have one):
return doQueryInterface(this, calendarListTreeView.prototype, ...
and modify doQueryInterface the way that aProto can be optional (null).

rest looks fine, r=dbo.
Attachment #293517 - Flags: review?(daniel.boelzle) → review+
Comment on attachment 293517 [details] [diff] [review]
[checked in] Fully Implement the calendar-management tree view

Changed parameter to calendarListTreeView.__proto__. Didn't change doQueryInterface, since calendarListTreeView.__proto__ is still an object and calendarListTreeView.__proto__.__proto__ is null.
Attachment #293517 - Attachment description: Fully Implement the calendar-management tree view → [checked in] Fully Implement the calendar-management tree view
Patch checked in on both branches. Since there are more trees that will cause problems, updating summary to take care.
Component: Lightning Only → Internal Components
QA Contact: lightning → base
Summary: Dragging tasks/events over the calendar list causes exceptions → Implement nsITreeView fully for all calendar related trees. [Exceptions while dragging tasks/events]
Target Milestone: --- → 0.8
Version: Trunk → unspecified
Exception has been fixed, this doesn't block any longer.
Flags: blocking-calendar0.8+ → wanted-calendar0.8+
Depends on: 413455
Here a list of all files containing calendar trees:

/calendar/resources/content/selectAddressesDialog.js (not needed)

/calendar/lightning/content/agenda-tree.js (missing)

/calendar/base/content/calendar-management.js (done)

/calendar/base/content/calendar-task-tree.xml (berend, bug 413455)

/calendar/base/content/calendar-unifinder.js (philipp, bug 379100)


So it seems we are only missing the agenda tree.
The agenda tree and the select addresses dialog is obsolete and will be removed in bug 413484. The unifinder tree fix is contained in bug 413516. Therefore we can close this bug since there are no trees that require implementation. 
Assignee: nobody → philipp
Depends on: 413516
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Checked in nightly build 20080217 _> task is fixed and verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.