Skip to content

Commit bdd39d6

Browse files
committed
Update
1 parent 524a6c2 commit bdd39d6

4 files changed

Lines changed: 9 additions & 12 deletions

File tree

app/src/main/java/com/omarea/krscript/config/PageConfigReader.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,10 @@ class PageConfigReader {
478478
"path-home", "home-path", "pathhome" -> {
479479
option.pathHome = parser.getAttributeValue(i).trim { it <= ' ' }
480480
}
481+
"multiple" -> {
482+
val attrValue = parser.getAttributeValue(i)
483+
option.multiple = attrValue == "multiple" || attrValue == "true" || attrValue == "1"
484+
}
481485
"box", "visible", "check" -> {
482486
option.checkedSh = parser.getAttributeValue(i)
483487
}

app/src/main/java/com/omarea/krscript/model/PageMenuOption.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ class PageMenuOption(currentConfigXml: String) : RunnableNode(currentConfigXml)
1313
var suffix: String = ""
1414
// 打开文件/目录选择器时的初始目录(仅限type=file/folder有效)
1515
var pathHome: String = ""
16+
// Cho phép chọn nhiều tệp/thư mục cùng lúc (chỉ áp dụng khi type=file/folder)
17+
var multiple: Boolean = false
1618

1719
// Lệnh shell dùng để xác định trạng thái tích (checked) khi type = "checkbox".
1820
// Được chạy lại mỗi lần menu chuẩn bị hiển thị (không chỉ 1 lần lúc load trang).

app/src/main/java/com/omarea/krscript/ui/ActionListFragment.kt

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,7 @@ class ActionListFragment : androidx.fragment.app.Fragment(), PageLayoutRender.On
334334
return krScriptActionHandler?.openFileChooser(callback) ?: false
335335
}
336336
})
337-
// Không hideDialog() ở đây nữa — sẽ tắt sau khi dialog tham số
338-
// mới (đã có nền mờ) hiện lên, xem bên dưới.
337+
progressBarDialog.hideDialog()
339338

340339
val customRunner = krScriptActionHandler?.openParamsPage(action, linearLayout) {
341340
try {
@@ -356,19 +355,13 @@ class ActionListFragment : androidx.fragment.app.Fragment(), PageLayoutRender.On
356355
val dialog = if (isLongList) {
357356
AlertDialog.Builder(requireContext(), if (darkMode) R.style.kr_full_screen_dialog_dark else R.style.kr_full_screen_dialog_light)
358357
.setView(dialogView).create().apply {
359-
// Set nền blur TRƯỚC show() để tránh nháy (frame đầu không mờ)
360-
window?.let { DialogHelper.setWindowBlurBg(it, requireActivity()) }
361358
show()
359+
window?.let { DialogHelper.setWindowBlurBg(it, requireActivity()) }
362360
}
363361
} else {
364362
DialogHelper.customDialog(requireActivity(), dialogView).dialog
365363
}
366364

367-
// Chỉ tắt dialog "loading" SAU KHI dialog tham số (đã có nền mờ) hiện lên,
368-
// để lúc nào màn hình cũng có một dialog mờ che phủ, không có khoảng
369-
// trống bị "tắt mờ" giữa 2 dialog.
370-
progressBarDialog.hideDialog()
371-
372365
dialogView.findViewById<TextView>(R.id.title).text = action.title
373366
dialogView.findViewById<TextView>(R.id.desc).apply { if (action.desc.isEmpty()) visibility = View.GONE else text = action.desc }
374367
dialogView.findViewById<TextView>(R.id.warn).apply { if (action.warning.isEmpty()) visibility = View.GONE else text = action.warning }
@@ -382,9 +375,6 @@ class ActionListFragment : androidx.fragment.app.Fragment(), PageLayoutRender.On
382375
Toast.makeText(requireContext(), "" + ex.message, Toast.LENGTH_LONG).show()
383376
}
384377
}
385-
} else {
386-
// openParamsPage tự xử lý UI riêng (không phải dialog blur ở trên) -> tắt loading ngay
387-
progressBarDialog.hideDialog()
388378
}
389379
}
390380
}

app/src/main/java/com/tool/tree/ActionPage.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,7 @@ class ActionPage : AppCompatActivity() {
518518
override fun mimeType() = menuOption.mime.ifEmpty { null }
519519
override fun suffix() = menuOption.suffix.ifEmpty { null }
520520
override fun pathHome() = menuOption.pathHome.ifEmpty { null }
521+
override fun multiple() = menuOption.multiple
521522
override fun type() = if (menuOption.type == "folder") {
522523
ParamsFileChooserRender.FileSelectedInterface.TYPE_FOLDER
523524
} else {

0 commit comments

Comments
 (0)