From 4788f1dddc4b23b1be32f4121c744a2ca075b951 Mon Sep 17 00:00:00 2001 From: lollipopkit Date: Thu, 10 Aug 2023 18:05:24 +0800 Subject: [PATCH] #116 fix --- ios/Runner.xcodeproj/project.pbxproj | 24 ++++++++++++------------ lib/data/provider/docker.dart | 2 +- lib/data/res/build_data.dart | 6 +++--- lib/data/store/docker.dart | 6 +++--- lib/view/page/backup.dart | 4 ++-- lib/view/page/docker.dart | 24 +++++++++++++++--------- lib/view/page/storage/sftp.dart | 25 ++++++++++++++----------- macos/Runner.xcodeproj/project.pbxproj | 12 ++++++------ 8 files changed, 56 insertions(+), 47 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 238e398d..39b98f8d 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 = 458; + CURRENT_PROJECT_VERSION = 459; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -478,7 +478,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.458; + MARKETING_VERSION = 1.0.459; 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 = 458; + CURRENT_PROJECT_VERSION = 459; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -610,7 +610,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.458; + MARKETING_VERSION = 1.0.459; 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 = 458; + CURRENT_PROJECT_VERSION = 459; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -636,7 +636,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.458; + MARKETING_VERSION = 1.0.459; 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 = 458; + CURRENT_PROJECT_VERSION = 459; 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.458; + MARKETING_VERSION = 1.0.459; 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 = 458; + CURRENT_PROJECT_VERSION = 459; 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.458; + MARKETING_VERSION = 1.0.459; 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 = 458; + CURRENT_PROJECT_VERSION = 459; 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.458; + MARKETING_VERSION = 1.0.459; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/lib/data/provider/docker.dart b/lib/data/provider/docker.dart index f396227f..ea5754e8 100644 --- a/lib/data/provider/docker.dart +++ b/lib/data/provider/docker.dart @@ -198,7 +198,7 @@ class DockerProvider extends ChangeNotifier { // judge whether to use DOCKER_HOST String _wrap(String cmd) { - final dockerHost = _dockerStore.getDockerHost(hostId!); + final dockerHost = _dockerStore.fetch(hostId!); if (dockerHost == null || dockerHost.isEmpty) { return cmd.withLangExport; } diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index ac056333..08287690 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 = 458; + static const int build = 459; static const String engine = "3.10.6"; - static const String buildAt = "2023-08-10 00:04:32.937108"; - static const int modifications = 5; + static const String buildAt = "2023-08-10 00:38:01.678410"; + static const int modifications = 3; } diff --git a/lib/data/store/docker.dart b/lib/data/store/docker.dart index 3ee8d14c..46be4327 100644 --- a/lib/data/store/docker.dart +++ b/lib/data/store/docker.dart @@ -1,15 +1,15 @@ import 'package:toolbox/core/persistant_store.dart'; class DockerStore extends PersistentStore { - String? getDockerHost(String id) { + String? fetch(String id) { return box.get(id); } - void setDockerHost(String id, String host) { + void put(String id, String host) { box.put(id, host); } - Map fetch() { + Map fetchAll() { return box.toMap().cast(); } } diff --git a/lib/view/page/backup.dart b/lib/view/page/backup.dart index 599a406a..fda18366 100644 --- a/lib/view/page/backup.dart +++ b/lib/view/page/backup.dart @@ -89,7 +89,7 @@ class BackupPage extends StatelessWidget { spis: _server.fetch(), snippets: _snippet.fetch(), keys: _privateKey.fetch(), - dockerHosts: _dockerHosts.fetch(), + dockerHosts: _dockerHosts.fetchAll(), ), ), ); @@ -170,7 +170,7 @@ class BackupPage extends StatelessWidget { _privateKey.put(s); } for (final k in backup.dockerHosts.keys) { - _dockerHosts.setDockerHost(k, backup.dockerHosts[k]!); + _dockerHosts.put(k, backup.dockerHosts[k]!); } context.pop(); showRoundDialog( diff --git a/lib/view/page/docker.dart b/lib/view/page/docker.dart index 378dec54..9182a492 100644 --- a/lib/view/page/docker.dart +++ b/lib/view/page/docker.dart @@ -34,6 +34,7 @@ class DockerManagePage extends StatefulWidget { class _DockerManagePageState extends State { final _docker = locator(); + final _store = locator(); final _textController = TextEditingController(); late S _s; @@ -533,25 +534,30 @@ class _DockerManagePageState extends State { } Future _showEditHostDialog() async { + final id = widget.spi.id; + final host = + _store.fetch(id) ?? 'unix:///run/user/1000/docker.sock'; + final ctrl = TextEditingController(text: host); await showRoundDialog( context: context, title: Text(_s.dockerEditHost), child: Input( maxLines: 1, - controller: - TextEditingController(text: 'unix:///run/user/1000/docker.sock'), - onSubmitted: (value) { - locator().setDockerHost(widget.spi.id, value.trim()); - _docker.refresh(); - context.pop(); - }, + controller: ctrl, + onSubmitted: _onSaveDockerHost, ), actions: [ TextButton( - onPressed: () => context.pop(), - child: Text(_s.cancel), + onPressed: () => _onSaveDockerHost(ctrl.text), + child: Text(_s.ok), ), ], ); } + + void _onSaveDockerHost(String val) { + context.pop(); + _store.put(widget.spi.id, val.trim()); + _docker.refresh(); + } } diff --git a/lib/view/page/storage/sftp.dart b/lib/view/page/storage/sftp.dart index 0d5d25a7..c485c6be 100644 --- a/lib/view/page/storage/sftp.dart +++ b/lib/view/page/storage/sftp.dart @@ -663,18 +663,21 @@ class _SftpPageState extends State { } } catch (e, trace) { _logger.warning('list dir failed', e, trace); - Future.delayed(const Duration(milliseconds: 177), () => showRoundDialog( - context: context, - title: Text(_s.error), - child: Text(e.toString()), - actions: [ - TextButton( - onPressed: () => context.pop(), - child: Text(_s.ok), - ) - ], - )); await _backward(); + Future.delayed( + const Duration(milliseconds: 177), + () => showRoundDialog( + context: context, + title: Text(_s.error), + child: Text(e.toString()), + actions: [ + TextButton( + onPressed: () => context.pop(), + child: Text(_s.ok), + ) + ], + ), + ); } } diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index e0a294e1..c0974c8a 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -475,9 +475,9 @@ baseConfigurationReference = C1C758C41C4E208965A68933 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 458; + CURRENT_PROJECT_VERSION = 459; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.458; + MARKETING_VERSION = 1.0.459; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -490,9 +490,9 @@ baseConfigurationReference = 15AF97DF993E8968098D6EBE /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 458; + CURRENT_PROJECT_VERSION = 459; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.458; + MARKETING_VERSION = 1.0.459; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -505,9 +505,9 @@ baseConfigurationReference = 7CFA7DE7FABA75685DFB6948 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 458; + CURRENT_PROJECT_VERSION = 459; GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0.458; + MARKETING_VERSION = 1.0.459; PRODUCT_BUNDLE_IDENTIFIER = tech.lolli.serverBox.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0;