← Back to team overview

kicad-developers team mailing list archive

Re: PATCH: OS X copy/close bug fix

 

as far as i can see in my version yes, this can be specified in wxFormBuilder as separate fields ID and LABEL



On 13/07/16 02:05, Simon Wells wrote:
is this settable in wxformbuilder as _base.cpp/h is autogenerated and
can't be changed manually

On Wed, Jul 13, 2016 at 11:32 AM, Brano Panak <bpanak@xxxxxxxxx> wrote:
i tried solution from wx forum, modified just for test
pcbnew/dimensions/grid file:

dialog_set_grid_base.cpp

m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL );
with

m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL , _T("Cancel"));
and look this works as supposed in my setup.

could you test in on different platforms and if this is ok, i can apply it
elsewhere.

regards

Brano



On 22/06/16 16:59, Wayne Stambaugh wrote:
On 6/22/2016 10:33 AM, Collin Anderson wrote:
I just discovered that OS X does in fact have similar behavior for
buttons.  In most dialog windows, hitting command and the first letter of
the text will 'click' the button, but this only works when the letter
doesn't conflict with other shortcuts (like command-c or command-v for
example).

To get around that, it just remaps close/cancel to command-period
(command-.) instead of command-C.

Something weird is going on with how wxWidgets handles this.  I think the
above behavior is done deep in the Cocoa API or something, and is not
something any program needs to specifically implement.  I say this because
certain windows in KiCad actually have this correct behavior, even the first
letter activating the button.

More troubling though is I just noticed that in windows where this
behavior is not working, other things are broken too.  In OS X, you can use
tab and the arrow keys to highlight widgets like buttons, text fields,
whatever.  Additional capabilities can be enabled in the accessibility
section of system preferences, and for many vision or motor impaired users,
this ability to highlight widgets is vital to them being able to use
software.  For example, you can have text-to-speech enabled such that it
will read the text of a button currently highlighted.

Anyway, this functionality is completely absent in any window where
button shortcut behavior is also broken.  It is actually impossible to high
light or operate the GUI without a mouse in these windows.

HOWEVER, all of that works flawlessly in the windows with the shortcuts
working.

This seems completely separate from the command-c closing issue, and
adding or removing the "&" to the button string does not influence it.  I
think its probably something to do with the window type.

Examples of windows with correct behavior:

         Preferences in pcbnew
         Most of the dimension dialogs in pcbnew
         Color selection window for layers (you can also hit command-A and
it will click apply)

Non-working windows:
         Preferences in eeschema
         most more complex windows (component library editor, paths
editor, netlist import/export, etc).
I looked at some of the dialogs you've listed and they are all are
derived from DIALOG_SHIM so it's not that.  It may be worth looking at
each dialog to see what events we are intercepting and whether or not
that is the issue.  The fact that some dialogs work properly and others
do not makes me think that it could be an issue with our dialog design
rather than an issue with wxWidgets.



I suppose the 'proper' solution would be to disable wx's direct handling
of button shortcuts for OS X, while figuring out whatever it is that is
letting OS X perform native behavior in some windows or not others.


Sorry, this is all just observational stuff, I can't really be of much
help until or if I get a better handle on wx.

That said, as an OS X user, I didn't even notice any of this until today,
and I've been using KiCad for a year+ now.  So its hardly mission critical.
I also doubt there is anyone who is vision or motor impaired who is doing
EDA tasks with KiCad.

Still odd though.

It may not be that odd.  Some of this is due to wxGrid (and I suspect
wxListCtlr and wxListView) behavior.  wxGrid intercepts the usual return
key behavior when you are editing a grid cell so the default button (OK)
never receives the return key.  This isn't that unusual.  I've tested
other non-wxWidgets applications with grids in dialog boxes and the
behavior is similar.

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp



Follow ups

References