User:Jminta: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Added more good first bugs)
(Calendar itemSelectionManager)
Line 1: Line 1:
== Good First Bugs ==
== Calendar itemSelectionManager==
So, you think Lightning is the next big thing?  Or maybe you're tired of waiting around for Sunbird 0.3 to come out? Want to help move things along? I've tried to put together a list of good bugs for people to get their feet wet with.
I want to re-do the way Sunbird/Calendar handle selected events/tasks/calendars. This will hopefully make it easier to solve [https://bugzilla.mozilla.org/show_bug.cgi?id=195582 Bug 195580] (can't delete task/calendar with delete button) and [https://bugzilla.mozilla.org/show_bug.cgi?id=195582 Bug 195582] (can't edit a task/calender with edit button.)


However, these are just bugs that looked reasonably easy at first glanceThey may or may not be that way in realityIf, in investigating one of these bugs, you find it's not that simple, let me knowAlternatively, if you find a bug you think should be on this list, let me know as well.
Basically, I want to create a new Sunbird/Calendar component called itemSelectionManagerFirst and foremost, this will be independent of gCalendarManager, which should make switch to the new views in 0.3a2 easier.  The way I'm currently envisioning this, it will tighly integrate the task list with the normal calendar viewsThat is, selecting a task in the task list will highlight the corresponding item-box in the calendarView (if 'Tasks in View') is selectedSimilarly, selecting an item-box representing a task in the calendar view will selected that item in the task list.


Note: This is '''not''' a comprehensive list.  To quote [http://www.babylonsounds.com/2005/05/finally-lightning-lead-developer-mike.html#project Mike Shaver], "The best "first bug" to work on is one that you want to see fixed." So, if you have a bug you want to work on that isn't on this list, that should never stop you.  Take it on.
The downside of this is that selecting a task in the task list clears the event selection in the viewStill, I prefer this to maintaining separate lists of selected events and trying to make the edit/delete buttons follow the focusThat has a better chance of confusing the user.


=== How to get started ===
=== General Outline of Methods ===
If you've made it this far, you probably already know most of what I'm going to tell you.  Read the [http://www.mozilla.org/projects/calendar/dev_guide.html Developer Guide] and [http://www.mozilla.org/projects/calendar/help.html How to help] pages on the project website.  After that, find a bug you like, and either assign it to yourself (if you can) or just post a comment on the bug saying your working on it.  This prevents two people from working on the same bug.  After that, make your changes, test your patch, and then ask for a reviewHappy Hacking!
'''addObserver(observer)''' - Adds an observer that should be notified of item selection changes and changes in item focusObservers should implement 'onItemSelectionChange' and 'onItemFocusChange'.


=== Bug List ===
'''removeObserver(observer)''' - Removes an observer.
*[https://bugzilla.mozilla.org/show_bug.cgi?id=257632 Bug 257632]  Editting tasks should refresh view if 'Tasks in View' is selected
*[https://bugzilla.mozilla.org/show_bug.cgi?id=257408 Bug 257408] Titles of events shouldn't change to ellipses so soon
*[https://bugzilla.mozilla.org/show_bug.cgi?id=270212 Bug 270212] Use stringbundles in delete event dialog
*[https://bugzilla.mozilla.org/show_bug.cgi?id=256129 Bug 256129] Preferences menu icons keep mouseover effect
*[https://bugzilla.mozilla.org/show_bug.cgi?id=229708 Bug 229708] Editting priority/ completion of multiple tasks at once doesn't work
*[https://bugzilla.mozilla.org/show_bug.cgi?id=289439 Bug 289439] Double clicking on task checkbox should check/uncheck, not open edit dialog
*[https://bugzilla.mozilla.org/show_bug.cgi?id=248989 Bug 248989] Scroll bar hdies refresh indicator in calendars list


==== Unconfirmed Bugs ====
'''select(itemOrArray, doNotOverwrite)''' - This method passes in either a single item, or an array of items to be selected.  If doNotOverwrite (optional parameter) is set and is 'true', the item/array will be appended to the current list of selected items.  Otherwise, it will overwrite that list.
These bugs seemed reasonable candidates, but haven't been confirmed for one reason or another.  If you think they're legitimate and should be fixed, writing a patch is the quickest way to make this happen.
 
*[https://bugzilla.mozilla.org/show_bug.cgi?id=255906 Bug 255906] Cross out past events
'''clearSelection()''' - clears all selected events/tasks. Calling this and select(item, false) is redundant.
*[https://bugzilla.mozilla.org/show_bug.cgi?id=277958 Bug 277958] Very short events are only seen as a line
 
*[https://bugzilla.mozilla.org/show_bug.cgi?id=284791 Bug 284791] Multiple email addresses in an event are not possible
'''setItemFocus(itemsAreFocused)''' - This should be called with 'false' when another part of the calendar (ie the calendar-listbox) gains focus. It should be called with 'true' when either the calendar view or tasklist is clicked. Probably also when the new/edit event dialog box finishes. It will call the 'onItemFocusChange' method in all observers. The observers can then (if necessary) make changes to the appearance of the items they deal with.
 
'''getItemFocus()''' - Returns true if items are focused or false if they are blurred.

Revision as of 12:13, 16 July 2005

Calendar itemSelectionManager

I want to re-do the way Sunbird/Calendar handle selected events/tasks/calendars. This will hopefully make it easier to solve Bug 195580 (can't delete task/calendar with delete button) and Bug 195582 (can't edit a task/calender with edit button.)

Basically, I want to create a new Sunbird/Calendar component called itemSelectionManager. First and foremost, this will be independent of gCalendarManager, which should make switch to the new views in 0.3a2 easier. The way I'm currently envisioning this, it will tighly integrate the task list with the normal calendar views. That is, selecting a task in the task list will highlight the corresponding item-box in the calendarView (if 'Tasks in View') is selected. Similarly, selecting an item-box representing a task in the calendar view will selected that item in the task list.

The downside of this is that selecting a task in the task list clears the event selection in the view. Still, I prefer this to maintaining separate lists of selected events and trying to make the edit/delete buttons follow the focus. That has a better chance of confusing the user.

General Outline of Methods

addObserver(observer) - Adds an observer that should be notified of item selection changes and changes in item focus. Observers should implement 'onItemSelectionChange' and 'onItemFocusChange'.

removeObserver(observer) - Removes an observer.

select(itemOrArray, doNotOverwrite) - This method passes in either a single item, or an array of items to be selected. If doNotOverwrite (optional parameter) is set and is 'true', the item/array will be appended to the current list of selected items. Otherwise, it will overwrite that list.

clearSelection() - clears all selected events/tasks. Calling this and select(item, false) is redundant.

setItemFocus(itemsAreFocused) - This should be called with 'false' when another part of the calendar (ie the calendar-listbox) gains focus. It should be called with 'true' when either the calendar view or tasklist is clicked. Probably also when the new/edit event dialog box finishes. It will call the 'onItemFocusChange' method in all observers. The observers can then (if necessary) make changes to the appearance of the items they deal with.

getItemFocus() - Returns true if items are focused or false if they are blurred.