Feature #34549
closedAdd keyboard shortcuts for wiki toolbar buttons
Added by Marius BĂLTEANU almost 4 years ago. Updated almost 4 years ago.
0%
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
0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch (7.96 KB) 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch | Marius BĂLTEANU, 2021-01-09 14:22 | ||
0001-Add-keyboard-shortcuts-for-bold-italic-and-underline_v2.patch (8.67 KB) 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline_v2.patch | Marius BĂLTEANU, 2021-01-25 01:22 | ||
tooltips-are-untranslated.png (44.3 KB) tooltips-are-untranslated.png | Go MAEDA, 2021-02-04 05:49 |
Related issues
Updated by Marius BĂLTEANU almost 4 years ago
- Subject changed from Add keyboard shortcuts for wiki toolbar to Add keyboard shortcuts for wiki toolbar buttons
Updated by Go MAEDA almost 4 years ago
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.
Updated by Marius BĂLTEANU almost 4 years ago
- 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.
Updated by Marius BĂLTEANU almost 4 years ago
- Blocked by Feature #30459: Switch edit/preview tabs with keyboard shortcuts added
Updated by Marius BĂLTEANU almost 4 years ago
- File deleted (
0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch)
Updated by Marius BĂLTEANU almost 4 years ago
- File 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch added
Updated by Marius BĂLTEANU almost 4 years ago
- File deleted (
0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch)
Updated by Marius BĂLTEANU almost 4 years ago
- File 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline.patch added
Here is the patch, any feedback is welcome!
Updated by Marius BĂLTEANU almost 4 years ago
- Assignee deleted (
Marius BĂLTEANU)
Updated by Go MAEDA almost 4 years ago
- 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.
Updated by Go MAEDA almost 4 years ago
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
Updated by Marius BĂLTEANU almost 4 years ago
- File 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline_v2.patch 0001-Add-keyboard-shortcuts-for-bold-italic-and-underline_v2.patch added
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?
.
Updated by Go MAEDA almost 4 years ago
Marius BALTEANU wrote:
The new version adds the following changes:
1. Adds a new methodosx?
on lib/platform that returns true ifRUBY_PLATFORM
is darwin.
2. In the tests, the modifier key is returned based onosx?
.
Thank you, it now passes all tests also on macOS. I will commit the patch soon.
Updated by Go MAEDA almost 4 years ago
- Status changed from New to Closed
- Assignee set to Go MAEDA
- Resolution set to Fixed
Committed the patch. Thank you.
Updated by Go MAEDA almost 4 years ago
- File tooltips-are-untranslated.png tooltips-are-untranslated.png added
- Status changed from Closed to Reopened
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) {