... but this may be a necessary piece of any fix that might be found.
See also recent commit c67842f525095f100aa662ff59be421545d8bfc4.
wxDF_UNICODETEXT replacing wxDF_TEXT was a necessary but not sufficient step to
fix a cut-copy-paste problem on Mac, and I suspect the same will be true here.
See also commits bbd369df1b3c5860ac1145f221c93972c9bac349 and
9036c001521883300c30c8e2d7ef6775dc00f918 for the commits that introduced this
code.
The partial fix they accomplished in 2.1.3 is no longer working, whether because
of wxWidgets changes, or macOS changes, or both.
The error icon was gone because we are now using the ErrorDialog, which didn't have it. So added back explicitly. I decided to go with wxART_WARNING rather than wxART_ERROR because nearly all of these present as warnings.
In addition, I've extracted the wxTextCtrl wrapper from the
TimerRecordDialog intto widgets/wxTextCtrlWrapper.h and made
it the default for ShuttleGui::AddTextBox(). This way readonly
text controls are always included in the tab order.
If the grid is empty or does not have a selected cell, the current
row and column must still maintain these class invariants:
-1 <= current_row < rows
-1 <= current_column < columns
if either current_row or current_column is -1, then the other
shall also be -1
wxGrid uses wxGridNoCellCoords to test for current_row == -1 &&
current_column == -1. We treat the case where only one
of the coordinates is -1 as if both are -1.
... Requires some more wx header inclusions, a renaming of CopyFile (to avoid
colliding with a certain macro changing it to CopyFileW), and an explicit
deletion of a copy constructor and assignment (to avoid generation of
std::vector members for an incomplete type)
... It didn't really break the cycle, because there were still indirect
inclusions via AudacityHeaders.h.
This reverts commit 4f78874978975b42a5ca0ffb7175d586875da629.
FileDialog goes into audacity/src/widgets and the mod-* directories go into
audacity/modules.
This leaves nothing in lib-src that isn't a 3rd-party libs or supporting
files.
... and recompute popup menu tables that depend on preferences.
The code for labels in the rulers was unsatisfactory because
(1) rescanning and editing the post-translation strings is a hack to avoid, and
(2) separating the hints like "Shift-Left-Click" with a tab character made them
invisible on Mac. So instead, append strings like " (Shift-Left-Click)"
... 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.
... 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.