1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-11 00:45:53 +01:00
Commit Graph

81 Commits

Author SHA1 Message Date
David Bailes
a1c03d0f7d Bug 1786: duplicate shortcuts can be created
Problem: When [gui/shortcuts]fulldefaults is true, then you can't clear the shortcut of a command which is only in the full set.
In bool KeyConfigPrefs::Commit(), for a command only in the full set, dkey = "", so if the key is set to "", there will be no entry in NewKeys for this.

In CommandListEntry *CommandManager::NewIdentifier, if [gui/shortcuts]fulldefaults is true, then for all commands the key is initially set to the default. For the shortcut that should have been cleared, there is no entry in NewKeys to override this, so it is in fact not cleared.

Fix: In bool KeyConfigPrefs::Commit(), when [gui/shortcuts]fulldefaults is true, use the full set of defaults to find the default key.
2018-02-22 18:36:39 +00:00
Paul Licameli
2f3604bdea Rewrite many calls to Connect() with Bind()...
... it's the more modern way, and does better type checking, without the
dubious casts of pointers-to-member-functions.
2018-02-21 19:28:11 -05:00
Paul Licameli
bf5228267a Calls to Disconnect or Unbind in destructors are not needed, if...
... it's either the source of the connection that is being destroyed, or other
object (such as an ancestor window) transitively owning it and so causing it to
be destroyed too;

or, the sink is being destroyed, and that sink is a wxEvtHandler (which is
always so for Disconnect, though not for Unbind in case Bind was passed a
member function of a non-wxEvtHandler).

wxWidgets takes care of erasing the connection in such cases.

This removes most calls to Disconnect and Unbind.  Many destructors shrank to
nothing.

Notably, in case of popup menu handling, the call to Disconnect is not removable
because the object being destroyed is neither the source nor the sink.
2018-02-21 19:28:06 -05:00
Paul Licameli
228388a63c Follow wxWidgets argument conventions for PrefsPanel factories 2018-02-21 19:21:04 -05:00
Paul Licameli
c9c5421e49 Properly hide non-Full keyboard defaults containing Command+ on Mac 2018-02-08 17:19:18 -05:00
Paul Licameli
8e0cffb7f2 Simplify GuardedCall and default its return type to void 2018-01-13 01:32:41 -05:00
Paul Licameli
aa5c3f12a3 easy change key bindings 2018-01-05 09:27:11 -05:00
Paul Licameli
def1d52505 Substitute, don't concatenate, when composing localized strings...
... Avoid English syntax bias.
2018-01-04 04:30:46 -05:00
Paul Licameli
80a958f8a4 Rewrite empty prompts to ShuttleGUI functions as {} ...
... so we might more easily redefine the type of the function argument,
some other day (not this release)
2018-01-01 22:51:25 -05:00
Paul Licameli
7fd78183d2 Remove needless uses of wxString::c_str() in wxString::Format...
... and similar wx "variadics," which all treat wxString smartly enough that
you don't need this.

Don't need c_str either to convert wxString to const wxChar * because
wxString has a conversion operator that does the same.
2018-01-01 20:34:33 -05:00
Paul Licameli
ccb4bbac33 Translate "Message" as default title of message box...
... This required a sweeping change of all calls to wxMessageBox!  But it seems
safe to me, despite the great number of touched files.
2018-01-01 17:50:02 -05:00
James Crook
f463eda36c Clean up some dead code and MSVC warnings.
- Dead code from experiments in SelectionBar removed.
- Many warnings about unused parameters fixed with WXUNUSED()
- Many warnings about signed / unsigned comparisons cleaned up.
- Several 'local variable declared but not used' warnings fixed.
2017-12-08 15:20:39 +00:00
Paul Licameli
66d5861360 i18n-hints 2017-11-06 11:01:05 -05:00
James Crook
f3dcccb144 Bug 1165 - Enh: Keyboard preference key bindings can be way over to right
Fixed by putting key bindings on the left in all three views.
I also elevated EXPERIMENTAL_KEY_VIEW to no longer experimental, by excising the old code which we don't need any more.
2017-08-19 16:48:45 +01:00
James Crook
aee0c4cbc6 Fix for broken build (::None)
None clashed with something else under linux, probably a macro expansion.
2017-08-03 17:25:12 +01:00
Paul Licameli
5d48e96942 Where FileSelector was used, default to Documents not cwd; save prefs 2017-08-03 08:02:33 -04:00
Paul Licameli
5bdac8b4d7 Bug1698: don't use 0 for menu item ID on Mac (assertion in wxWidgets) 2017-08-01 10:03:47 -04:00
Paul Licameli
f0de38dec1 Scanned for bad naked new; found none; changed comments, used safenew 2017-07-23 09:35:01 -04:00
James Crook
58bd03419a Move Shift+J and Shift+K shortcuts into the standard set. 2017-07-03 17:30:12 +01:00
James Crook
46154d0dca Upgraders to 2.2.0 retain the full set of default shortcuts.
If they delete audacity.cfg they get the new smaller set of defaults.  Also if they explicitly ask for the standard set.
2017-06-30 21:38:20 +01:00
James Crook
a9cbebcb0f Reduce number of shortcuts provided by default.
The full list of shortcuts, the maxList, is still available, and can be set in KeyboardPreferences.
2017-06-28 23:00:02 +01:00
Paul Licameli
48202284b2 Change virtual function interface of PrefsPanel 2017-06-25 11:42:20 -04:00
James Crook
c7a911c265 More shortcut tweaks.
Add Alt+P and Alt+N Previous/Next Clip shortcuts
Shoorter naming of Default options.  Now just 'Standard' and 'Full'.
No longer even attempt to remove (Option)+Command+M
2017-05-29 20:26:31 +01:00
James Crook
a09fceefb6 Tweak shortcut list 2017-05-28 20:28:10 +01:00
James Crook
ed9744e556 Fewer shortcuts in default shortcut list. 2017-05-28 19:49:06 +01:00
James Crook
216ead2214 Provide two choices for defaults in KeyPreferences
This is a step towards reducing the default list of shortcuts.
2017-05-27 20:14:56 +01:00
James Crook
597ddbfa52 Further speed up to showing preferences.
We now don't sort the list until a view is selected.  Also we create it with nodes open, rather than creating with nodes closed and then separately opening them.  Instead of 3 sorts at initialisation only one happens now.  AX info is only updated after a sort, so this may be 3x faster for screen reader users too.
2017-05-25 15:46:55 +01:00
Steve Daulton
e16f6f9221 Add small help button to Prefs pages 2017-05-14 19:02:36 +01:00
Paul Licameli
3bb04245c5 Strong exception safety in all uses of XMLFileWriter...
... Strong, meaning that the file at the specified path is created or modified
only if all write operations complete without exceptions, barring one very
unlikely possibility that a final file rename fails, but even in that case the
output is successfully written to some path.

This commit does not add throws, but changes the type thrown to a subclass of
AudacityException, so that GuardedCall will cause the user to see an error
dialog in all cases.

Duplicated logic for making temporary files and backups is now all in one
place, the class XMLWriter.

There may be more new GuardedCalls than necessary -- the catch-all for the
event loop, AudacityApp::OnExceptionInMainLoop, might be trusted instead in
some cases --  but they are sufficient.
2017-03-18 11:45:33 -04:00
Paul Licameli
df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli
3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli
6052b5f9be Throw by value, catch by reference: don't use pointers...
... that's what the better books on C++ recommend.
2016-02-14 19:36:17 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Leland Lucius
4cd7757cf4 Batting 1000 tonight...make sure navigation works on Windows. 2015-08-04 22:41:52 -05:00
Leland Lucius
7e49dc45d1 Fix some tabbing issues on Linux 2015-08-04 22:22:49 -05:00
Leland Lucius
1e195ecea6 Fix many wx3.1.0 assertions now to prevent double testing 2015-07-30 02:05:23 -05:00
Leland Lucius
37168ebbf6 Merge remote-tracking branch 'upstream/master' into wx3 2015-07-28 15:06:25 -05:00
Paul Licameli
d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Paul Licameli
8399effc45 Table-driven construction of Prefs dialog. A factory for each kind of panel...
... and maybe a future plug-in protocol to break compilation dependency on
all of the PrefsPanel subclasses.
2015-07-26 19:41:20 -04:00
Leland Lucius
9b9c8cc073 Round 5 of wx3 changes
FileDialog now complete on Linux.  Needs some fine tuning on
Windows and OSX.
Builds with wx3 and gtk2 or gtk3.
Still more effect work to do.
2015-07-14 23:33:53 -05:00
David Bailes
394026c36e In keyboard prefs set the accessibility name of mFilter to be the same as its label. The name is then the same as the one given in the manual, and the same if as user is using both a screen reader and magnifier. 2015-05-08 09:47:46 +01:00
lllucius
bdcefb4850 Preliminary changes for wxWidgets 3.0.1
We can't go to 3.0.1 yet as there are still build issues on
Linux and OSX.  You can get Windows to build, but there's
still some display issues.

These changes should work with wxWidgets 2.8.12 as well, so
we can take our time to get things working properly before
switching over.
2014-10-06 08:10:50 +00:00
RichardAsh1981@gmail.com
a6150f3443 Commit Steve's patch for Bug 728 2014-10-02 21:34:01 +00:00
v.audacity
ea0928fc06 rest of David's patch for Bug 712 - Keyboard preferences hotkey search - entering multiple keys 2014-08-13 21:12:48 +00:00
v.audacity
61285bc7be most of David's patch for Bug 712 - Keyboard preferences hotkey search - entering multiple keys 2014-08-12 22:33:35 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
lllucius
98db19cc89 Improve accessibility of KeyView. 2013-11-06 05:35:18 +00:00
lllucius
398b5153c7 Fix a few accessibility issues pointed out by David. 2013-10-30 20:44:22 +00:00
lllucius
bd6c6839cf Fix for bug #57
http://bugzilla.audacityteam.org/show_bug.cgi?id=57
2013-10-09 14:06:04 +00:00
martynshaw99
eee43a5048 Agreed changes to KeyConfigPrefs for 2.0.5. EXPERIMENTAL_KEY_VIEW to be turned on again for 2.0.6. 2013-10-07 23:57:12 +00:00