From 6b9c85f7cc94ed2411c4a2fcfbd078c64e571a01 Mon Sep 17 00:00:00 2001 From: X Code Date: Fri, 21 Jan 2022 23:34:56 -0800 Subject: [PATCH] Refactor code --- lib/src/translations/toolbar.i18n.dart | 2 +- lib/src/utils/platform_helper.dart | 13 +++++++++++-- lib/src/widgets/editor.dart | 4 ++-- lib/src/widgets/text_line.dart | 7 +------ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/src/translations/toolbar.i18n.dart b/lib/src/translations/toolbar.i18n.dart index 6f3ee346..c416a0ec 100644 --- a/lib/src/translations/toolbar.i18n.dart +++ b/lib/src/translations/toolbar.i18n.dart @@ -107,7 +107,7 @@ extension Localization on String { 'Remove': '제거하기', 'Save': '저장하기', 'Zoom': '확대하기', - 'Saved': '저장되었습니다', + 'Saved': '저장되었습니다.', }, 'ru': { 'Paste a link': 'Вставить ссылку', diff --git a/lib/src/utils/platform_helper.dart b/lib/src/utils/platform_helper.dart index 93ab9d23..2f1b2b66 100644 --- a/lib/src/utils/platform_helper.dart +++ b/lib/src/utils/platform_helper.dart @@ -1,3 +1,12 @@ -import 'dart:io'; +import 'package:flutter/foundation.dart'; -bool isMobile() => Platform.isAndroid || Platform.isIOS; +bool isMobile([TargetPlatform? targetPlatform]) { + targetPlatform ??= defaultTargetPlatform; + return {TargetPlatform.iOS, TargetPlatform.android}.contains(targetPlatform); +} + +bool get isDesktop => { + TargetPlatform.macOS, + TargetPlatform.linux, + TargetPlatform.windows + }.contains(defaultTargetPlatform); diff --git a/lib/src/widgets/editor.dart b/lib/src/widgets/editor.dart index 8c654718..f36abdcc 100644 --- a/lib/src/widgets/editor.dart +++ b/lib/src/widgets/editor.dart @@ -10,6 +10,7 @@ import 'package:flutter/services.dart'; import '../models/documents/document.dart'; import '../models/documents/nodes/container.dart' as container_node; import '../models/documents/nodes/line.dart'; +import '../utils/platform_helper.dart'; import 'box.dart'; import 'controller.dart'; import 'cursor.dart'; @@ -444,8 +445,7 @@ class _QuillEditorState extends State paste: widget.enableInteractiveSelection, selectAll: widget.enableInteractiveSelection, ), - showSelectionHandles: theme.platform == TargetPlatform.iOS || - theme.platform == TargetPlatform.android, + showSelectionHandles: isMobile(theme.platform), showCursor: widget.showCursor, cursorStyle: CursorStyle( color: cursorColor, diff --git a/lib/src/widgets/text_line.dart b/lib/src/widgets/text_line.dart index 1e44669c..0e4c05cd 100644 --- a/lib/src/widgets/text_line.dart +++ b/lib/src/widgets/text_line.dart @@ -16,6 +16,7 @@ import '../models/documents/nodes/line.dart'; import '../models/documents/nodes/node.dart'; import '../models/documents/style.dart'; import '../utils/color.dart'; +import '../utils/platform_helper.dart'; import 'box.dart'; import 'cursor.dart'; import 'delegate.dart'; @@ -71,12 +72,6 @@ class _TextLineState extends State { } } - bool get isDesktop => { - TargetPlatform.macOS, - TargetPlatform.linux, - TargetPlatform.windows - }.contains(defaultTargetPlatform); - bool get canLaunchLinks { // In readOnly mode users can launch links // by simply tapping (clicking) on them