... Don't concatenate strings just to compare. Just do easy tuple comparisons.
Results might be different in case one plugin's symbol name, vendor, or family
is a prefix of the other one's.
... Work reamained for effect presets, and for file dialogs made from Nyquist
scripts. The four Nyquist scripts using file dialogs were rewritten in a new
format.
This keeps strange characters like | and * out of the strings given to
translators. Instead there are only descriptions of file types.
Also fixed a bug in static initialization of tables of file types, and removes
inclusions of wx/filedlg.h, and the last uses of class wxFileDialog.
... That is, present translators with msgids containing only the descriptions
of the file types. No punctuation.
This eliminates the last wxFileDialog, replacing it with FileDialogWrapper.
... including replacement of 25 calls of _ with XO, and substitution not
concatenation.
XXO replacing XO in a great number of places, for a type distinction in a future
release, but with no effects on the build yet.
Not yet doing the real work for passing disambiguating contexts.
... because the two macros have the same expansion, and are both checked for
in the --keyword arguments passed to msgfmt by locale/update_po_files.sh.
This commit makes ONLY such changes, and comments in Internat.h. It is big
but quite harmless.
The intention is to introduce a type distinction in a later release, by defining
XXO differently. XXO is used where & characters in strings (for hotkeys of menu
items or control prompts) are permitted, XO where not.
... note that "cat" compared with it is concatenated with _("Menu") and
stored in KeyNode::category, which is also compared elsewhere with
CommandTranslated. So this change in one comparison is the right one.
... Reimplemented without making dependency cycles.
Project and ProjectFileManager publish events for change of active project or
change of a project title.
WindowMenus.cpp can listen for those events, so that it can update the menu
appropriately. So it's all done nonintrusively in the rest of the code.
The Jaws screen reader script for audacity references the audio position control by its ID, so it's very helpful if this is fixed. It used to be fixed when the control was part of the Selection toolbar.