Browse Source

merge AriaNg commit(https://github.com/mayswind/AriaNg/commit/f3cc0e5a4671afde22d7fc0a14ccf6f1651e8142)

MaysWind 3 years ago
parent
commit
49280250a3

+ 3 - 2
app/index.html

@@ -208,8 +208,9 @@
             <div class="navbar-searchbar hidden-xs">
                 <ul class="nav navbar-nav">
                     <li>
-                        <input class="form-control" type="text"
-                               ng-placeholder="('Search' | translate)" title="{{'Search' | translate}}"
+                        <input id="search-box" class="form-control" type="text"
+                               ng-placeholder="('Search' | translate)"
+                               title="{{'Search' | translate}}"
                                ng-model="searchContext.text" />
                         <div class="form-control-icon">
                             <span class="fa fa-search form-control-feedback"></span>

+ 1 - 0
app/langs/zh_Hans.txt

@@ -189,6 +189,7 @@ Updating Global Stat Interval=全局状态更新间隔
 Updating Task Information Interval=任务信息更新间隔
 Keyboard Shortcuts=键盘快捷键
 Supported Keyboard Shortcuts=支持的键盘快捷键
+Set Focus On Search Box=将焦点放在搜索框上
 Swipe Gesture=滑动手势
 Change Tasks Order by Drag-and-drop=拖拽任务排序
 Action After Creating New Tasks=创建新任务后执行操作

+ 1 - 0
app/langs/zh_Hant.txt

@@ -189,6 +189,7 @@ Updating Global Stat Interval=全域狀態更新間隔
 Updating Task Information Interval=工作資訊更新間隔
 Keyboard Shortcuts=鍵盤快速鍵
 Supported Keyboard Shortcuts=支援的鍵盤快速鍵
+Set Focus On Search Box=將焦點設在搜尋框上
 Swipe Gesture=滑動手勢
 Change Tasks Order by Drag-and-drop=拖拽工作排序
 Action After Creating New Tasks=建立新工作後執行操作

+ 1 - 0
app/scripts/config/defaultLanguage.js

@@ -193,6 +193,7 @@
             'Updating Task Information Interval': 'Updating Task Information Interval',
             'Keyboard Shortcuts': 'Keyboard Shortcuts',
             'Supported Keyboard Shortcuts': 'Supported Keyboard Shortcuts',
+            'Set Focus On Search Box': 'Set Focus On Search Box',
             'Swipe Gesture': 'Swipe Gesture',
             'Change Tasks Order by Drag-and-drop': 'Change Tasks Order by Drag-and-drop',
             'Action After Creating New Tasks': 'Action After Creating New Tasks',

+ 19 - 2
app/scripts/core/root.js

@@ -219,7 +219,10 @@
         $rootScope.currentTheme = 'light';
 
         $rootScope.searchContext = {
-            text: ''
+            text: '',
+            setSearchBoxFocused: function () {
+                angular.element('#search-box').focus();
+            }
         };
 
         $rootScope.taskContext = {
@@ -432,7 +435,17 @@
             return task && task.status === 'error' && task.errorDescription && !task.bittorrent;
         };
 
-        $rootScope.keydownActions = {};
+        $rootScope.keydownActions = {
+            find: function (event) {
+                if (event.preventDefault) {
+                    event.preventDefault();
+                }
+
+                $rootScope.searchContext.setSearchBoxFocused();
+
+                return false;
+            }
+        };
 
         $rootScope.swipeActions = {
             leftSwipe: function () {
@@ -501,6 +514,10 @@
                 if (angular.isFunction($rootScope.keydownActions.selectAll)) {
                     return $rootScope.keydownActions.selectAll(event);
                 }
+            } else if (ariaNgKeyboardService.isCtrlFPressed(event)) {
+                if (angular.isFunction($rootScope.keydownActions.find)) {
+                    return $rootScope.keydownActions.find(event);
+                }
             } else if (ariaNgKeyboardService.isDeletePressed(event) && !isTextboxOrTextareaFocus) {
                 if (angular.isFunction($rootScope.keydownActions.delete)) {
                     return $rootScope.keydownActions.delete(event);

+ 3 - 0
app/scripts/services/ariaNgKeyboardService.js

@@ -31,6 +31,9 @@
             isCtrlAPressed: function (event) {
                 return (isModifierKeyPressed(event) && (event.code === 'KeyA' || getKeyCode(event) === 65)); // Ctrl+A / Command+A
             },
+            isCtrlFPressed: function (event) {
+                return (isModifierKeyPressed(event) && (event.code === 'KeyF' || getKeyCode(event) === 70)); // Ctrl+F / Command+F
+            },
             isCtrlEnterPressed: function (event) {
                 return (isModifierKeyPressed(event) && (event.code === 'Enter' || getKeyCode(event) === 13)); // Ctrl+Enter / Command+Return
             },

+ 1 - 0
app/views/settings-ariang.html

@@ -163,6 +163,7 @@
                                data-content="{{('Supported Keyboard Shortcuts' | translate) + ':<br/>' +
                                ('Remove Selected Task' | translate) + ': <span class=\'keyboard-key\'>Delete</span><br/>' +
                                ('Select All Tasks' | translate) + ': ' + (!context.isMacKeyboardLike ? '<span class=\'keyboard-key\'>Ctrl</span>+<span class=\'keyboard-key\'>A</span>' : '<span class=\'keyboard-key\'>Command</span>+<span class=\'keyboard-key\'>A</span>') + '<br/>' +
+                               ('Set Focus On Search Box' | translate) + ': ' + (!context.isMacKeyboardLike ? '<span class=\'keyboard-key\'>Ctrl</span>+<span class=\'keyboard-key\'>F</span>' : '<span class=\'keyboard-key\'>Command</span>+<span class=\'keyboard-key\'>F</span>') + '<br/>' +
                                ('Download Now' | translate) + ': ' + (!context.isMacKeyboardLike ? '<span class=\'keyboard-key\'>Ctrl</span>+<span class=\'keyboard-key\'>Enter</span>' : '<span class=\'keyboard-key\'>Command</span>+<span class=\'keyboard-key\'>Return</span>')}}"></i>
                         </div>
                         <div class="setting-value col-sm-8">