Review Request 120323: [OSX] shortcut adaptation to platform standards

René J.V. Bertin rjvbertin at gmail.com
Sun Nov 20 17:12:09 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120323/
-----------------------------------------------------------

(Updated Nov. 20, 2016, 6:12 p.m.)


Review request for KDE Software on Mac OS X and Konsole.


Changes
-------

It was more than time to update this RR...

Most of the patch now consists of replacing `Qt::CTRL` with the dedicated `Konsole::ACCEL` token, which allows `konsole` to be use the usual Command key in shortcuts while also using `Qt::DontSwapCtrlAndMeta` so shell control-sequences can work (they don't, but that's a different issue).

The patch also changes the defaults for the copy, paste, save-as and find actions, as well as for changing tabs.


Repository: konsole


Description
-------

OS X uses the Command (?, Apple) key as a modifier/opcode for keyboard accelerators aka shortcuts. This is the likely reason why Qt has swapped Qt::CTRL and Qt::META by default on that platform, but Konsole deactivates that feature. As a result, shortcuts are identical to what they are on other platforms, but not in line with what's standard on OS X.

I introduced a proxy for the standard accelerator opcode, to minimise the amount of conditional code blocks required to adapt Konsole to OS X. There is an added benefit of not using the Control key for shortcuts: `Copy` can be the usual `Command-C` instead of `Ctrl-Shift-C` on other platforms; idem for the `Paste` shortcut. I've adapted the shortcuts of a few other actions to the key combinations OS X uses for those actions.


Diffs (updated)
-----

  src/Application.cpp 5b352ec 
  src/ColorSchemeEditor.cpp f9bbe4f 
  src/CopyInputDialog.cpp 932744f 
  src/EditProfileDialog.cpp c2cca91 
  src/HistorySizeDialog.cpp dbef529 
  src/MainWindow.cpp 9b34788 
  src/RenameTabDialog.cpp 6dc2b26 
  src/Session.h 30248b3 
  src/SessionController.cpp a527e99 
  src/Shortcut_p.h PRE-CREATION 
  src/ViewManager.cpp c187e64 
  src/tests/PartManualTest.cpp 19c1c94 

Diff: https://git.reviewboard.kde.org/r/120323/diff/


Testing
-------

on OS X 10.6.8 with kdelibs 4.14.1 (git/kde4).


Thanks,

René J.V. Bertin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/konsole-devel/attachments/20161120/1d7200be/attachment-0001.html>


More information about the konsole-devel mailing list