feat: support default direct download config (#735)

This commit is contained in:
Levi authored and GitHub committed 2024-09-07 14:08:17 +08:00
1 parent a1981328aa
commit c5af916952
7 files changed
+37 -1

No files matched your search

@@ -5,6 +5,8 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:gopeed/api/model/request.dart';
import '../../app/controllers/app_controller.dart';
class CreateController extends GetxController
with GetSingleTickerProviderStateMixin {
// final files = [].obs;
@@ -23,6 +25,11 @@ class CreateController extends GetxController
void onInit() {
super.onInit();
advancedTabController = TabController(length: 2, vsync: this);
directDownload.value = Get.find<AppController>()
.downloaderConfig
.value
.extra
.defaultDirectDownload;
}
@override
@@ -3,7 +3,6 @@ import 'dart:io';
import 'package:badges/badges.dart' as badges;
import 'package:flutter/material.dart';
import 'package:path/path.dart' as path;
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:gopeed/app/views/copy_button.dart';
@@ -110,6 +109,28 @@ class SettingView extends GetView<SettingController> {
],
);
});
final buildDefaultDirectDownload =
_buildConfigItem('defaultDirectDownload'.tr, () {
return appController.downloaderConfig.value.extra.defaultDirectDownload
? 'on'.tr
: 'off'.tr;
}, (Key key) {
return Container(
alignment: Alignment.centerLeft,
child: Switch(
value:
appController.downloaderConfig.value.extra.defaultDirectDownload,
onChanged: (bool value) async {
appController.downloaderConfig.update((val) {
val!.extra.defaultDirectDownload = value;
});
await debounceSave();
},
),
);
});
buildBrowserExtension() {
return ListTile(
title: Text('browserExtension'.tr),
@@ -904,6 +925,7 @@ class SettingView extends GetView<SettingController> {
children: _addDivider([
buildDownloadDir(),
buildMaxRunning(),
buildDefaultDirectDownload(),
buildBrowserExtension(),
buildAutoStartup(),
]),