... Moved many misplaced ones, which msgfmt would not have extracted into
audacity.pot.
Duplicated some of them, to appear with related but distinct msgids.
Added a few new comments.
Deleted one that was no longer needed in ProjectManager.cpp.
... in cases of "TranslatableString" that are not really translated.
This makes it easier to scan the code for such unusual constructions of
TranslatableString, distinct from mere mentions of the TranslatableString type.
... Unnecessary because transitively included.
But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
... except Audacity.h
This forces us to make each header contain all forward declarations or nested
headers that it requires, rather than depend on context.
... except Audacity.h; and in no others.
Do so even if Experimental.h gets multiply included, as in both the .h and
.cpp files.
This makes it easier to do a text scan to be sure there are no unintended quiet
changes of meaning because of omission of Experimental.h when the flag is
an enabled one.
Also move inclusions of Experimental.h earlier.
Also don't require Experimental.h to be preceded by Audacity.h to define
EXPERIMENTAL_MIDI_OUT correctly.
... which will make it easier to change the types of those containers to
std::vectors of other string-like classes
for wxString,
IsEmpty => empty
Clear => clear
Alloc => reserve
for wxArrayString,
Count => size
GetCount => size
IsEmpty => empty
Add => push_back
Clear => clear
Empty => clear
Sort => std::sort (only with default comparator)
SetCount => resize
Last => back
Item => operator []
Alloc => reserve
... Some in wxT can be edited directly, some in _() are not really used now
so they can be edited directly, others require a post-translation substitution.
Not all links to libraries from Credits work with https: so update only those
that do.
... Apply substituion to the result of translation lookup, assuming the
translator preserved the url verbatim. (But in future, we should not have
urls inside translated strings.)
Problem is that the page faq_opening_and_saving_files.html will exist in the
2.2.0 manual online, but the anchor #midi will no longer exist on it.
This help link comes up only when import fails (perhaps the file is corrupt)
and the user presses the help button.
This help goes through an unusual code path that never uses local help. That
could stand fixing in future.
Previously this was hard coded to use the online alphamanual.
Some other help-on-errors paths were hardcoded to use the online manual, and did not use local help even if available, so these were changed too.
Also two naming changes in the code:
ShowHelpDialog() became ShowHelp() because it typically shows the help in your browser, only showing the help in a dialog under certain circumstances.
The helpURL parameter became helpPage since it is usually a page name that is then elaborated into a url.
The Link() function became InnerLink().
Some careful http -> https changes made too.
The welcome screen now has an extra prelude for Alphas, and as result no longer needs to force a version check onto our website. Users can still do that by clicking "check online".
I've also rearranged the version check code a little, so that there is better reuse. E.g. we can change the URL in just one place in the code.
This brings more of the code from DarkAudacity into Audacity, though not yet enabled. This will make cherry picking later easier.
- Changing colour of html displays now possible, as colour links are visible for substitution. (Can't use css as wxHTML is very limited).
- Export can now be preset to a particular format independent of preferences.
- SnapTo reversion on zoom now a DA controlled option.
- Caching of pinning preference for faster repaint because preferences are slow.
- Record Append now has sensible limit on number of tracks, rather than giving an error, and flipping the meaning of shift is now DA controlled.
Discussion on -quality pointed out that (1) in alphas the '!' is emphasising the year, 2016, rather than the 'Welcome', that (2) in release the '!' can easily be misread as a 1 and so part of the version number (3) the topic is "How to Get Help", rather than the welcome (4) too many !!!!'s are OMG!!! culture (5) we already have an "!" in the title.