Commit Graph

13 Commits

Author SHA1 Message Date
Bill Somerville
2ae5bb316b 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
94b4475957 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
093d1a5bf5 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
ff6e5c7d9b 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
fb307e5cdd 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
717c2da431 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
21b925bf84 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
b1b0f26026 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
cf705954a1 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
06925b6876 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
47dc054acc 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
4f2d81b963 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
8198cfd969 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