mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
opt.
- hideTitleBar tip - android home widget err handle - sftp loading dialog
This commit is contained in:
@@ -66,32 +66,44 @@ class HomeWidget : AppWidgetProvider() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
val jsonStr = URL(url).readText()
|
try {
|
||||||
val jsonObject = JSONObject(jsonStr)
|
val jsonStr = URL(url).readText()
|
||||||
val data = jsonObject.getJSONObject("data")
|
val jsonObject = JSONObject(jsonStr)
|
||||||
val server = data.getString("name")
|
val data = jsonObject.getJSONObject("data")
|
||||||
val cpu = data.getString("cpu")
|
val server = data.getString("name")
|
||||||
val mem = data.getString("mem")
|
val cpu = data.getString("cpu")
|
||||||
val disk = data.getString("disk")
|
val mem = data.getString("mem")
|
||||||
val net = data.getString("net")
|
val disk = data.getString("disk")
|
||||||
|
val net = data.getString("net")
|
||||||
|
|
||||||
GlobalScope.launch(Dispatchers.Main) main@ {
|
GlobalScope.launch(Dispatchers.Main) main@ {
|
||||||
// mem or disk is empty -> get status failed
|
// mem or disk is empty -> get status failed
|
||||||
// (cpu | net) isEmpty -> data is not ready
|
// (cpu | net) isEmpty -> data is not ready
|
||||||
if (mem.isEmpty() || disk.isEmpty()) {
|
if (mem.isEmpty() || disk.isEmpty()) {
|
||||||
return@main
|
return@main
|
||||||
|
}
|
||||||
|
views.setTextViewText(R.id.widget_name, server)
|
||||||
|
|
||||||
|
views.setTextViewText(R.id.widget_cpu, cpu)
|
||||||
|
views.setTextViewText(R.id.widget_mem, mem)
|
||||||
|
views.setTextViewText(R.id.widget_disk, disk)
|
||||||
|
views.setTextViewText(R.id.widget_net, net)
|
||||||
|
|
||||||
|
val timeStr = android.text.format.DateFormat.format("HH:mm", java.util.Date()).toString()
|
||||||
|
views.setTextViewText(R.id.widget_time, timeStr)
|
||||||
|
|
||||||
|
appWidgetManager.updateAppWidget(appWidgetId, views)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
GlobalScope.launch(Dispatchers.Main) main@ {
|
||||||
|
views.setViewVisibility(R.id.widget_cpu_label, View.INVISIBLE)
|
||||||
|
views.setViewVisibility(R.id.widget_mem_label, View.INVISIBLE)
|
||||||
|
views.setViewVisibility(R.id.widget_disk_label, View.INVISIBLE)
|
||||||
|
views.setViewVisibility(R.id.widget_net_label, View.INVISIBLE)
|
||||||
|
views.setTextViewText(R.id.widget_name, "ID: $appWidgetId")
|
||||||
|
views.setTextViewText(R.id.widget_mem, e.localizedMessage)
|
||||||
|
appWidgetManager.updateAppWidget(appWidgetId, views)
|
||||||
}
|
}
|
||||||
views.setTextViewText(R.id.widget_name, server)
|
|
||||||
|
|
||||||
views.setTextViewText(R.id.widget_cpu, cpu)
|
|
||||||
views.setTextViewText(R.id.widget_mem, mem)
|
|
||||||
views.setTextViewText(R.id.widget_disk, disk)
|
|
||||||
views.setTextViewText(R.id.widget_net, net)
|
|
||||||
|
|
||||||
val timeStr = android.text.format.DateFormat.format("HH:mm", java.util.Date()).toString()
|
|
||||||
views.setTextViewText(R.id.widget_time, timeStr)
|
|
||||||
|
|
||||||
appWidgetManager.updateAppWidget(appWidgetId, views)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -690,7 +690,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -700,7 +700,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
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";
|
||||||
@@ -826,7 +826,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -836,7 +836,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
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";
|
||||||
@@ -854,7 +854,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist";
|
||||||
@@ -864,7 +864,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
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";
|
||||||
@@ -885,7 +885,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -898,7 +898,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
@@ -924,7 +924,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -937,7 +937,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -960,7 +960,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||||
GENERATE_INFOPLIST_FILE = YES;
|
GENERATE_INFOPLIST_FILE = YES;
|
||||||
@@ -973,7 +973,7 @@
|
|||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
"@executable_path/../../Frameworks",
|
"@executable_path/../../Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@@ -996,7 +996,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1008,7 +1008,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
@@ -1037,7 +1037,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1049,7 +1049,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
PRODUCT_NAME = ServerBox;
|
PRODUCT_NAME = ServerBox;
|
||||||
@@ -1075,7 +1075,7 @@
|
|||||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_ASSET_PATHS = "";
|
DEVELOPMENT_ASSET_PATHS = "";
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -1087,7 +1087,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
MTL_FAST_MATH = YES;
|
MTL_FAST_MATH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd;
|
||||||
PRODUCT_NAME = ServerBox;
|
PRODUCT_NAME = ServerBox;
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
class BuildData {
|
class BuildData {
|
||||||
static const String name = "ServerBox";
|
static const String name = "ServerBox";
|
||||||
static const int build = 904;
|
static const int build = 907;
|
||||||
static const String engine = "3.22.0";
|
static const String engine = "3.22.0";
|
||||||
static const String buildAt = "2024-05-20 16:10:12";
|
static const String buildAt = "2024-05-22 19:34:37";
|
||||||
static const int modifications = 11;
|
static const int modifications = 14;
|
||||||
static const int script = 47;
|
static const int script = 48;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Zurückkommen?",
|
"goBackQ": "Zurückkommen?",
|
||||||
"goto": "Pfad öffnen",
|
"goto": "Pfad öffnen",
|
||||||
"hideTitleBar": "Titelleiste ausblenden",
|
"hideTitleBar": "Titelleiste ausblenden",
|
||||||
|
"hideTitleBarTip": "Nach dem Einschalten halten Sie bitte die drei Tasten in der oberen rechten Ecke gedrückt, um sie zu ziehen.",
|
||||||
"highlight": "Code highlight",
|
"highlight": "Code highlight",
|
||||||
"homeWidgetUrlConfig": "Home-Widget-Link konfigurieren",
|
"homeWidgetUrlConfig": "Home-Widget-Link konfigurieren",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Go back?",
|
"goBackQ": "Go back?",
|
||||||
"goto": "Go to",
|
"goto": "Go to",
|
||||||
"hideTitleBar": "Hide title bar",
|
"hideTitleBar": "Hide title bar",
|
||||||
|
"hideTitleBarTip": "After turning it on, please hold down the three buttons in the top right corner to drag.",
|
||||||
"highlight": "Code highlight",
|
"highlight": "Code highlight",
|
||||||
"homeWidgetUrlConfig": "Config home widget url",
|
"homeWidgetUrlConfig": "Config home widget url",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "¿Regresar?",
|
"goBackQ": "¿Regresar?",
|
||||||
"goto": "Ir a",
|
"goto": "Ir a",
|
||||||
"hideTitleBar": "Ocultar barra de título",
|
"hideTitleBar": "Ocultar barra de título",
|
||||||
|
"hideTitleBarTip": "Después de encenderlo, mantenga presionados los tres botones en la esquina superior derecha para arrastrar.",
|
||||||
"highlight": "Resaltar código",
|
"highlight": "Resaltar código",
|
||||||
"homeWidgetUrlConfig": "Configuración de URL del widget de inicio",
|
"homeWidgetUrlConfig": "Configuración de URL del widget de inicio",
|
||||||
"host": "Anfitrión",
|
"host": "Anfitrión",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Revenir en arrière ?",
|
"goBackQ": "Revenir en arrière ?",
|
||||||
"goto": "Aller à",
|
"goto": "Aller à",
|
||||||
"hideTitleBar": "Masquer la barre de titre",
|
"hideTitleBar": "Masquer la barre de titre",
|
||||||
|
"hideTitleBarTip": "Après l'avoir allumé, veuillez maintenir les trois boutons dans le coin supérieur droit pour les faire glisser.",
|
||||||
"highlight": "Mise en surbrillance du code",
|
"highlight": "Mise en surbrillance du code",
|
||||||
"homeWidgetUrlConfig": "Configurer l'URL du widget d'accueil",
|
"homeWidgetUrlConfig": "Configurer l'URL du widget d'accueil",
|
||||||
"host": "Hôte",
|
"host": "Hôte",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Datang kembali?",
|
"goBackQ": "Datang kembali?",
|
||||||
"goto": "Pergi ke",
|
"goto": "Pergi ke",
|
||||||
"hideTitleBar": "Sembunyikan bilah judul",
|
"hideTitleBar": "Sembunyikan bilah judul",
|
||||||
|
"hideTitleBarTip": "Setelah dinyalakan, tekan dan tahan tiga tombol di sudut kanan atas untuk menyeret.",
|
||||||
"highlight": "Sorotan kode",
|
"highlight": "Sorotan kode",
|
||||||
"homeWidgetUrlConfig": "Konfigurasi URL Widget Rumah",
|
"homeWidgetUrlConfig": "Konfigurasi URL Widget Rumah",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "戻りますか?",
|
"goBackQ": "戻りますか?",
|
||||||
"goto": "移動",
|
"goto": "移動",
|
||||||
"hideTitleBar": "タイトルバーを非表示にする",
|
"hideTitleBar": "タイトルバーを非表示にする",
|
||||||
|
"hideTitleBarTip": "電源を入れた後、右上隅の3つのボタンを押し続けてドラッグしてください。",
|
||||||
"highlight": "コードハイライト",
|
"highlight": "コードハイライト",
|
||||||
"homeWidgetUrlConfig": "ホームウィジェットURL設定",
|
"homeWidgetUrlConfig": "ホームウィジェットURL設定",
|
||||||
"host": "ホスト",
|
"host": "ホスト",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Terug gaan?",
|
"goBackQ": "Terug gaan?",
|
||||||
"goto": "Ga naar",
|
"goto": "Ga naar",
|
||||||
"hideTitleBar": "Titelbalk verbergen",
|
"hideTitleBar": "Titelbalk verbergen",
|
||||||
|
"hideTitleBarTip": "Houd na het inschakelen de drie knoppen in de rechterbovenhoek ingedrukt om te slepen.",
|
||||||
"highlight": "Code-highlight",
|
"highlight": "Code-highlight",
|
||||||
"homeWidgetUrlConfig": "Home-widget-url configureren",
|
"homeWidgetUrlConfig": "Home-widget-url configureren",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Voltar?",
|
"goBackQ": "Voltar?",
|
||||||
"goto": "Ir para",
|
"goto": "Ir para",
|
||||||
"hideTitleBar": "Ocultar barra de título",
|
"hideTitleBar": "Ocultar barra de título",
|
||||||
|
"hideTitleBarTip": "Após ligar, segure os três botões no canto superior direito para arrastar.",
|
||||||
"highlight": "Destaque de código",
|
"highlight": "Destaque de código",
|
||||||
"homeWidgetUrlConfig": "Configuração de URL do widget da tela inicial",
|
"homeWidgetUrlConfig": "Configuração de URL do widget da tela inicial",
|
||||||
"host": "Host",
|
"host": "Host",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "Вернуться?",
|
"goBackQ": "Вернуться?",
|
||||||
"goto": "перейти к",
|
"goto": "перейти к",
|
||||||
"hideTitleBar": "Скрыть заголовок",
|
"hideTitleBar": "Скрыть заголовок",
|
||||||
|
"hideTitleBarTip": "После включения удерживайте три кнопки в правом верхнем углу, чтобы перетаскивать.",
|
||||||
"highlight": "подсветка кода",
|
"highlight": "подсветка кода",
|
||||||
"homeWidgetUrlConfig": "конфигурация URL виджета домашнего экрана",
|
"homeWidgetUrlConfig": "конфигурация URL виджета домашнего экрана",
|
||||||
"host": "хост",
|
"host": "хост",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "返回?",
|
"goBackQ": "返回?",
|
||||||
"goto": "前往",
|
"goto": "前往",
|
||||||
"hideTitleBar": "隐藏标题栏",
|
"hideTitleBar": "隐藏标题栏",
|
||||||
|
"hideTitleBarTip": "开启后请按住右上角三个按钮来拖动",
|
||||||
"highlight": "代码高亮",
|
"highlight": "代码高亮",
|
||||||
"homeWidgetUrlConfig": "桌面部件链接配置",
|
"homeWidgetUrlConfig": "桌面部件链接配置",
|
||||||
"host": "主机",
|
"host": "主机",
|
||||||
|
|||||||
@@ -121,6 +121,7 @@
|
|||||||
"goBackQ": "返回?",
|
"goBackQ": "返回?",
|
||||||
"goto": "前往",
|
"goto": "前往",
|
||||||
"hideTitleBar": "隱藏標題欄",
|
"hideTitleBar": "隱藏標題欄",
|
||||||
|
"hideTitleBarTip": "開啟後請按住右上角三個按鈕來拖動",
|
||||||
"highlight": "代碼高亮",
|
"highlight": "代碼高亮",
|
||||||
"homeWidgetUrlConfig": "桌面部件鏈接配置",
|
"homeWidgetUrlConfig": "桌面部件鏈接配置",
|
||||||
"host": "主機",
|
"host": "主機",
|
||||||
|
|||||||
@@ -1088,6 +1088,7 @@ class _SettingPageState extends State<SettingPage> {
|
|||||||
Widget _buildHideTitleBar() {
|
Widget _buildHideTitleBar() {
|
||||||
return ListTile(
|
return ListTile(
|
||||||
title: Text(l10n.hideTitleBar),
|
title: Text(l10n.hideTitleBar),
|
||||||
|
subtitle: Text(l10n.hideTitleBarTip, style: UIs.textGrey),
|
||||||
trailing: StoreSwitch(prop: _setting.hideTitleBar),
|
trailing: StoreSwitch(prop: _setting.hideTitleBar),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -428,8 +428,12 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
|
|
||||||
final result = await AppRoutes.editor(path: localPath).go<bool>(context);
|
final result = await AppRoutes.editor(path: localPath).go<bool>(context);
|
||||||
if (result != null && result) {
|
if (result != null && result) {
|
||||||
Pros.sftp
|
Pros.sftp.add(SftpReq(
|
||||||
.add(SftpReq(req.spi, remotePath, localPath, SftpReqType.upload));
|
req.spi,
|
||||||
|
remotePath,
|
||||||
|
localPath,
|
||||||
|
SftpReqType.upload,
|
||||||
|
));
|
||||||
context.showSnackBar(l10n.added2List);
|
context.showSnackBar(l10n.added2List);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -471,8 +475,10 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
final useRmr = Stores.setting.sftpRmrDir.fetch();
|
final useRmr = Stores.setting.sftpRmrDir.fetch();
|
||||||
final text = () {
|
final text = () {
|
||||||
if (isDir && !useRmr) {
|
if (isDir && !useRmr) {
|
||||||
return l10n
|
return l10n.askContinue(
|
||||||
.askContinue('${l10n.dirEmpty}\n${l10n.delete} ${file.filename}');
|
'${l10n.dirEmpty}\n${l10n.delete} '
|
||||||
|
'${file.filename}',
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return l10n.askContinue('${l10n.delete} ${file.filename}');
|
return l10n.askContinue('${l10n.delete} ${file.filename}');
|
||||||
}();
|
}();
|
||||||
@@ -498,20 +504,10 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
await _status.client!.remove(remotePath);
|
await _status.client!.remove(remotePath);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} catch (e) {
|
_listDir();
|
||||||
context.showRoundDialog(
|
} catch (e, s) {
|
||||||
title: l10n.error,
|
_showErrDialog(context, e, 'Delete', s);
|
||||||
child: Text(e.toString()),
|
|
||||||
actions: [
|
|
||||||
TextButton(
|
|
||||||
onPressed: () => context.pop(),
|
|
||||||
child: Text(l10n.ok),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
_listDir();
|
|
||||||
},
|
},
|
||||||
child: Text(l10n.delete, style: UIs.textRed),
|
child: Text(l10n.delete, style: UIs.textRed),
|
||||||
),
|
),
|
||||||
@@ -549,10 +545,16 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final dir = '${_status.path!.path}/${textController.text}';
|
|
||||||
await _status.client!.mkdir(dir);
|
|
||||||
context.pop();
|
context.pop();
|
||||||
_listDir();
|
try {
|
||||||
|
await context.showLoadingDialog(fn: () async {
|
||||||
|
final dir = '${_status.path!.path}/${textController.text}';
|
||||||
|
await _status.client!.mkdir(dir);
|
||||||
|
});
|
||||||
|
_listDir();
|
||||||
|
} catch (e, s) {
|
||||||
|
_showErrDialog(context, e, 'Create folder', s);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Text(l10n.ok, style: UIs.textRed),
|
child: Text(l10n.ok, style: UIs.textRed),
|
||||||
),
|
),
|
||||||
@@ -588,10 +590,15 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
context.pop();
|
context.pop();
|
||||||
final path = '${_status.path!.path}/${textController.text}';
|
try {
|
||||||
await context.showLoadingDialog(
|
await context.showLoadingDialog(fn: () async {
|
||||||
fn: () => _client!.run('touch "$path"'));
|
final path = '${_status.path!.path}/${textController.text}';
|
||||||
_listDir();
|
await _client!.run('touch "$path"');
|
||||||
|
});
|
||||||
|
_listDir();
|
||||||
|
} catch (e, s) {
|
||||||
|
_showErrDialog(context, e, 'Create file', s);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Text(l10n.ok, style: UIs.textRed),
|
child: Text(l10n.ok, style: UIs.textRed),
|
||||||
),
|
),
|
||||||
@@ -627,9 +634,16 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await _status.client?.rename(file.filename, textController.text);
|
|
||||||
context.pop();
|
context.pop();
|
||||||
_listDir();
|
try {
|
||||||
|
await context.showLoadingDialog(fn: () async {
|
||||||
|
final newName = textController.text;
|
||||||
|
await _status.client?.rename(file.filename, newName);
|
||||||
|
});
|
||||||
|
_listDir();
|
||||||
|
} catch (e, s) {
|
||||||
|
_showErrDialog(context, e, 'Rename', s);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Text(l10n.rename, style: UIs.textRed),
|
child: Text(l10n.rename, style: UIs.textRed),
|
||||||
),
|
),
|
||||||
@@ -658,6 +672,21 @@ class _SftpPageState extends State<SftpPage> with AfterLayoutMixin {
|
|||||||
_listDir();
|
_listDir();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> _showErrDialog(
|
||||||
|
BuildContext ctx, Object e, String op, StackTrace s) async {
|
||||||
|
Loggers.app.warning('$op failed', e, s);
|
||||||
|
return ctx.showRoundDialog(
|
||||||
|
title: l10n.error,
|
||||||
|
child: Text(e.toString()),
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
onPressed: () => ctx.pop(),
|
||||||
|
child: Text(l10n.ok),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
String _getRemotePath(SftpName name) {
|
String _getRemotePath(SftpName name) {
|
||||||
final prePath = _status.path!.path;
|
final prePath = _status.path!.path;
|
||||||
// Only support Linux as remote now, so the seperator is '/'
|
// Only support Linux as remote now, so the seperator is '/'
|
||||||
|
|||||||
@@ -471,7 +471,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -608,7 +608,7 @@
|
|||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = BA88US33G6;
|
DEVELOPMENT_TEAM = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
INFOPLIST_KEY_CFBundleDisplayName = "Server Box";
|
||||||
@@ -618,7 +618,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
@@ -638,7 +638,7 @@
|
|||||||
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
|
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application";
|
||||||
CODE_SIGN_STYLE = Manual;
|
CODE_SIGN_STYLE = Manual;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
CURRENT_PROJECT_VERSION = 904;
|
CURRENT_PROJECT_VERSION = 907;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
|
"DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6;
|
||||||
INFOPLIST_FILE = Runner/Info.plist;
|
INFOPLIST_FILE = Runner/Info.plist;
|
||||||
@@ -649,7 +649,7 @@
|
|||||||
"@executable_path/../Frameworks",
|
"@executable_path/../Frameworks",
|
||||||
);
|
);
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||||
MARKETING_VERSION = 1.0.904;
|
MARKETING_VERSION = 1.0.907;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox;
|
||||||
PRODUCT_NAME = "Server Box";
|
PRODUCT_NAME = "Server Box";
|
||||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user