How can context menu items be added?

Right-click on QuickView tables generally offer context menu options for the “Person” objects on a Row … even when the table is of Event lists. as with the following All Family Events QuickView report:

Each row tends to have multiple objects: a Person/Family object, an Event with an attribute (date) and a secondary object (Place of the Event). How can additional menu options be added to these context menus that apply to the other objects in the row?

For instance, the following menu has 3 options:

  • Copy all (copies row CSV data to the OS clipboard, header is ignored)
  • See the person details (opens a Person Editor dialog)
  • Make the person active (changes the Active Person)

I’d like to also have:

  • See the Event details (opens a Event Editor dialog)
  • Make the Event active (changes the select object in the Event category)
  • See the Place details (opens a Place Editor dialog)
  • Make the Place active (changes the select object in the Place category)

Of course, sometimes the Event will have no Place defined.

With these options, the plain list of a QuickView could simplify roughing in a Family… where Events and Places tend to be shared.

Note:
There’s a problem with the QuickView report rows containing a Family level Event. They are usable for visual reference but the context menus and drag’n’drop don’t work.

Bug report 12759 has been filed.

The clipboard.py module sets up different context menus based on the objectclass of selected clipboard item.

To promote expanding the Context Menu functionality into unsupported objectclass types, maybe the default context menu item could be a link that:

  1. labels the menu item with the selected objectclass types (or “assorted”, if more than one type)
  2. links to a comment section of the clipboard.py module. The comment could be a running list of types that are not supported. And references to a discussion (here, on the wiki, or on GitHub) about modifying the module.