Vote #81211
完了Add keyboard shortcuts for wiki toolbar buttons
0%
説明
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!
journals
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Here is the patch, any feedback is welcome!
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
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.
<pre>
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
</pre>
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
Committed the patch. Thank you.
--------------------------------------------------------------------------------
After r20729, tooltips for the buttons always displaying in English regardless of the current user's Language.
!{width: 426px; border: 1px solid grey;}.tooltips-are-untranslated.png!
The following code fixes the issue.
<pre><code class="diff">
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) {
</pre></code>
--------------------------------------------------------------------------------
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.
--------------------------------------------------------------------------------
related_issues
blocks,Closed,30459,Switch edit/preview tabs with keyboard shortcuts