Browse Source

merge https://github.com/mayswind/AriaNg/commit/06d6ee0a8e6d1c2b83fa4559ad64422ce9b35a91

MaysWind 6 years ago
parent
commit
f21c8b60db

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

@@ -39,6 +39,7 @@
         rpcListDisplayOrder: 'recentlyUsed',
         afterCreatingNewTask: 'task-list',
         removeOldTaskAfterRetrying: false,
+        confirmTaskRemoval: true,
         afterRetryingTask: 'task-list-downloading',
         displayOrder: 'default:asc',
         fileListDisplayOrder: 'default:asc',

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

@@ -186,6 +186,7 @@
             'Navigate to Downloading Tasks Page': 'Navigate to Downloading Tasks Page',
             'Stay on Current Page': 'Stay on Current Page',
             'Remove Old Tasks After Retrying': 'Remove Old Tasks After Retrying',
+            'Confirm Task Removal': 'Confirm Task Removal',
             'RPC List Display Order': 'RPC List Display Order',
             'Recently Used': 'Recently Used',
             'RPC Alias': 'RPC Alias',

+ 8 - 2
app/scripts/controllers/main.js

@@ -294,7 +294,7 @@
                 return;
             }
 
-            ariaNgLocalizationService.confirm('Confirm Remove', 'Are you sure you want to remove the selected task?', 'warning', function () {
+            var removeTasks = function () {
                 $rootScope.loadPromise = aria2TaskService.removeTasks(tasks, function (response) {
                     if (response.hasError && tasks.length > 1) {
                         ariaNgLocalizationService.showError('Failed to remove some task(s).');
@@ -314,7 +314,13 @@
                         }
                     }
                 }, (tasks.length > 1));
-            });
+            };
+
+            if (ariaNgSettingService.getConfirmTaskRemoval()) {
+                ariaNgLocalizationService.confirm('Confirm Remove', 'Are you sure you want to remove the selected task?', 'warning', removeTasks);
+            } else {
+                removeTasks();
+            };
         };
 
         $scope.clearStoppedTasks = function () {

+ 4 - 0
app/scripts/controllers/settings-ariang.js

@@ -213,6 +213,10 @@
             ariaNgSettingService.setRemoveOldTaskAfterRetrying(value);
         };
 
+        $scope.setConfirmTaskRemoval = function (value) {
+            ariaNgSettingService.setConfirmTaskRemoval(value);
+        };
+
         $scope.setAfterRetryingTask = function (value) {
             ariaNgSettingService.setAfterRetryingTask(value);
         };

+ 6 - 0
app/scripts/services/ariaNgSettingService.js

@@ -381,6 +381,12 @@
             setRemoveOldTaskAfterRetrying: function (value) {
                 setOption('removeOldTaskAfterRetrying', value);
             },
+            getConfirmTaskRemoval: function () {
+                return getOption('confirmTaskRemoval');
+            },
+            setConfirmTaskRemoval: function (value) {
+                setOption('confirmTaskRemoval', value);
+            },
             getAfterRetryingTask: function () {
                 return getOption('afterRetryingTask');
             },

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

@@ -178,6 +178,17 @@
                             </select>
                         </div>
                     </div>
+                    <div class="row">
+                        <div class="setting-key setting-key-without-desc col-sm-4">
+                            <span translate>Confirm Task Removal</span>
+                        </div>
+                        <div class="setting-value col-sm-8">
+                            <select class="form-control" style="width: 100%;" ng-model="context.settings.confirmTaskRemoval"
+                                    ng-change="setConfirmTaskRemoval(context.settings.confirmTaskRemoval)"
+                                    ng-options="option.value as (option.name | translate) for option in context.trueFalseOptions">
+                            </select>
+                        </div>
+                    </div>
                     <div class="row">
                         <div class="setting-key setting-key-without-desc col-sm-4">
                             <span translate>Import / Export AriaNg Settings</span>