new macos folder

This commit is contained in:
Junyuan Feng
2022-12-04 21:42:48 +08:00
parent ca17af30cf
commit 62a1122174
50 changed files with 158 additions and 257 deletions

View File

@@ -1,10 +1,30 @@
# This file tracks properties of this Flutter project. # This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc. # Used by Flutter tool to assess capabilities and perform upgrades etc.
# #
# This file should be version controlled and should not be manually edited. # This file should be version controlled.
version: version:
revision: 4cc385b4b84ac2f816d939a49ea1f328c4e0b48e revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
channel: stable channel: stable
project_type: app project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
- platform: windows
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

View File

@@ -1,5 +1,4 @@
{ {
"dart.flutterSdkPath": ".fvm",
"files.watcherExclude": { "files.watcherExclude": {
"**/.fvm": true "**/.fvm": true
}, },

View File

@@ -1,5 +1,5 @@
PODS: PODS:
- countly_flutter (21.11.0): - countly_flutter (22.02.0):
- Flutter - Flutter
- Flutter (1.0.0) - Flutter (1.0.0)
- flutter_native_splash (0.0.1): - flutter_native_splash (0.0.1):
@@ -39,7 +39,7 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios" :path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS: SPEC CHECKSUMS:
countly_flutter: e245f94349d8adf306c22e60c10648c69aae7380 countly_flutter: c1c0f790841565e956256c4d2e11aee73c517da5
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef
path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02

View File

@@ -354,7 +354,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 160; CURRENT_PROJECT_VERSION = 165;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
@@ -362,7 +362,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.160; MARKETING_VERSION = 1.0.165;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -484,7 +484,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 160; CURRENT_PROJECT_VERSION = 165;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
@@ -492,7 +492,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.160; MARKETING_VERSION = 1.0.165;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -508,7 +508,7 @@
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = 160; CURRENT_PROJECT_VERSION = 165;
DEVELOPMENT_TEAM = BA88US33G6; DEVELOPMENT_TEAM = BA88US33G6;
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
@@ -516,7 +516,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.0.160; MARKETING_VERSION = 1.0.165;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";

View File

@@ -4,6 +4,7 @@ import 'dart:io';
import 'package:countly_flutter/countly_config.dart'; import 'package:countly_flutter/countly_config.dart';
import 'package:countly_flutter/countly_flutter.dart'; import 'package:countly_flutter/countly_flutter.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:toolbox/core/build_mode.dart';
class Analysis { class Analysis {
static const _url = 'https://countly.xuty.cc'; static const _url = 'https://countly.xuty.cc';
@@ -11,11 +12,14 @@ class Analysis {
static bool _enabled = false; static bool _enabled = false;
static Future<void> init(bool debug) async { static Future<void> init() async {
if (!BuildMode.isRelease) {
return;
}
if (Platform.isAndroid || Platform.isIOS) { if (Platform.isAndroid || Platform.isIOS) {
_enabled = true; _enabled = true;
final config = CountlyConfig(_url, _key) final config = CountlyConfig(_url, _key)
.setLoggingEnabled(debug) .setLoggingEnabled(false)
.enableCrashReporting(); .enableCrashReporting();
await Countly.initWithConfig(config); await Countly.initWithConfig(config);
await Countly.start(); await Countly.start();

View File

@@ -2,9 +2,9 @@
class BuildData { class BuildData {
static const String name = "ServerBox"; static const String name = "ServerBox";
static const int build = 162; static const int build = 165;
static const String engine = static const String engine =
"Flutter 3.3.9 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision b8f7f1f986 (11 days ago) • 2022-11-23 06:43:51 +0900\nEngine • revision 8f2221fbef\nTools • Dart 2.18.5 • DevTools 2.15.0\n"; "Flutter 3.3.9 • channel stable • https://github.com/flutter/flutter.git\nFramework • revision b8f7f1f986 (12 days ago) • 2022-11-23 06:43:51 +0900\nEngine • revision 8f2221fbef\nTools • Dart 2.18.5 • DevTools 2.15.0\n";
static const String buildAt = "2022-12-04 15:36:33.518958"; static const String buildAt = "2022-12-04 21:41:26.055331";
static const int modifications = 4; static const int modifications = 1;
} }

View File

@@ -1,4 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
const TextStyle size18 = TextStyle(fontSize: 18); const textSize18 = TextStyle(fontSize: 18);
const TextStyle grey = TextStyle(color: Colors.grey); const textSize11 = TextStyle(fontSize: 11);
const textSize13 = TextStyle(fontSize: 13);
const grey = TextStyle(color: Colors.grey);

View File

@@ -32,7 +32,7 @@ class BackupPage extends StatelessWidget {
final s = S.of(context); final s = S.of(context);
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(s.importAndExport, style: size18), title: Text(s.importAndExport, style: textSize18),
), ),
body: Center( body: Center(
child: Column( child: Column(

View File

@@ -157,7 +157,7 @@ class _ConvertPageState extends State<ConvertPage>
title: Text( title: Text(
e, e,
style: TextStyle( style: TextStyle(
color: _theme.textTheme.bodyText2!.color!.withAlpha(177), color: _theme.textTheme.bodyText2?.color?.withAlpha(177),
), ),
), ),
trailing: _buildRadio(typeOption.indexOf(e)), trailing: _buildRadio(typeOption.indexOf(e)),
@@ -180,7 +180,7 @@ class _ConvertPageState extends State<ConvertPage>
groupValue: _typeOptionIndex, groupValue: _typeOptionIndex,
onChanged: (int? value) { onChanged: (int? value) {
setState(() { setState(() {
_typeOptionIndex = value!; _typeOptionIndex = value ?? 0;
}); });
}, },
); );

View File

@@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:get_it/get_it.dart'; import 'package:get_it/get_it.dart';
import 'package:toolbox/core/analysis.dart'; import 'package:toolbox/core/analysis.dart';
import 'package:toolbox/core/build_mode.dart';
import 'package:toolbox/core/route.dart'; import 'package:toolbox/core/route.dart';
import 'package:toolbox/core/update.dart'; import 'package:toolbox/core/update.dart';
import 'package:toolbox/core/utils.dart'; import 'package:toolbox/core/utils.dart';
@@ -40,7 +39,6 @@ class MyHomePage extends StatefulWidget {
class _MyHomePageState extends State<MyHomePage> class _MyHomePageState extends State<MyHomePage>
with with
AutomaticKeepAliveClientMixin, AutomaticKeepAliveClientMixin,
SingleTickerProviderStateMixin,
AfterLayoutMixin, AfterLayoutMixin,
WidgetsBindingObserver { WidgetsBindingObserver {
late final ServerProvider _serverProvider; late final ServerProvider _serverProvider;
@@ -103,7 +101,7 @@ class _MyHomePageState extends State<MyHomePage>
return Scaffold( return Scaffold(
drawer: _buildDrawer(), drawer: _buildDrawer(),
appBar: AppBar( appBar: AppBar(
title: Text(tabTitleName(context, _selectIndex), style: size18), title: Text(tabTitleName(context, _selectIndex), style: textSize18),
actions: [ actions: [
IconButton( IconButton(
icon: const Icon(Icons.developer_mode, size: 23), icon: const Icon(Icons.developer_mode, size: 23),
@@ -181,7 +179,7 @@ class _MyHomePageState extends State<MyHomePage>
children: [ children: [
_buildIcon(), _buildIcon(),
const Text(BuildData.name), const Text(BuildData.name),
Text(_buildVersionStr()), Text(_versionStr),
SizedBox( SizedBox(
height: MediaQuery.of(context).size.height * 0.07, height: MediaQuery.of(context).size.height * 0.07,
), ),
@@ -241,7 +239,7 @@ class _MyHomePageState extends State<MyHomePage>
AboutListTile( AboutListTile(
icon: const Icon(Icons.text_snippet), icon: const Icon(Icons.text_snippet),
applicationName: BuildData.name, applicationName: BuildData.name,
applicationVersion: _buildVersionStr(), applicationVersion: _versionStr,
applicationIcon: _buildIcon(), applicationIcon: _buildIcon(),
aboutBoxChildren: [ aboutBoxChildren: [
UrlText( UrlText(
@@ -285,7 +283,7 @@ class _MyHomePageState extends State<MyHomePage>
); );
} }
String _buildVersionStr() { String get _versionStr {
var mod = ''; var mod = '';
if (BuildData.modifications != 0) { if (BuildData.modifications != 0) {
mod = '(+${BuildData.modifications})'; mod = '(+${BuildData.modifications})';
@@ -301,8 +299,6 @@ class _MyHomePageState extends State<MyHomePage>
await GetIt.I.allReady(); await GetIt.I.allReady();
await locator<ServerProvider>().loadLocalData(); await locator<ServerProvider>().loadLocalData();
await doUpdate(context); await doUpdate(context);
if (BuildMode.isRelease) { await Analysis.init();
await Analysis.init(false);
}
} }
} }

View File

@@ -51,7 +51,7 @@ class _PrivateKeyEditPageState extends State<PrivateKeyEditPage>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar(title: Text(s.edit, style: size18), actions: [ appBar: AppBar(title: Text(s.edit, style: textSize18), actions: [
widget.info != null widget.info != null
? IconButton( ? IconButton(
tooltip: s.delete, tooltip: s.delete,

View File

@@ -30,7 +30,7 @@ class _PrivateKeyListState extends State<StoredPrivateKeysPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(s.privateKey, style: size18), title: Text(s.privateKey, style: textSize18),
), ),
body: Consumer<PrivateKeyProvider>( body: Consumer<PrivateKeyProvider>(
builder: (_, key, __) { builder: (_, key, __) {

View File

@@ -12,9 +12,6 @@ import 'package:toolbox/data/res/padding.dart';
import 'package:toolbox/generated/l10n.dart'; import 'package:toolbox/generated/l10n.dart';
import 'package:toolbox/view/widget/round_rect_card.dart'; import 'package:toolbox/view/widget/round_rect_card.dart';
const style11 = TextStyle(fontSize: 11);
const style13 = TextStyle(fontSize: 13);
class ServerDetailPage extends StatefulWidget { class ServerDetailPage extends StatefulWidget {
const ServerDetailPage(this.id, {Key? key}) : super(key: key); const ServerDetailPage(this.id, {Key? key}) : super(key: key);
@@ -39,19 +36,22 @@ class _ServerDetailPageState extends State<ServerDetailPage>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Consumer<ServerProvider>(builder: (_, provider, __) { return Consumer<ServerProvider>(builder: (_, provider, __) {
return _buildMainPage(provider.servers return _buildMainPage(
.firstWhere((e) => '${e.info.ip}:${e.info.port}' == widget.id)); provider.servers
.firstWhere((e) => '${e.info.ip}:${e.info.port}' == widget.id),
);
}); });
} }
Widget _buildMainPage(ServerInfo si) { Widget _buildMainPage(ServerInfo si) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(si.info.name, style: size18), title: Text(si.info.name, style: textSize18),
), ),
body: ListView( body: ListView(
padding: const EdgeInsets.all(13), padding: const EdgeInsets.all(13),
children: [ children: [
SizedBox(height: _media.size.height * 0.03),
_buildLinuxIcon(si.status.sysVer), _buildLinuxIcon(si.status.sysVer),
SizedBox(height: _media.size.height * 0.03), SizedBox(height: _media.size.height * 0.03),
_buildUpTimeAndSys(si.status), _buildUpTimeAndSys(si.status),
@@ -70,9 +70,13 @@ class _ServerDetailPageState extends State<ServerDetailPage>
if (iconPath == null) return const SizedBox(); if (iconPath == null) return const SizedBox();
return ConstrainedBox( return ConstrainedBox(
constraints: BoxConstraints( constraints: BoxConstraints(
maxHeight: _media.size.height * 0.12, maxHeight: _media.size.height * 0.13,
maxWidth: _media.size.width * 0.6), maxWidth: _media.size.width * 0.6,
child: Image.asset(iconPath), ),
child: Image.asset(
iconPath,
fit: BoxFit.contain,
),
); );
} }
@@ -176,10 +180,10 @@ class _ServerDetailPageState extends State<ServerDetailPage>
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text(ss.sysVer, style: style11, textScaleFactor: 1.0), Text(ss.sysVer, style: textSize11, textScaleFactor: 1.0),
Text( Text(
ss.uptime, ss.uptime,
style: style11, style: textSize11,
textScaleFactor: 1.0, textScaleFactor: 1.0,
), ),
], ],
@@ -252,7 +256,7 @@ class _ServerDetailPageState extends State<ServerDetailPage>
const SizedBox(width: 4), const SizedBox(width: 4),
Text( Text(
value, value,
style: style11, style: textSize11,
textScaleFactor: 1.0, textScaleFactor: 1.0,
textAlign: TextAlign.center, textAlign: TextAlign.center,
) )
@@ -284,10 +288,11 @@ class _ServerDetailPageState extends State<ServerDetailPage>
children: [ children: [
Text( Text(
'${disk.usedPercent}% of ${disk.size}', '${disk.usedPercent}% of ${disk.size}',
style: style11, style: textSize11,
textScaleFactor: 1.0, textScaleFactor: 1.0,
), ),
Text(disk.mountPath, style: style11, textScaleFactor: 1.0) Text(disk.mountPath,
style: textSize11, textScaleFactor: 1.0)
], ],
), ),
_buildProgress(disk.usedPercent.toDouble()) _buildProgress(disk.usedPercent.toDouble())
@@ -349,18 +354,18 @@ class _ServerDetailPageState extends State<ServerDetailPage>
children: [ children: [
SizedBox( SizedBox(
width: _media.size.width / 4, width: _media.size.width / 4,
child: Text(device, style: style11, textScaleFactor: 1.0)), child: Text(device, style: textSize11, textScaleFactor: 1.0)),
SizedBox( SizedBox(
width: _media.size.width / 4, width: _media.size.width / 4,
child: Text(ns.speedIn(device: device), child: Text(ns.speedIn(device: device),
style: style11, style: textSize11,
textAlign: TextAlign.center, textAlign: TextAlign.center,
textScaleFactor: 1.0), textScaleFactor: 1.0),
), ),
SizedBox( SizedBox(
width: _media.size.width / 4, width: _media.size.width / 4,
child: Text(ns.speedOut(device: device), child: Text(ns.speedOut(device: device),
style: style11, style: textSize11,
textAlign: TextAlign.right, textAlign: TextAlign.right,
textScaleFactor: 1.0)) textScaleFactor: 1.0))
], ],

View File

@@ -63,7 +63,7 @@ class _ServerEditPageState extends State<ServerEditPage> with AfterLayoutMixin {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar(title: Text(s.edit, style: size18), actions: [ appBar: AppBar(title: Text(s.edit, style: textSize18), actions: [
widget.spi != null widget.spi != null
? IconButton( ? IconButton(
onPressed: () { onPressed: () {

View File

@@ -26,14 +26,14 @@ class _SettingPageState extends State<SettingPage> {
late SettingStore _store; late SettingStore _store;
late int _selectedColorValue; late int _selectedColorValue;
late int _launchPageIdx; late int _launchPageIdx;
double _intervalValue = 0;
late Color priColor; late Color priColor;
static const textStyle = TextStyle(fontSize: 14);
late final ServerProvider _serverProvider; late final ServerProvider _serverProvider;
late MediaQueryData _media; late MediaQueryData _media;
late ThemeData _theme; late ThemeData _theme;
late S s; late S s;
var _intervalValue = 0.0;
@override @override
void didChangeDependencies() { void didChangeDependencies() {
super.didChangeDependencies(); super.didChangeDependencies();
@@ -56,7 +56,7 @@ class _SettingPageState extends State<SettingPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(s.setting, style: size18), title: Text(s.setting),
), ),
body: ListView( body: ListView(
padding: const EdgeInsets.all(17), padding: const EdgeInsets.all(17),
@@ -87,7 +87,7 @@ class _SettingPageState extends State<SettingPage> {
trailing: const Icon(Icons.keyboard_arrow_right), trailing: const Icon(Icons.keyboard_arrow_right),
title: Text( title: Text(
display, display,
style: textStyle, style: textSize13,
textAlign: TextAlign.start, textAlign: TextAlign.start,
), ),
onTap: () => doUpdate(context, force: true)); onTap: () => doUpdate(context, force: true));
@@ -101,7 +101,7 @@ class _SettingPageState extends State<SettingPage> {
textColor: priColor, textColor: priColor,
title: Text( title: Text(
s.updateServerStatusInterval, s.updateServerStatusInterval,
style: textStyle, style: textSize13,
textAlign: TextAlign.start, textAlign: TextAlign.start,
), ),
subtitle: Text( subtitle: Text(
@@ -159,7 +159,7 @@ class _SettingPageState extends State<SettingPage> {
), ),
title: Text( title: Text(
s.appPrimaryColor, s.appPrimaryColor,
style: textStyle, style: textSize13,
), ),
children: [ children: [
_buildAppColorPicker(priColor), _buildAppColorPicker(priColor),
@@ -193,13 +193,13 @@ class _SettingPageState extends State<SettingPage> {
childrenPadding: roundRectCardPadding, childrenPadding: roundRectCardPadding,
title: Text( title: Text(
s.launchPage, s.launchPage,
style: textStyle, style: textSize13,
), ),
trailing: ConstrainedBox( trailing: ConstrainedBox(
constraints: BoxConstraints(maxWidth: _media.size.width * 0.35), constraints: BoxConstraints(maxWidth: _media.size.width * 0.35),
child: Text( child: Text(
tabTitleName(context, _launchPageIdx), tabTitleName(context, _launchPageIdx),
style: textStyle, style: textSize13,
textAlign: TextAlign.right, textAlign: TextAlign.right,
), ),
), ),

View File

@@ -31,7 +31,7 @@ class _SFTPDownloadingPageState extends State<SFTPDownloadingPage> {
appBar: AppBar( appBar: AppBar(
title: Text( title: Text(
s.download, s.download,
style: size18, style: textSize18,
), ),
), ),
body: _buildBody(), body: _buildBody(),

View File

@@ -41,7 +41,7 @@ class _SnippetEditPageState extends State<SnippetEditPage>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar(title: Text(s.edit, style: size18), actions: [ appBar: AppBar(title: Text(s.edit, style: textSize18), actions: [
widget.snippet != null widget.snippet != null
? IconButton( ? IconButton(
onPressed: () { onPressed: () {

View File

@@ -39,7 +39,7 @@ class _SnippetListPageState extends State<SnippetListPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
title: Text(s.snippet, style: size18), title: Text(s.snippet, style: textSize18),
), ),
body: _buildBody(), body: _buildBody(),
floatingActionButton: FloatingActionButton( floatingActionButton: FloatingActionButton(

1
macos/.gitignore vendored
View File

@@ -3,4 +3,5 @@
**/Pods/ **/Pods/
# Xcode-related # Xcode-related
**/dgph
**/xcuserdata/ **/xcuserdata/

View File

@@ -1,34 +0,0 @@
PODS:
- FlutterMacOS (1.0.0)
- path_provider_macos (0.0.1):
- FlutterMacOS
- share_plus_macos (0.0.1):
- FlutterMacOS
- url_launcher_macos (0.0.1):
- FlutterMacOS
DEPENDENCIES:
- FlutterMacOS (from `Flutter/ephemeral`)
- path_provider_macos (from `Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos`)
- share_plus_macos (from `Flutter/ephemeral/.symlinks/plugins/share_plus_macos/macos`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
EXTERNAL SOURCES:
FlutterMacOS:
:path: Flutter/ephemeral
path_provider_macos:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_macos/macos
share_plus_macos:
:path: Flutter/ephemeral/.symlinks/plugins/share_plus_macos/macos
url_launcher_macos:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
SPEC CHECKSUMS:
FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811
path_provider_macos: 3c0c3b4b0d4a76d2bf989a913c2de869c5641a19
share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4
url_launcher_macos: 597e05b8e514239626bcf4a850fcf9ef5c856ec3
PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
COCOAPODS: 1.11.3

View File

@@ -21,7 +21,6 @@
/* End PBXAggregateTarget section */ /* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
13023FEA984C8BDB6E86C760 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB8E7EC3D3F94E678A33714A /* Pods_Runner.framework */; };
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
@@ -53,10 +52,9 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
11B144C2A4236173ED27E4BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* ServerBox.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ServerBox.app; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10ED2044A3C60003C045 /* server_box.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "server_box.app"; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@@ -68,11 +66,8 @@
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; }; 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = "<group>"; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = "<group>"; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = "<group>"; };
4677EE1296857C03A50C6F9A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
482650D389602D26534AC41E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = "<group>"; };
EB8E7EC3D3F94E678A33714A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -80,23 +75,12 @@
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
13023FEA984C8BDB6E86C760 /* Pods_Runner.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
16F296B9098A48A19BD5CD7A /* Pods */ = {
isa = PBXGroup;
children = (
482650D389602D26534AC41E /* Pods-Runner.debug.xcconfig */,
4677EE1296857C03A50C6F9A /* Pods-Runner.release.xcconfig */,
11B144C2A4236173ED27E4BD /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
33BA886A226E78AF003329D5 /* Configs */ = { 33BA886A226E78AF003329D5 /* Configs */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
@@ -115,14 +99,13 @@
33CEB47122A05771004F2AC0 /* Flutter */, 33CEB47122A05771004F2AC0 /* Flutter */,
33CC10EE2044A3C60003C045 /* Products */, 33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */, D73912EC22F37F3D000D13A0 /* Frameworks */,
16F296B9098A48A19BD5CD7A /* Pods */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
33CC10EE2044A3C60003C045 /* Products */ = { 33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
33CC10ED2044A3C60003C045 /* ServerBox.app */, 33CC10ED2044A3C60003C045 /* server_box.app */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -165,7 +148,6 @@
D73912EC22F37F3D000D13A0 /* Frameworks */ = { D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
EB8E7EC3D3F94E678A33714A /* Pods_Runner.framework */,
); );
name = Frameworks; name = Frameworks;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -177,13 +159,11 @@
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = ( buildPhases = (
DBB8303E8C3096724C62B102 /* [CP] Check Pods Manifest.lock */,
33CC10E92044A3C60003C045 /* Sources */, 33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */, 33CC10EB2044A3C60003C045 /* Resources */,
33CC110E2044A8840003C045 /* Bundle Framework */, 33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */, 3399D490228B24CF009A79C7 /* ShellScript */,
08C07125B63B2876811CD3BF /* [CP] Embed Pods Frameworks */,
); );
buildRules = ( buildRules = (
); );
@@ -192,7 +172,7 @@
); );
name = Runner; name = Runner;
productName = Runner; productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* ServerBox.app */; productReference = 33CC10ED2044A3C60003C045 /* server_box.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@@ -202,7 +182,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastSwiftUpdateCheck = 0920; LastSwiftUpdateCheck = 0920;
LastUpgradeCheck = 0930; LastUpgradeCheck = 1300;
ORGANIZATIONNAME = ""; ORGANIZATIONNAME = "";
TargetAttributes = { TargetAttributes = {
33CC10EC2044A3C60003C045 = { 33CC10EC2044A3C60003C045 = {
@@ -253,23 +233,6 @@
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */
08C07125B63B2876811CD3BF /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
3399D490228B24CF009A79C7 /* ShellScript */ = { 3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -307,28 +270,6 @@
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
}; };
DBB8303E8C3096724C62B102 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
@@ -420,15 +361,11 @@
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 160;
DEVELOPMENT_TEAM = BA88US33G6;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MARKETING_VERSION = 1.0.160;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
}; };
@@ -550,15 +487,11 @@
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 160;
DEVELOPMENT_TEAM = BA88US33G6;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MARKETING_VERSION = 1.0.160;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@@ -574,15 +507,11 @@
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 160;
DEVELOPMENT_TEAM = BA88US33G6;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
MARKETING_VERSION = 1.0.160;
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
}; };

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "1000" LastUpgradeVersion = "1300"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@@ -15,7 +15,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "toolbox.app" BuildableName = "server_box.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@@ -31,13 +31,13 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "toolbox.app" BuildableName = "server_box.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
</MacroExpansion> </MacroExpansion>
<AdditionalOptions> <Testables>
</AdditionalOptions> </Testables>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Debug"
@@ -54,13 +54,11 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "toolbox.app" BuildableName = "server_box.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
</BuildableProductRunnable> </BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Profile" buildConfiguration = "Profile"
@@ -73,7 +71,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "toolbox.app" BuildableName = "server_box.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>

View File

@@ -4,7 +4,4 @@
<FileRef <FileRef
location = "group:Runner.xcodeproj"> location = "group:Runner.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace> </Workspace>

View File

@@ -1,64 +1,64 @@
{ {
"images" : [ "images" : [
{ {
"idiom" : "mac",
"size" : "16x16", "size" : "16x16",
"scale" : "1x", "idiom" : "mac",
"filename" : "icon_16@1x.png" "filename" : "app_icon_16.png",
"scale" : "1x"
}, },
{ {
"idiom" : "mac",
"size" : "16x16", "size" : "16x16",
"scale" : "2x", "idiom" : "mac",
"filename" : "icon_16@2x.png" "filename" : "app_icon_32.png",
"scale" : "2x"
}, },
{ {
"idiom" : "mac",
"size" : "32x32", "size" : "32x32",
"scale" : "1x", "idiom" : "mac",
"filename" : "icon_32@1x.png" "filename" : "app_icon_32.png",
"scale" : "1x"
}, },
{ {
"idiom" : "mac",
"size" : "32x32", "size" : "32x32",
"scale" : "2x", "idiom" : "mac",
"filename" : "icon_32@2x.png" "filename" : "app_icon_64.png",
"scale" : "2x"
}, },
{ {
"idiom" : "mac",
"size" : "128x128", "size" : "128x128",
"scale" : "1x", "idiom" : "mac",
"filename" : "icon_128@1x.png" "filename" : "app_icon_128.png",
"scale" : "1x"
}, },
{ {
"idiom" : "mac",
"size" : "128x128", "size" : "128x128",
"scale" : "2x", "idiom" : "mac",
"filename" : "icon_128@2x.png" "filename" : "app_icon_256.png",
"scale" : "2x"
}, },
{ {
"idiom" : "mac",
"size" : "256x256", "size" : "256x256",
"scale" : "1x", "idiom" : "mac",
"filename" : "icon_256@1x.png" "filename" : "app_icon_256.png",
"scale" : "1x"
}, },
{ {
"idiom" : "mac",
"size" : "256x256", "size" : "256x256",
"scale" : "2x", "idiom" : "mac",
"filename" : "icon_256@2x.png" "filename" : "app_icon_512.png",
"scale" : "2x"
}, },
{ {
"idiom" : "mac",
"size" : "512x512", "size" : "512x512",
"scale" : "1x", "idiom" : "mac",
"filename" : "icon_512@1x.png" "filename" : "app_icon_512.png",
"scale" : "1x"
}, },
{ {
"idiom" : "mac",
"size" : "512x512", "size" : "512x512",
"scale" : "2x", "idiom" : "mac",
"filename" : "icon_512@2x.png" "filename" : "app_icon_1024.png",
"scale" : "2x"
} }
], ],
"info" : { "info" : {

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 KiB

View File

@@ -323,6 +323,10 @@
</items> </items>
</menu> </menu>
</menuItem> </menuItem>
<menuItem title="Help" id="EPT-qC-fAb">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="rJ0-wn-3NY"/>
</menuItem>
</items> </items>
<point key="canvasLocation" x="142" y="-258"/> <point key="canvasLocation" x="142" y="-258"/>
</menu> </menu>

View File

@@ -5,10 +5,10 @@
// 'flutter create' template. // 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window. // The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = ServerBox PRODUCT_NAME = server_box
// The application's bundle identifier // The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.serverBox
// The copyright displayed in application information // The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2022 tech.lolli. All rights reserved. PRODUCT_COPYRIGHT = Copyright © 2022 com.lollipopkit. All rights reserved.

View File

@@ -8,7 +8,5 @@
<true/> <true/>
<key>com.apple.security.network.server</key> <key>com.apple.security.network.server</key>
<true/> <true/>
<key>com.apple.security.network.client</key>
<true/>
</dict> </dict>
</plist> </plist>

View File

@@ -17,11 +17,9 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string> <string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string> <string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.developer-tools</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>

View File

@@ -4,8 +4,7 @@ import FlutterMacOS
class MainFlutterWindow: NSWindow { class MainFlutterWindow: NSWindow {
override func awakeFromNib() { override func awakeFromNib() {
let flutterViewController = FlutterViewController.init() let flutterViewController = FlutterViewController.init()
var windowFrame = self.frame let windowFrame = self.frame
windowFrame.size = CGSize(width: 450, height: 800)
self.contentViewController = flutterViewController self.contentViewController = flutterViewController
self.setFrame(windowFrame, display: true) self.setFrame(windowFrame, display: true)

View File

@@ -4,7 +4,5 @@
<dict> <dict>
<key>com.apple.security.app-sandbox</key> <key>com.apple.security.app-sandbox</key>
<true/> <true/>
<key>com.apple.security.network.client</key>
<true/>
</dict> </dict>
</plist> </plist>

View File

@@ -8,16 +8,13 @@ const appName = 'ServerBox';
const buildDataFilePath = 'lib/data/res/build_data.dart'; const buildDataFilePath = 'lib/data/res/build_data.dart';
const apkPath = 'build/app/outputs/flutter-apk/app-release.apk'; const apkPath = 'build/app/outputs/flutter-apk/app-release.apk';
const xcarchivePath = 'build/ios/archive/Runner.xcarchive'; const xcarchivePath = 'build/ios/archive/Runner.xcarchive';
const macosAppPath = 'build/macos/Build/Products/Release/$appName.app';
var regiOSProjectVer = RegExp(r'CURRENT_PROJECT_VERSION = .+;'); var regiOSProjectVer = RegExp(r'CURRENT_PROJECT_VERSION = .+;');
var regiOSMarketVer = RegExp(r'MARKETING_VERSION = .+'); var regiOSMarketVer = RegExp(r'MARKETING_VERSION = .+');
const iOSInfoPlistPath = 'ios/Runner.xcodeproj/project.pbxproj'; const iOSInfoPlistPath = 'ios/Runner.xcodeproj/project.pbxproj';
const macOSInfoPlistPath = 'macos/Runner.xcodeproj/project.pbxproj';
const skslFileSuffix = '.sksl.json'; const skslFileSuffix = '.sksl.json';
const buildFuncs = { const buildFuncs = {
'ios': flutterBuildIOS, 'ios': flutterBuildIOS,
'macos': flutterBuildMacOS,
'android': flutterBuildAndroid, 'android': flutterBuildAndroid,
}; };
@@ -149,18 +146,12 @@ Future<void> flutterBuildIOS() async {
xcarchivePath, './release/${appName}_ios_build.xcarchive', 'ipa'); xcarchivePath, './release/${appName}_ios_build.xcarchive', 'ipa');
} }
Future<void> flutterBuildMacOS() async {
await changeInfoPlistVersion();
await flutterBuild(
macosAppPath, './release/${appName}_macos_build.app', 'macos');
}
Future<void> flutterBuildAndroid() async { Future<void> flutterBuildAndroid() async {
await flutterBuild(apkPath, './release/${appName}_build_Arm64.apk', 'apk'); await flutterBuild(apkPath, './release/${appName}_build_Arm64.apk', 'apk');
} }
Future<void> changeInfoPlistVersion() async { Future<void> changeInfoPlistVersion() async {
for (final path in [iOSInfoPlistPath, macOSInfoPlistPath]) { for (final path in [iOSInfoPlistPath]) {
final file = File(path); final file = File(path);
final contents = await file.readAsString(); final contents = await file.readAsString();
final newContents = contents final newContents = contents

View File

@@ -28,7 +28,7 @@ packages:
name: archive name: archive
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.3.4" version: "3.3.5"
args: args:
dependency: transitive dependency: transitive
description: description:
@@ -167,12 +167,10 @@ packages:
countly_flutter: countly_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
path: "." name: countly_flutter
ref: master url: "https://pub.flutter-io.cn"
resolved-ref: "585759048345ab7defdfd9cae3a6c76dc451fe51" source: hosted
url: "https://github.com/Countly/countly-sdk-flutter-bridge.git" version: "22.02.0"
source: git
version: "21.11.0"
cross_file: cross_file:
dependency: transitive dependency: transitive
description: description:
@@ -294,7 +292,7 @@ packages:
name: flutter_native_splash name: flutter_native_splash
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.2.15" version: "2.2.16"
flutter_plugin_android_lifecycle: flutter_plugin_android_lifecycle:
dependency: transitive dependency: transitive
description: description:
@@ -318,7 +316,7 @@ packages:
name: frontend_server_client name: frontend_server_client
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.0" version: "3.2.0"
get_it: get_it:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -472,7 +470,7 @@ packages:
name: mime name: mime
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.0.2" version: "1.0.3"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@@ -507,7 +505,7 @@ packages:
name: path_provider_android name: path_provider_android
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.21" version: "2.0.22"
path_provider_ios: path_provider_ios:
dependency: transitive dependency: transitive
description: description:
@@ -778,14 +776,14 @@ packages:
name: url_launcher name: url_launcher
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.1.6" version: "6.1.7"
url_launcher_android: url_launcher_android:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "6.0.21" version: "6.0.22"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@@ -862,7 +860,7 @@ packages:
name: win32 name: win32
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.1.1" version: "3.1.2"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:

View File

@@ -33,15 +33,12 @@ dependencies:
sdk: flutter sdk: flutter
provider: ^6.0.0 provider: ^6.0.0
get_it: ^7.2.0 get_it: ^7.2.0
hive_flutter: ^1.0.0 hive_flutter: ^1.1.0
dio: ^4.0.0 dio: ^4.0.0
after_layout: ^1.1.0 after_layout: ^1.1.0
extended_image: ^6.0.3 extended_image: ^6.0.3
url_launcher: ^6.0.9 url_launcher: ^6.1.7
countly_flutter: countly_flutter: ^22.2.0
git:
url: https://github.com/Countly/countly-sdk-flutter-bridge.git
ref: master
dartssh2: ^2.7.1 dartssh2: ^2.7.1
logging: ^1.0.2 logging: ^1.0.2
flutter_material_color_picker: ^1.1.0+2 flutter_material_color_picker: ^1.1.0+2