Commit Graph

10 Commits

Author SHA1 Message Date
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