Commit Graph

17 Commits

Author SHA1 Message Date
Bill Somerville 63ef8412b9
Restrict UDP SwitchConfiguration(14) to existing configurations 2021-02-24 11:22:10 +00:00
Bill Somerville 3f5a996842
New UDP message SwitchConfiguration(14) to switch to an existing configuration
The Status(1) message also acquires  the current configuration name as
a new  field. See  NetworkMessage.hpp for  details. The  UDP reference
example program message_aggregator acquires the ability to display and
change  the configuration  of a  WSJT-X client  to exercise  these new
features.
2019-06-13 01:44:28 +01:00
Bill Somerville 45b12e6028
Preparation for UI i18n
Re-enabling the WSJT-X i18n  facilities. This allows translation files
to  be created  for languages  that are  automatically used  to lookup
translatable strings. To enable a  new language the language name must
be added to the CMakeLists.txt LANGUAGES list variable in BCP47 format
(i.e. en_US,  en_GB, pt_PT, ...). Do  one build with the  CMake option
UPDATE_TRANSLATIONS enabled  (do not  leave it enabled  as there  is a
danger of loosing existing translated texts), that will create a fresh
translations/wsjtx_<lang>.ts file which  should be immediately checked
in with the  CMakeLists.txt change. The .ts should then  be updated by
the translator using  the Qt Linguist tool to  add translations. Check
in the  updated .ts file  to complete the initial  translation process
for that language.

To  aid translators  their WIP  .ts file  may be  tested by  releasing
(using the  lrelease tool or  from the Linguist  menu) a .qm  file and
placing  that  .qm  file  in the  current  directory  before  starting
WSJT-X. The translations will be used if the system locale matches the
file name.   If the system  locale does not  match the file  name; the
language may be  overridden by setting the  LANG environment variable.
For  example if  a wsjtx_pt_PT.qm  file  is in  the current  directory
WSJT-X will use it for  translation lookups, regardless of the current
system locale setting, if the LANG variable is set to pt_PT or pt-PT.

On MS Windows from a command prompt:

 set LANG=pt_PT
 C:\WSJT\wsjtx\bin\wsjtx

elsewhere:

 LANG=pt_PT wsjtx
2019-06-06 12:56:25 +01:00
Bill Somerville 947b429723 Start implememntation of database based Fox log model and a new Fox log window widget
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.

Relax  the   requirements  of   the  ForeignKeyDelegate   and  related
CandidateKeyFilter classes to  allow them to work  with constant model
pointers for both referenced and referencing models.
2018-11-07 17:49:45 +00:00
Bill Somerville dfecb4ed1f Fix defect in handling of configuration names containing ampersand characters
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7602 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-03-14 14:23:05 +00:00
Bill Somerville 25e9fe245d Fix misuse of auto in assignment
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7568 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-17 14:03:46 +00:00
Bill Somerville b4ea0194f1 Support for a startup configuration
The --config <configuration> (-c for short) command line option can be
used  to  select  an  existing  configuration  at  start  up.  If  the
configuration does not exist the last configuration used is selected.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7567 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2017-02-17 12:32:47 +00:00
Bill Somerville c9fb8ab89f Allow for ampersand characters in configuration names
Ampersand characters  have special significance in  action names, they
indicate the following character is an accelerator. This change allows
single   ampersand  characters   but   filters  them   out  from   the
MultiSettings::configuration_name_changed  signal.  Double  ampersands
may be used to escape a single ampersand.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7338 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-11-27 01:34:35 +00:00
Bill Somerville cc4583f772 Fix issue with the configurations menu on Mac OS X
On Mac OS X  due to the Qt use of native  menu widgets the connections
for  a menu  action get  disconnected before  they are  triggered when
using QMenu::aboutToHide()  to remove the items  dynamically.  Changed
to  depopulate  the   sub  menu  just  before   re-population  in  the
QMenu::aboutToShow() event.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7263 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-29 19:26:20 +00:00
Bill Somerville 53280deb8d Refactor the MultiSettings class to work on Linux with Qt 5.5
This  change  to  using  dynamically   built  pop  up  menus  for  teh
configurations menu gets around an  issue with teh Linux Unity appmenu
not being able to handle actions used in multiple menu items.

There is  a remaining issue  with the QMenu::aboutToHide()  signal not
being fired if the Unity appmenu  is not disabled. Hopefully this will
be fixed  in later  Qt/Unity versions.  Until then  the configurations
menu cannot be used unless the appmenu_qt5 package is removed.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7260 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-29 12:05:52 +00:00
Bill Somerville cfb1a3cbe2 Use Qt signals to process configuration name changes
This change maintains the encapsulation  of the MultiSettings class by
using  a  signal   to  notify  clients  of  changes   to  the  current
configuration name.

Modifications  to   the  MainWindow  class  to   display  the  current
configuration name in the status bar, if it is not "Default", based on
MultiSettings events rather than polling for changes.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7257 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-10-28 17:15:04 +00:00
Bill Somerville 55dab421f8 Work around a compiler error message - hopefully
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7076 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-11 12:27:35 +00:00
Bill Somerville d8a2c1239c Make the splash screen less annoying with a permanent disable check box
The  change also  includes  a new  MultiSettings  feature that  allows
settings keys common to all configurations.  The splash screen disable
is the first of those to be used.

The MultiSettings  class has  been made  safer to  use by  ensuring it
saves  and re-enables  the current  QSettings group  when doing  multi
settings actions. This allows  access to common, across configuration,
items  while  within a  normal  settings  group without  breaking  the
MultiSettings internal implementation.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7073 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-09-11 01:09:28 +00:00
Bill Somerville 3f1ea9d10c Make message boxes more platform independent with a wrapper
Instead  of  using the  Qt  QMessageBox  class  directly a  new  class
MessageBox  (MessageBox.hpp)  has been  added  to  deal with  platform
independence issues like the title not being shown on Mac OS X.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6861 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-07-03 20:31:19 +00:00
Bill Somerville d9e4d5f25f Improve font handling when resetting configurations and when restarting
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6649 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-26 20:06:36 +00:00
Bill Somerville 169692fc0a Remove restrictions on multiple configurations maintenance
The initial conservative implementation has been replaced by a simpler
one that swaps configurations around in the settings file as specified
by the multiple configurations menu options.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6631 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-21 18:56:59 +00:00
Bill Somerville 4cebdddfe5 Add multiple configurations navigation and management
Multiple configurations  are accessed and  maintained from a  new main
window menu bar  pop up menu "Configurations". The  prior settings are
the  "Default"  entry. New  configurations  may  be added  by  cloning
existing ones.  Maintenance  and navigation is via sub  menus for each
configuration.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2016-04-17 23:39:12 +00:00