Bug 2135 - Audacity crashes if launched with a locked pluginregistry.cfg file
Bug 2651 - If pluginregistry.cfg gets locked while Audacity is active the Plug-in Manager is blocked - with no help
Bug 2650 - Virgin launch fails with no pluginregistry.cfg file created
Bug 1264 - Writing to locked audacity.cfg not reported to user
Bug 2649 - Launching Audacity with a locked audacity.cfg file gives not one but three error messages - and no help
Bug 2652 - User is not warned if they launch Audacity with a locked pluginsettings.cfg file
The focus location provided to assistive technology by GridAx::GetLocation() does not take into account horizontal or vertical scrolling. So if there is any scrolling in either the Metadata or Labels editor, the focus location provided to assistive technology is not the same as the focus location shown by wxWidgets.
This changes the way the decimal point is specified in the
PO files...uses '<' for "," and ">" for ".".
By doing this the translator is free to use "." or "," in the
digits fields as their language requires.
... but this may be a necessary piece of any fix that might be found.
See also recent commit c67842f525.
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 bbd369df1b and
9036c00152 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)
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.
- Naming (Time Toolbar, not TimerToolBar Toolbar)
- Default time format hhmmss
- Lower dock
- Enabled by default
- Sensible min and max font size
- Sensible min and initial width
- Omit Audio Time from Selection Toolbar
- Update on idle (new idiom from Paul)
- Dock at x1 or x2 size
- Smooth resizing
- Take some account of width when resizing
- Promote Resizable docking code to ToolBar class