Enha: set work/base dir updates filepicker title
This commit is contained in:
34
tables.go
34
tables.go
@@ -1130,35 +1130,11 @@ func makeFilePicker() *tview.Flex {
|
|||||||
}
|
}
|
||||||
if event.Rune() == 's' {
|
if event.Rune() == 's' {
|
||||||
// Set FilePickerDir to current directory
|
// Set FilePickerDir to current directory
|
||||||
itemIndex := listView.GetCurrentItem()
|
// Get the actual directory path
|
||||||
if itemIndex >= 0 && itemIndex < listView.GetItemCount() {
|
cfg.FilePickerDir = currentDisplayDir
|
||||||
itemText, _ := listView.GetItemText(itemIndex)
|
listView.SetTitle("Files & Directories [s: set FilePickerDir]. Current base dir: " + cfg.FilePickerDir)
|
||||||
// Get the actual directory path
|
// pages.RemovePage(filePickerPage)
|
||||||
var targetDir string
|
return nil
|
||||||
if strings.HasPrefix(itemText, "Exit") || strings.HasPrefix(itemText, "Select this directory") {
|
|
||||||
targetDir = currentDisplayDir
|
|
||||||
} else {
|
|
||||||
actualItemName := itemText
|
|
||||||
if bracketPos := strings.Index(itemText, " ["); bracketPos != -1 {
|
|
||||||
actualItemName = itemText[:bracketPos]
|
|
||||||
}
|
|
||||||
// nolint: gocritic
|
|
||||||
if strings.HasPrefix(actualItemName, "../") {
|
|
||||||
targetDir = path.Dir(currentDisplayDir)
|
|
||||||
} else if strings.HasSuffix(actualItemName, "/") {
|
|
||||||
dirName := strings.TrimSuffix(actualItemName, "/")
|
|
||||||
targetDir = path.Join(currentDisplayDir, dirName)
|
|
||||||
} else {
|
|
||||||
targetDir = currentDisplayDir
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cfg.FilePickerDir = targetDir
|
|
||||||
if err := notifyUser("FilePickerDir", "Set to: "+targetDir); err != nil {
|
|
||||||
logger.Error("failed to notify user", "error", err)
|
|
||||||
}
|
|
||||||
// pages.RemovePage(filePickerPage)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case tcell.KeyEnter:
|
case tcell.KeyEnter:
|
||||||
// Get the currently highlighted item in the list
|
// Get the currently highlighted item in the list
|
||||||
|
|||||||
Reference in New Issue
Block a user