Commit Graph

41 Commits

Author SHA1 Message Date
Paul Licameli 132f04d272 ManualPageID is a new type; rewrite HelpSystem::ShowHelp and its uses 2021-07-01 13:35:57 -04:00
Paul Licameli cfbdd2d22e Type alias ManualPageID for wxString used in many places...
... eliminating many direct mentions of wxString.  A real type distinction will
be made next.
2021-07-01 13:33:04 -04:00
Paul Licameli c5ebc396eb Audacity.h has shrunk to nothing, now remove it! 2021-05-10 00:05:23 -05:00
Paul Licameli 4d09705a73 Change XO to XXO in many more places, with no effects at all...
... 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.
2020-05-22 13:07:50 -04:00
James Crook 30b26a0b99 Add <wx/bmpbuttn.h> needed by Linux. 2020-02-09 20:46:16 +00:00
James Crook 41619af8cd Bug 2274 - Enh: Dialog for orphan block files has no "?" Help button
also

Bug 2273 - Enh: Dialog for missing block files has no "?" Help button

These now link to the appropriate page in the manual.
2020-02-09 20:26:29 +00:00
Paul Licameli 093ffbd2f1 MultiDialog uses ShuttleGui, and TranslatableString for title 2019-12-29 16:17:04 -05:00
Paul Licameli 66097c34dc MultiDialog uses TranslatableString for button labels & 2nd message 2019-12-23 15:35:47 -05:00
Paul Licameli 53ee9c9800 TranslatableString for titles, names, labels of wxDialogWrappers...
... Found one missed translation in CommandTargets.cpp
2019-12-16 10:58:05 -05:00
Paul Licameli 8da6529329 Remove AudacityApp::GetLogger() & HelpActions::DoShowLog() 2019-05-17 16:29:04 -04:00
Paul Licameli f6adeed47b Remove some unnecessary #include directives 2019-05-15 14:14:18 -04:00
Paul Licameli 1af342ff64 one function can return reference instead of value 2019-03-23 11:51:00 -04:00
Paul Licameli 5e7d41ec07 Each .cpp/.mm file includes corresponding header before any other...
... 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.
2019-03-17 22:54:52 -04:00
Paul Licameli 173a300427 Include nothing before Audacity.h, as comments say we should...
... and remove some duplicated inclusions
2019-03-17 21:41:39 -04:00
Paul Licameli 64b6493bec Help Menus 2018-10-24 12:16:45 -04:00
Paul Licameli ce9f2e2538 Include Menus.h directly, only where needed, not via Project.h 2018-10-16 16:45:26 -04:00
Paul Licameli 9481587fa8 Move menu handling functions out of class AudacityProject 2018-09-29 12:10:27 -04:00
James Crook d3e6e92440 Fix Sizer Error. 2018-08-05 21:34:23 +01:00
James Crook 1c988b4e3a Automation: AudacityCommand
This is a squash of 50 commits.

This merges the capabilities of BatchCommands and Effects using a new
AudacityCommand class.  AudacityCommand provides one function to specify the
parameters, and then we leverage that one function in automation, whether by chains,
mod-script-pipe or (future) Nyquist.

- Now have AudacityCommand which is using the same mechanism as Effect
- Has configurable parameters
- Has data-entry GUI (built using shuttle GUI)
- Registers with PluginManager.
- Menu commands now provided in chains, and to python batch.
   - Tested with Zoom Toggle.

- ShuttleParams now can set, get, set defaults, validate and specify
the parameters.
- Bugfix: Don't overwrite values with defaults first time out.
- Add DefineParams function for all built-in effects.
- Extend CommandContext to carry output channels for results.

We abuse EffectsManager.  It handles both Effects and
AudacityCommands now.  In time an Effect should become a special case of
AudacityCommand and we'll split and rename the EffectManager class.

- Don't use 'default' as a parameter name.
- Massive renaming for CommandDefinitionInterface
- EffectIdentInterface becomes EffectDefinitionInterface
- EffectAutomationParameters becomes CommandAutomationParameters
- PluginType is now a bit field.

This way we can search for related types at the same time.

- Most old batch commands made into AudacityCommands.
The ones that weren't are for a reason.  They are used by mod-script-pipe
to carry commands and responses across from a non-GUI thread to the GUI
thread.

- Major tidy up of ScreenshotCommand
- Reworking of SelectCommand
- GetPreferenceCommand and SetPreferenceCommand
- GetTrackInfo and SetTrackInfo
- GetInfoCommand
- Help, Open, Save, Import and Export commands.
- Removed obsolete commands ExecMenu, GetProjectInfo and SetProjectInfo
  which are now better handled by other commands.

- JSONify "GetInfo: Commands" output, i.e. commas in the right places.

- General work on better Doxygen.
    - Lyrics -> LyricsPanel
    - Meter -> MeterPanel
- Updated Linux makefile.
- Scripting commands added into Extra menu.
- Distinct names for previously duplicated find-clipping parameters.
- Fixed longstanding error with erroneous status field number which
  previously caused an ASSERT in debug.
- Sensible formatting of numbers in Chains, 0.1 not 0.1000000000137
2018-02-24 14:20:22 -05:00
Paul Licameli ab6de1181d No more functor objects; all command handler functions take same args 2018-01-05 09:27:29 -05:00
Paul Licameli 0113e6f44f Remove naked new[] in: ondemand, toolbars, widgets 2017-03-17 17:52:45 -04:00
Paul Licameli 5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
Paul Licameli 84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli 7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli 2efa24bc10 Sweep unnecessary wxString copies: widgets 2016-02-22 21:30:04 -05:00
Paul Licameli 1c07741d57 Sizers are owned by wxWindow objects when added, so use safenew, or...
... use unique_ptr in the interim between building them and adding.

This checks eliminates some naked news, which were not paired with deletes.
2016-02-18 18:58:38 -05:00
Paul Licameli 4d78e353c3 Revert "sizers"
This reverts commit 84c0a0b666.
2016-02-18 14:50:52 -05:00
Paul Licameli 84c0a0b666 sizers 2016-02-18 02:54:50 -05:00
Paul Licameli 3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
David Bailes f458df1c7b Changes to a number of dialogs so that the NVDA screen reader can read the titles. Missed these in my last patch. The accessibility name of the dialog is set to the title. 2015-05-18 13:57:05 +01:00
james.k.crook@gmail.com a82940197d Comments, and cleaned up a piece of dead code. 2014-10-10 19:47:58 +00:00
james.k.crook@gmail.com 221474e37a Fixed bugs with MultiDialog. Fixed Bug with prompting about modules.
Previously MultiDialog attempted to centre on parent dialog, but there was a NULL parent.  Now the application top window is used. Dialog shows centred, for example when there are missing block files.  If the top window is a WX_STAY_ON_TOP, we move our dialog to the left, as otherwise it would be partially hidden.

Previously Audacity would ask about enabling a module whilst the splash screen was showing.  For some as yet undetermined reason the MultiDialog and Splash Screen are incompatible.  Possibly it's related to doing a ShowModal before a full application exists.  The not ideal workaround is to now delay showing the splash screen until after the modules have been loaded.
2014-10-10 15:36:51 +00:00
benjamin.drung@gmail.com 277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
martynshaw99 37f74e27bb Adding the ability to load 'non-recognised' modules, with a warning to the user (the main point).
Removing duplicate code from LoadModules, at the expense of making  ModuleManager::Initialize more monolithic.

Make MultiDialog a bit more general.

Remove a few warnings.

Some logging has been turned back on when loading libs, we could turn it off again.

To test you could compile mod-nyq-bench and make sure it is available on the bottom of the 'View' menu, then unselect it in the Prefs -> Modules an retry.
2013-06-05 00:35:10 +00:00
v.audacity fd17ae3903 David Bailes patch for bug 577 2012-10-13 00:59:14 +00:00
v.audacity ea68057638 (bug 113)
DirManager::ProjectFSCK (project check):
   Made the enumerations interleaved with handling, because, 
   for example, user choosing to replace missing aliased block files with silence 
   needs to put in SilentBlockFiles and delete the corresponding auf files, 
   so those would then not be cumulated in missingAliasBlockFileHash.
   We still do the FindX methods outside the conditionals, 
   so the log always shows all found errors.

   Moved check for orphan files to last, so user first has a chance to get 
   messages about missing files that user may have mistakenly renamed 
   (and the renamed ones would appear to be orphans).

   Re-ordered user choices for orphan files dialog to safest-to-boldest.

   Changed FSCKstatus_CLOSEREQ and FSCKstatus_CHANGED to be integers rather 
   than binary flags. They were never returned with both in the result, nor used that way.

   Made the project check log warnings use full paths instead of just file names.


Removed close box and system menu from MultiDialog, so that project check dialogs cannot just be closed. User has to decide on one of the choices. 

Fixed some handling in AudacityProject::OnShowLog(). If the log was already showing before MultiDialog came up, it froze because it was not re-enabled.
2010-08-20 03:19:14 +00:00
v.audacity 5e38992c46 Now that AudacityProject::OnShowLog does more than just wxGetApp().mLogger->Show(), use its processing rather than duplicate it in MultiDialog. 2010-08-14 00:43:15 +00:00
v.audacity 14a3ab7409 Add missing #include. 2010-08-12 21:04:49 +00:00
v.audacity 71e102e473 (more on bug 113 and related issues)
Added a "Show Log for Details" button to MultiDialog so it does what the comments say, i.e., allows the user to look in the log to see which files are problematic (e.g., orphaned blockfiles.

Tightened up ProjectFSCK messages. 

Added comments about remaining (long-standing!) problems in ProjectFSCK.
2010-08-11 02:38:24 +00:00
james.k.crook 44596429a7 Corrected version of Ed's patch #18 to localise some strings. 2010-02-10 23:10:53 +00:00
ra e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00