Feature #34549
closed
Add keyboard shortcuts for wiki toolbar buttons
Added by Marius BĂLTEANU about 4 years ago.
Updated about 4 years ago.
Description
Add keyboard shortcuts for the following buttons from wiki toolbar:
Action |
Keyboard shortcut |
Add bold |
Ctrl/⌘ + b |
Add italic |
Ctrl/⌘ + i |
Add underline |
Ctrl/⌘ + u |
⌘: should work only on osx
Ctrl: should work only on windows/linux.
Any other proposals are welcome!
Files
- Subject changed from Add keyboard shortcuts for wiki toolbar to Add keyboard shortcuts for wiki toolbar buttons
- Description updated (diff)
I like the feature. Since the key combination ⌘ + b is available in so many apps, I sometimes mistakenly use the key combination in Redmine.
Ctrl: should work only on windows/linux.
It is really important. Ctrl + B is already used as a shortcut key of the left arrow key in macOS.
- File 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch added
Here is an almost ready version of the patch for testing purposes. Must be applied on top of #30459.
I need to test the feature on multiple browsers/devices, add system tests and improve the code if possible.
- Blocked by Feature #30459: Switch edit/preview tabs with keyboard shortcuts added
- File deleted (
0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch)
- File 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch added
- File deleted (
0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch)
Here is the patch, any feedback is welcome!
- Assignee deleted (
Marius BĂLTEANU)
- Category set to UI
- Target version changed from Candidate for next major release to 4.2.0
I tried out the patch and found it works fine and is quite useful.
Setting the target version to 4.2.0.
Thank you for writing the patch but I found some tests fail on macOS. This is because the tests use a control key. As written in the description, control key does not work on macOS.
laphroaig:redmine-trunk maeda$ ruby test/system/keyboard_shortcuts_test.rb
Run options: --seed 58685
# Running:
Capybara starting Puma...
* Version 5.1.1 , codename: At Your Service
* Min threads: 0, max threads: 4
* Listening on http://127.0.0.1:64266
[Screenshot]: tmp/screenshots/failures_test_keyboard_shortcuts_for_wiki_toolbar_buttons_using_textile.png
F
Failure:
InlineAutocompleteSystemTest#test_keyboard_shortcuts_for_wiki_toolbar_buttons_using_textile [test/system/keyboard_shortcuts_test.rb:78]:
Expected: "**"
Actual: ""
bin/rails test test/system/keyboard_shortcuts_test.rb:72
[Screenshot]: tmp/screenshots/failures_test_keyboard_shortcuts_keys_should_be_shown_in_button_title.png
F
Failure:
InlineAutocompleteSystemTest#test_keyboard_shortcuts_keys_should_be_shown_in_button_title [test/system/keyboard_shortcuts_test.rb:117]:
Expected: "Strong (Ctrl+B)"
Actual: "Strong (⌘B)"
bin/rails test test/system/keyboard_shortcuts_test.rb:112
.[Screenshot]: tmp/screenshots/failures_test_keyboard_shortcuts_for_wiki_toolbar_buttons_using_markdown.png
F
Failure:
InlineAutocompleteSystemTest#test_keyboard_shortcuts_for_wiki_toolbar_buttons_using_markdown [test/system/keyboard_shortcuts_test.rb:98]:
Expected: "****"
Actual: ""
bin/rails test test/system/keyboard_shortcuts_test.rb:92
.
Finished in 14.276589s, 0.3502 runs/s, 0.9106 assertions/s.
5 runs, 13 assertions, 3 failures, 0 errors, 0 skips
Thanks Go Maeda for catching this issue, I had in mind only to pass on Linux instances (I've docker on my local env). Updated a new version of the patch that should pass on OSX, but I didn't test it, please let me know how it goes.
The new version adds the following changes:
1. Adds a new method osx?
on lib/platform that returns true if RUBY_PLATFORM
is darwin.
2. In the tests, the modifier key is returned based on osx?
.
Marius BALTEANU wrote:
The new version adds the following changes:
1. Adds a new method osx?
on lib/platform that returns true if RUBY_PLATFORM
is darwin.
2. In the tests, the modifier key is returned based on osx?
.
Thank you, it now passes all tests also on macOS. I will commit the patch soon.
- Status changed from New to Closed
- Assignee set to Go MAEDA
- Resolution set to Fixed
Committed the patch. Thank you.
After r20729, tooltips for the buttons always displaying in English regardless of the current user's Language.

The following code fixes the issue.
diff --git a/public/javascripts/jstoolbar/jstoolbar.js b/public/javascripts/jstoolbar/jstoolbar.js
index ed6605965..04c35fa95 100644
--- a/public/javascripts/jstoolbar/jstoolbar.js
+++ b/public/javascripts/jstoolbar/jstoolbar.js
@@ -250,10 +250,16 @@ jsToolBar.prototype = {
return b;
},
buttonTitleWithShortcut: function(title, shortcutKey) {
+ if(typeof jsToolBar.strings == 'undefined') {
+ var translatedTitle = title || null;
+ } else {
+ var translatedTitle = jsToolBar.strings[title] || title || null;
+ }
+
if (isMac) {
- return title + " (⌘" + shortcutKey.toUpperCase() + ")";
+ return translatedTitle + " (⌘" + shortcutKey.toUpperCase() + ")";
} else {
- return title + " (Ctrl+" + shortcutKey.toUpperCase() + ")";
+ return translatedTitle + " (Ctrl+" + shortcutKey.toUpperCase() + ")";
}
},
space: function(toolName) {
- Status changed from Reopened to Closed
Go MAEDA wrote:
After r20729, tooltips for the buttons always displaying in English regardless of the current user's Language.
Committed the fix in r20743.
Also available in: Atom
PDF