Revert "增加剪切板控制"

This reverts commit f389f32d
This commit is contained in:
jyuesong
2022-01-21 10:01:40 +08:00
parent 83cd53d23c
commit 2932ad3a64
10 changed files with 5 additions and 103 deletions

View File

@@ -4,4 +4,3 @@ String spUserName = "username";
String spPassWord = "password"; String spPassWord = "password";
String spTheme = "dart_mode"; String spTheme = "dart_mode";
String spSecretLogined = "secret_logined"; String spSecretLogined = "secret_logined";
String spForbidClipBoard = "forbid_read_clipboard";

View File

@@ -8,16 +8,11 @@ class UserInfoViewModel {
String? _userName; String? _userName;
String? _passWord; String? _passWord;
bool _useSecertLogined = false; bool _useSecertLogined = false;
bool _forbidReadClipBoard = false;
UserInfoViewModel() { UserInfoViewModel() {
String userInfoJson = SpUtil.getString(spUserInfo); String userInfoJson = SpUtil.getString(spUserInfo);
_userName = SpUtil.getString(spUserName); _userName = SpUtil.getString(spUserName);
_passWord = SpUtil.getString(spPassWord); _passWord = SpUtil.getString(spPassWord);
_forbidReadClipBoard = SpUtil.getBool(
spForbidClipBoard,
defValue: false,
);
_useSecertLogined = SpUtil.getBool(spSecretLogined, defValue: false); _useSecertLogined = SpUtil.getBool(spSecretLogined, defValue: false);
_host = SpUtil.getString(spHost, defValue: ''); _host = SpUtil.getString(spHost, defValue: '');
@@ -39,11 +34,6 @@ class UserInfoViewModel {
SpUtil.putString(spPassWord, password); SpUtil.putString(spPassWord, password);
} }
void forbidReadClipBoard(bool forbid) {
_forbidReadClipBoard = forbid;
SpUtil.putBool(spForbidClipBoard, forbid);
}
void useSecretLogin(bool use) { void useSecretLogin(bool use) {
_useSecertLogined = use; _useSecertLogined = use;
SpUtil.putBool(spSecretLogined, _useSecertLogined); SpUtil.putBool(spSecretLogined, _useSecertLogined);
@@ -64,8 +54,6 @@ class UserInfoViewModel {
bool get useSecretLogined => _useSecertLogined; bool get useSecretLogined => _useSecertLogined;
bool get forbidReadClipBoarded => _forbidReadClipBoard;
bool isLogined() { bool isLogined() {
return token != null && token!.isNotEmpty; return token != null && token!.isNotEmpty;
} }

View File

@@ -4,12 +4,9 @@ import 'package:qinglong_app/base/http/api.dart';
import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart'; import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/theme.dart'; import 'package:qinglong_app/base/theme.dart';
import 'package:qinglong_app/base/userinfo_viewmodel.dart';
import 'package:qinglong_app/module/config/config_viewmodel.dart'; import 'package:qinglong_app/module/config/config_viewmodel.dart';
import 'package:qinglong_app/utils/extension.dart'; import 'package:qinglong_app/utils/extension.dart';
import '../../main.dart';
class ConfigEditPage extends ConsumerStatefulWidget { class ConfigEditPage extends ConsumerStatefulWidget {
final String content; final String content;
final String title; final String title;
@@ -47,7 +44,8 @@ class _ConfigEditPageState extends ConsumerState<ConfigEditPage> {
actions: [ actions: [
InkWell( InkWell(
onTap: () async { onTap: () async {
HttpResponse<NullResponse> response = await Api.saveFile(widget.title, _controller.text); HttpResponse<NullResponse> response =
await Api.saveFile(widget.title, _controller.text);
if (response.success) { if (response.success) {
"提交成功".toast(); "提交成功".toast();
ref.read(configProvider).loadContent(widget.title); ref.read(configProvider).loadContent(widget.title);
@@ -80,7 +78,6 @@ class _ConfigEditPageState extends ConsumerState<ConfigEditPage> {
), ),
child: SingleChildScrollView( child: SingleChildScrollView(
child: TextField( child: TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
focusNode: node, focusNode: node,
style: TextStyle( style: TextStyle(
color: ref.read(themeProvider).themeColor.descColor(), color: ref.read(themeProvider).themeColor.descColor(),

View File

@@ -3,13 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:qinglong_app/base/http/api.dart'; import 'package:qinglong_app/base/http/api.dart';
import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart'; import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/userinfo_viewmodel.dart';
import 'package:qinglong_app/module/env/env_bean.dart'; import 'package:qinglong_app/module/env/env_bean.dart';
import 'package:qinglong_app/module/env/env_viewmodel.dart'; import 'package:qinglong_app/module/env/env_viewmodel.dart';
import 'package:qinglong_app/utils/extension.dart'; import 'package:qinglong_app/utils/extension.dart';
import '../../main.dart';
class AddEnvPage extends ConsumerStatefulWidget { class AddEnvPage extends ConsumerStatefulWidget {
final EnvBean? envBean; final EnvBean? envBean;
@@ -101,7 +98,6 @@ class _AddEnvPageState extends ConsumerState<AddEnvPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
focusNode: focusNode, focusNode: focusNode,
controller: _nameController, controller: _nameController,
decoration: const InputDecoration( decoration: const InputDecoration(
@@ -131,7 +127,6 @@ class _AddEnvPageState extends ConsumerState<AddEnvPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
controller: _valueController, controller: _valueController,
maxLines: 8, maxLines: 8,
minLines: 1, minLines: 1,
@@ -162,7 +157,6 @@ class _AddEnvPageState extends ConsumerState<AddEnvPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
controller: _remarkController, controller: _remarkController,
decoration: const InputDecoration( decoration: const InputDecoration(
hintText: "请输入备注", hintText: "请输入备注",

View File

@@ -142,7 +142,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
onChanged: (_) { onChanged: (_) {
setState(() {}); setState(() {});
}, },
@@ -178,7 +177,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
onChanged: (_) { onChanged: (_) {
setState(() {}); setState(() {});
}, },
@@ -200,7 +198,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
onChanged: (_) { onChanged: (_) {
setState(() {}); setState(() {});
}, },
@@ -236,7 +233,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
onChanged: (_) { onChanged: (_) {
setState(() {}); setState(() {});
}, },
@@ -258,7 +254,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
onChanged: (_) { onChanged: (_) {
setState(() {}); setState(() {});
}, },
@@ -281,9 +276,7 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
Padding( Padding(
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(horizontal: 25,),
horizontal: 25,
),
child: Row( child: Row(
children: [ children: [
Checkbox( Checkbox(
@@ -314,9 +307,7 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
), ),
), ),
SizedBox( SizedBox(width: 10,),
width: 10,
),
], ],
), ),
), ),
@@ -325,9 +316,7 @@ class _LoginPageState extends ConsumerState<LoginPage> {
), ),
Container( Container(
alignment: Alignment.center, alignment: Alignment.center,
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(horizontal: 40,),
horizontal: 40,
),
child: SizedBox( child: SizedBox(
width: MediaQuery.of(context).size.width - 80, width: MediaQuery.of(context).size.width - 80,
child: IgnorePointer( child: IgnorePointer(
@@ -407,7 +396,6 @@ class _LoginPageState extends ConsumerState<LoginPage> {
onChanged: (value) { onChanged: (value) {
twoFact = value; twoFact = value;
}, },
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
maxLines: 1, maxLines: 1,
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
decoration: const InputDecoration( decoration: const InputDecoration(

View File

@@ -4,12 +4,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:qinglong_app/base/http/api.dart'; import 'package:qinglong_app/base/http/api.dart';
import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart'; import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/userinfo_viewmodel.dart';
import 'package:qinglong_app/module/others/dependencies/dependency_viewmodel.dart'; import 'package:qinglong_app/module/others/dependencies/dependency_viewmodel.dart';
import 'package:qinglong_app/utils/extension.dart'; import 'package:qinglong_app/utils/extension.dart';
import '../../../main.dart';
class AddDependencyPage extends ConsumerStatefulWidget { class AddDependencyPage extends ConsumerStatefulWidget {
const AddDependencyPage({ const AddDependencyPage({
Key? key, Key? key,
@@ -135,7 +132,6 @@ class _AddDependencyPageState extends ConsumerState<AddDependencyPage> {
height: 10, height: 10,
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
controller: _nameController, controller: _nameController,
decoration: const InputDecoration( decoration: const InputDecoration(
contentPadding: EdgeInsets.fromLTRB(0, 5, 0, 5), contentPadding: EdgeInsets.fromLTRB(0, 5, 0, 5),

View File

@@ -278,53 +278,6 @@ class _OtherPageState extends ConsumerState<OtherPage> {
const Divider( const Divider(
indent: 15, indent: 15,
), ),
Padding(
padding: const EdgeInsets.only(
left: 15,
right: 15,
top: 5,
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"禁止读取剪切板",
style: TextStyle(
color: ref.watch(themeProvider).themeColor.titleColor(),
fontSize: 16,
),
),
Text(
"开启后输入框无法使用系统自带的复制粘贴功能,输入法的复制粘贴功能不受影响",
style: TextStyle(
color: ref.watch(themeProvider).themeColor.descColor(),
fontSize: 12,
),
),
],
),
),
CupertinoSwitch(
value: getIt<UserInfoViewModel>().forbidReadClipBoarded,
onChanged: (forbid) {
getIt<UserInfoViewModel>().forbidReadClipBoard(forbid);
setState(() {
});
},
),
],
),
),
const Divider(
indent: 15,
),
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
onTap: () { onTap: () {

View File

@@ -4,12 +4,9 @@ import 'package:qinglong_app/base/http/api.dart';
import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart'; import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/theme.dart'; import 'package:qinglong_app/base/theme.dart';
import 'package:qinglong_app/base/userinfo_viewmodel.dart';
import 'package:qinglong_app/module/config/config_viewmodel.dart'; import 'package:qinglong_app/module/config/config_viewmodel.dart';
import 'package:qinglong_app/utils/extension.dart'; import 'package:qinglong_app/utils/extension.dart';
import '../../../main.dart';
class ScriptEditPage extends ConsumerStatefulWidget { class ScriptEditPage extends ConsumerStatefulWidget {
final String content; final String content;
final String title; final String title;
@@ -80,7 +77,6 @@ class _ScriptEditPageState extends ConsumerState<ScriptEditPage> {
), ),
child: SingleChildScrollView( child: SingleChildScrollView(
child: TextField( child: TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
focusNode: node, focusNode: node,
style: TextStyle( style: TextStyle(
color: ref.read(themeProvider).themeColor.descColor(), color: ref.read(themeProvider).themeColor.descColor(),

View File

@@ -92,7 +92,6 @@ class _UpdatePasswordPageState extends ConsumerState<UpdatePasswordPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
focusNode: focusNode, focusNode: focusNode,
controller: _nameController, controller: _nameController,
decoration: const InputDecoration( decoration: const InputDecoration(
@@ -123,7 +122,6 @@ class _UpdatePasswordPageState extends ConsumerState<UpdatePasswordPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
obscureText: true, obscureText: true,
controller: _passwordController, controller: _passwordController,
maxLines: 1, maxLines: 1,
@@ -155,7 +153,6 @@ class _UpdatePasswordPageState extends ConsumerState<UpdatePasswordPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: false,
obscureText: true, obscureText: true,
maxLines: 1, maxLines: 1,
controller: _passwordAgainController, controller: _passwordAgainController,

View File

@@ -3,13 +3,10 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:qinglong_app/base/http/api.dart'; import 'package:qinglong_app/base/http/api.dart';
import 'package:qinglong_app/base/http/http.dart'; import 'package:qinglong_app/base/http/http.dart';
import 'package:qinglong_app/base/ql_app_bar.dart'; import 'package:qinglong_app/base/ql_app_bar.dart';
import 'package:qinglong_app/base/userinfo_viewmodel.dart';
import 'package:qinglong_app/module/task/task_bean.dart'; import 'package:qinglong_app/module/task/task_bean.dart';
import 'package:qinglong_app/module/task/task_viewmodel.dart'; import 'package:qinglong_app/module/task/task_viewmodel.dart';
import 'package:qinglong_app/utils/extension.dart'; import 'package:qinglong_app/utils/extension.dart';
import '../../main.dart';
class AddTaskPage extends ConsumerStatefulWidget { class AddTaskPage extends ConsumerStatefulWidget {
final TaskBean? taskBean; final TaskBean? taskBean;
@@ -101,7 +98,6 @@ class _AddTaskPageState extends ConsumerState<AddTaskPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
focusNode: focusNode, focusNode: focusNode,
controller: _nameController, controller: _nameController,
decoration: const InputDecoration( decoration: const InputDecoration(
@@ -132,7 +128,6 @@ class _AddTaskPageState extends ConsumerState<AddTaskPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
controller: _commandController, controller: _commandController,
maxLines: 4, maxLines: 4,
minLines: 1, minLines: 1,
@@ -164,7 +159,6 @@ class _AddTaskPageState extends ConsumerState<AddTaskPage> {
), ),
), ),
TextField( TextField(
enableInteractiveSelection: !getIt<UserInfoViewModel>().forbidReadClipBoarded,
controller: _cronController, controller: _cronController,
decoration: const InputDecoration( decoration: const InputDecoration(
contentPadding: EdgeInsets.fromLTRB(0, 5, 0, 5), contentPadding: EdgeInsets.fromLTRB(0, 5, 0, 5),