diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 0f745f11..eb18dd2e 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -470,7 +470,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -478,7 +478,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -602,7 +602,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -610,7 +610,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -628,7 +628,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -636,7 +636,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -657,7 +657,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -670,7 +670,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; @@ -696,7 +696,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -709,7 +709,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -732,7 +732,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -745,7 +745,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index c3205e68..6f7128f8 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,8 +2,8 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 517; + static const int build = 520; static const String engine = "3.13.1"; - static const String buildAt = "2023-08-30 17:23:28.418667"; + static const String buildAt = "2023-08-30 19:21:56.317609"; static const int modifications = 2; } diff --git a/lib/data/store/docker.dart b/lib/data/store/docker.dart index 46be4327..04eca6a5 100644 --- a/lib/data/store/docker.dart +++ b/lib/data/store/docker.dart @@ -1,6 +1,6 @@ -import 'package:toolbox/core/persistant_store.dart'; +import '../../core/persistant_store.dart'; -class DockerStore extends PersistentStore { +class DockerStore extends PersistentStore { String? fetch(String id) { return box.get(id); } diff --git a/lib/data/store/private_key.dart b/lib/data/store/private_key.dart index a693e2d6..8bfe3f15 100644 --- a/lib/data/store/private_key.dart +++ b/lib/data/store/private_key.dart @@ -1,7 +1,7 @@ -import 'package:toolbox/core/persistant_store.dart'; -import 'package:toolbox/data/model/server/private_key_info.dart'; +import '../../core/persistant_store.dart'; +import '../model/server/private_key_info.dart'; -class PrivateKeyStore extends PersistentStore { +class PrivateKeyStore extends PersistentStore { void put(PrivateKeyInfo info) { box.put(info.id, info); } diff --git a/lib/data/store/server.dart b/lib/data/store/server.dart index f2ddec39..e9b0e34b 100644 --- a/lib/data/store/server.dart +++ b/lib/data/store/server.dart @@ -1,7 +1,7 @@ -import 'package:toolbox/core/persistant_store.dart'; -import 'package:toolbox/data/model/server/server_private_info.dart'; +import '../../core/persistant_store.dart'; +import '../model/server/server_private_info.dart'; -class ServerStore extends PersistentStore { +class ServerStore extends PersistentStore { void put(ServerPrivateInfo info) { box.put(info.id, info); } diff --git a/lib/data/store/setting.dart b/lib/data/store/setting.dart index f54de859..e212023e 100644 --- a/lib/data/store/setting.dart +++ b/lib/data/store/setting.dart @@ -6,6 +6,35 @@ import '../model/app/net_view.dart'; import '../res/default.dart'; class SettingStore extends PersistentStore { + + // ------BEGIN------ + // These settings are not displayed in the settings page + // You can edit them in the settings json editor (by long press the settings + // item in the drawer of the server tab page) + + /// Discussion #146 + late final serverTabUseOldUI = StoreProperty( + box, + 'serverTabUseOldUI', + false, + ); + + /// Time out for server connect and more... + late final timeout = StoreProperty( + box, + 'timeOut', + 5, + ); + + /// Record history of SFTP path and etc. + late final recordHistory = StoreProperty( + box, + 'recordHistory', + true, + ); + // ------END------ + + /// Convert all settings into json Map toJson() => {for (var e in box.keys) e: box.get(e)}; late final primaryColor = StoreProperty( @@ -147,20 +176,6 @@ class SettingStore extends PersistentStore { true, ); - /// Discussion #146 - late final serverTabUseOldUI = StoreProperty( - box, - 'serverTabUseOldUI', - false, - ); - - /// Time out for server connect and more... - late final timeout = StoreProperty( - box, - 'timeOut', - 5, - ); - /// Duration of [timeout] Duration get timeoutD => Duration(seconds: timeout.fetch()); } diff --git a/lib/data/store/snippet.dart b/lib/data/store/snippet.dart index 4d1702a9..62584148 100644 --- a/lib/data/store/snippet.dart +++ b/lib/data/store/snippet.dart @@ -1,7 +1,7 @@ -import 'package:toolbox/core/persistant_store.dart'; -import 'package:toolbox/data/model/server/snippet.dart'; +import '../../core/persistant_store.dart'; +import '../model/server/snippet.dart'; -class SnippetStore extends PersistentStore { +class SnippetStore extends PersistentStore { void put(Snippet snippet) { box.put(snippet.name, snippet); } diff --git a/lib/view/page/storage/sftp.dart b/lib/view/page/storage/sftp.dart index bcc683db..17d666ba 100644 --- a/lib/view/page/storage/sftp.dart +++ b/lib/view/page/storage/sftp.dart @@ -231,9 +231,14 @@ class _SftpPageState extends State with AfterLayoutMixin { context: context, title: Text(_s.goto), child: Autocomplete( - optionsBuilder: (val) => _history.sftpPath.all.where( - (element) => element.contains(val.text), - ), + optionsBuilder: (val) { + if (!_setting.recordHistory.fetch()) { + return []; + } + return _history.sftpPath.all.where( + (element) => element.contains(val.text), + ); + }, fieldViewBuilder: (_, controller, node, __) { return Input( autoFocus: true, @@ -253,7 +258,7 @@ class _SftpPageState extends State with AfterLayoutMixin { _status.path?.update(p); final suc = await _listDir(path: p); - if (suc) _history.sftpPath.add(p); + if (suc && _setting.recordHistory.fetch()) _history.sftpPath.add(p); }, icon: const Icon(Icons.gps_fixed), ); diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 9ddca1d3..72bac61c 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -474,9 +474,9 @@ baseConfigurationReference = C1C758C41C4E208965A68933 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -489,9 +489,9 @@ baseConfigurationReference = 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -504,9 +504,9 @@ baseConfigurationReference = 7CFA7DE7FABA75685DFB6948 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 517; + CURRENT_PROJECT_VERSION = 520; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.517; + MARKETING_VERSION = 1.0.520; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0;