プロジェクト

全般

プロフィール

Vote #81211

完了

Add keyboard shortcuts for wiki toolbar buttons

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
UI_10
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
10
version_id:
152
issue_org_id:
34549
author_id:
107353
assigned_to_id:
332
comments:
17
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

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

Admin Redmine さんが3年以上前に更新

  • カテゴリUI_10 にセット
  • 対象バージョン4.2.0_152 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0