SourceFilterMenu
Source/Filter Menu Problems
The 'alt' keyboard shortcuts for the menu bar in ParaQ have conflicting keys and don't work. Currently, the 'Server' and 'Source' menus conflict. The 'File' and 'Filter' menus conflict as well. We can change which letter is used as the shortcut. The standard menu names can restrict which letter we use though. The File menu should definitely use the 'F' key. So, filter can't use that letter. 'T' should be reserved for the Tools menu, and 'E' for the Edit menu. The choices become limited quickly. With the current menus, at least two of them will have shortcut keys in the middle of the word. This is doable, but will be harder for the user to remember the shortcut keys.
Another problem is the size of the filter menu. The alphabetical listing is huge. The filter grouping helps after the user knows which group the filter is in. Until then, the user will still be looking for the filter in the alphabetical listing.
The user can also be confused by what the menu item will do when they select it. Currently, selecting a menu item in the source menu creates a source proxy. Selecting an item in the filter menu creates a proxy and connects that proxy to the currently selected proxy. If the selected proxy is in the middle of the pipeline chain, the new proxy is inserted. This doesn't leave a way to add a filter in the middle of a pipeline.
Proposed Solution
In order to fix these problems, I propose the following solution. Replace the Server, Source, and Filter menus with a single 'Pipeline' menu. The pipeline menu would have the following items:
- Add Server
- Add Source
- Add Filter
- Insert Filter
- Add Compound Proxy
- Insert Compond Proxy
- Delete
- Delete Subgraph
The Add Server item would open the server connect dialog. For adding or inserting a proxy, a dialog would pop up for the user to choose the object to create. The dialog would have a list in the middle like a file dialog. The user could use the keyboard to quickly navigate the list like a file dialog as well. There would be a group selection combo box that would allow the user to select which group of filters they want to select from (the default would be alphabetical). There should also be some connect/disconnect items in the menu, but I'm not sure what that would look like yet.
The same menu items could be used as the context menu in the pipeline browser. Both the menu bar menu and the context menu would operate on the currently selected items in the browser. The selected items would determine where in the pipeline filters and compound proxies are placed.
Pros
The 'Pipeline' menu could easily use the 'P' key for its shortcut. The 'Add ...' and 'Insert ...' menu items make it clear to the user what will happen when selected. The source/filter/compound proxy selection dialogs would be consistant with each other and with the file open dialog used for opening a reader. The menu would not be large since the list of filters would be in the dialog.
The proxy selection dialogs could also make some other improvements. There could be a list of recently selected and a list of favorites.
Cons
Adding the source/filter/compound proxy selection dialogs can add an extra mouse click to the process.