Grid controls: expand, shrink, reorient (in toolbar, view menu, context menu; for day/week[multiday] view)



13 years ago
9 years ago


(Reporter: gekacheka, Unassigned)




(5 attachments)



13 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv: Gecko/20061204 Firefox/
Build Identifier: trunk

Add grid controls for Day view and Week view.  

Grid settings will include:
  orient: vertical or horizontal
  scale:  number of hours in view
  rescaleOnResize: whether to stretch hours when pane resized
These settings will be persistent (avoid preferences).

Grid controls will include:
  reorient: toggle between vertical and horizontal
  zoom in:  expand grid, decrease hours in view.
  zoom out: shrink grid, increase hours in view.
  stretch with pane: toggle whether to stretch hours when pane resized.

Grid controls may appear in
  toolbar (if customized to add them)
  view menu (grid submenu)
  context menu (grid submenu)
  keyboard accelerator keys

This applies to both Sunbird and Lightning.

The expand/shrink scale controls will address requests to change the size of the grid boxes and/or the number of hours in view.

Reproducible: Always

Comment 1

13 years ago
This checklist describes expected/tested behavior.  


0. Preparation

1. Enabled/Disabled 
1.1 Reorient
1.2 Zoom In (expand grid, decrease hours visible)
1.3 Zoom Out (shrink grid, increase hours visible)
1.4 Duration visible (slider/scale) (only toolkit rv:1.9 or later)
1.5 Stretch grid with pane (toggle checkmark)

2. Operation
2.1 Reorient 
2.2 Zoom in (expand grid, decrease hours visible)
2.3 Zoom out (shrink grid, increase hours visible)
2.4 Duration visible (slider/scale) (only on toolkit >= rv:1.9)
2.5 Stretch grid with pane (menu checkbox)
2.6 Mouse Wheel Scroll (not all computers support mouse wheel)
2.7 Mouse Wheel Zoom (not all computers support mouse wheel)

3. Persist
3.1 Orient: either orientation survives restart, views independent
3.2 Scale: any number of hours in view survives restart, views independent
3.3 RescaleOnResize: "Resize grid with pane" survives restart, views indep

4. Toolbar items fit toolbar settings
Windows, Linux

5. Lightning: grid toolbar items appear only when viewing calendar pane.

Comment 3

13 years ago

1.1 Add scale properties and methods to calendar-multiday-view.
1.2 Reorganize calendar-multiday-view size initialization
1.3 Ensure onResize handler is called when scrollbox is resized
1.4 Add DOMMouseScroll event handler to calendar-multiday-view
1.5 Avoid rounding errors in calendar-time-bar.relayout
1.6 Persist attributes orient, scale, rescaleonresize: 
1.7 calendar-scale

2.1 Add commands, keys, menuitems, and toolbar items.
2.2 Hide scale slider if running on rv:1.8
2.3 Initialize listeners to update controls as views change state
2.4 Update controls as views are switched
2.5 Lightning: collapse toolbar items when viewing messages, not calendars.
2.6 Update controls when menupopup shown:
2.7 Implement stateful commands:
2.8 Icons

Comment 4

13 years ago
(patch -l -p 1 -i file.patch)

This draft prototype worked for me (see UI checklist; also see zip for icons), 
but this patch is too large for review.  
See description attachment for overview.
Next step is probably to figure out some ways to break it up into smaller but still testable parts.


13 years ago
Blocks: 349509
You know we all love screenshots ;)

Comment 6

13 years ago
Duplicate of this bug: 460428
Duplicate of this bug: 359624
Whats the status of this bug? Sunbird Only for some of the toolbar buttons? Or maybe even WONTFIX? For Lightning we should just use the existing buttons.
You need to log in before you can comment on or make changes to this bug.