Closed Bug 1727711 Opened 4 years ago Closed 4 years ago

Unify code that connects calendar views to calendars

Categories

(Calendar :: Calendar Frontend, enhancement)

enhancement

Tracking

(thunderbird_esr91 unaffected, thunderbird93 unaffected)

RESOLVED FIXED
94 Branch
Tracking Status
thunderbird_esr91 --- unaffected
thunderbird93 --- unaffected

People

(Reporter: darktrojan, Assigned: darktrojan)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

We have many different ways to display calendar items:

  • mini-months
  • the today pane agenda
  • the today pane tasks list
  • the unifinder
  • the day, week, multiweek, and month views
  • the tasks list

The all have their own code for getting things to display from the calendars. It's pretty similar code for the most part but each has its own quirks.

What I'm going to do is take the existing calFilter, which is currently used for tasks lists and the unifinder, and extend it so that it can serve as a complete go-between for the displays. It will listen for updates to the calendars and calendar items, filter out any irrelevant information, and pass the rest onto the display widgets.

Each display widget then need only be concerned with adding or removing the items given to it – it won't need to have any reference to the calendars or know anything about them. All of the widgets will use instances of this same go-between class, so any problems can be ironed out once for all widgets.

This should make the composite calendar obsolete, or at least get close.

To begin with, this new class (actually a mixin so it can be used with different base classes) has an instance of the original calFilter. In future it might consume calFilter when we no longer need that as a separate class.

No widgets currently use the mixin but I have prototyped a new Today Pane agenda which works well. I will finish that in a separate bug.

Blocks: 1728743

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/4baee5bdf3b9
Create an active version of calFilter to be used by calendar display widgets. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 94 Branch
Blocks: 1753558
Blocks: 1763752
Blocks: 1763753
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: