Skip to content

Commit

Permalink
update toggle dot file display and update data folder path
Browse files Browse the repository at this point in the history
  • Loading branch information
yorukot committed Apr 9, 2024
1 parent 7a0fa14 commit 9fff97a
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 29 deletions.
9 changes: 6 additions & 3 deletions src/components/function.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func getFolder() []folder {
paths = append(paths, filepath.Join(folderPath, entry.Name()))
}
}
jsonData, err := os.ReadFile(SuperFileMainDir + pinnedFile)
jsonData, err := os.ReadFile(SuperFileDataDir + pinnedFile)
if err != nil {
OutPutLog("Read superfile data error", err)
}
Expand Down Expand Up @@ -79,7 +79,7 @@ func returnFocusType(focusPanel focusPanelType) filePanelFocusType {
}
}

func returnFolderElement(location string) (folderElement []element) {
func returnFolderElement(location string, displayDotFile bool) (folderElement []element) {
var folders []element
var files []element

Expand All @@ -90,6 +90,9 @@ func returnFolderElement(location string) (folderElement []element) {

for _, item := range items {
fileInfo, _ := item.Info()
if !displayDotFile && strings.HasPrefix(fileInfo.Name(), ".") {
continue
}
if fileInfo == nil {
continue
}
Expand Down Expand Up @@ -430,4 +433,4 @@ func countFiles(dirPath string) (int, error) {

func IsExternalPath(path string) bool {
return strings.HasPrefix(path, "/run/media")
}
}
24 changes: 20 additions & 4 deletions src/components/globalController.go
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ func PinnedFolder(m model) model {

unPinned := false

jsonData, err := os.ReadFile(SuperFileMainDir + pinnedFile)
jsonData, err := os.ReadFile(SuperFileDataDir + pinnedFile)
if err != nil {
OutPutLog("Pinned folder function read superfile data error", err)
}
Expand All @@ -421,7 +421,7 @@ func PinnedFolder(m model) model {
OutPutLog("Pinned folder function updatedData superfile data error", err)
}

err = os.WriteFile(SuperFileMainDir+pinnedFile, updatedData, 0644)
err = os.WriteFile(SuperFileDataDir+pinnedFile, updatedData, 0644)
if err != nil {
OutPutLog("Pinned folder function updatedData superfile data error", err)
}
Expand Down Expand Up @@ -495,14 +495,30 @@ func OpenTerminal(m model) model {
terminal = "gnome-terminal"
workDirSet = "--working-directory="
default:
log.Fatalf("We can't find your default terminal please go to ~/.config/superfile/config/config.json setting your default terminal and terminalWorkDirFlag!")
log.Fatalf("Couldn't find your default terminal, please go to ~/.config/superfile/config/config.json to set your default terminal and terminalWorkDirFlag!")
}

cmd := exec.Command(terminal, workDirSet+currentDir)
err := cmd.Start()
if err != nil {
OutPutLog("Error opening"+terminal+":", err)
OutPutLog("Error opening "+terminal+":", err)
}

return m
}

func ToggleDotFile(m model) model {
newToggleDotFile := ""
if m.toggleDotFile {
newToggleDotFile = "false"
m.toggleDotFile = false
} else {
newToggleDotFile = "true"
m.toggleDotFile = true
}
err := os.WriteFile(SuperFileDataDir+toggleDotFile, []byte(newToggleDotFile), 0644)
if err != nil {
OutPutLog("Pinned folder function updatedData superfile data error", err)
}
return m
}
30 changes: 21 additions & 9 deletions src/components/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,31 @@ package components

import (
"encoding/json"
"log"
"os"
"path/filepath"

"github.com/barasher/go-exiftool"
"github.com/charmbracelet/bubbles/textinput"
tea "github.com/charmbracelet/bubbletea"
"github.com/charmbracelet/lipgloss"
"github.com/rkoesters/xdg/basedir"
"log"
"os"
"path/filepath"
)

const (
configFolder string = "/config"
themeFolder string = "/theme"
dataFolder string = "/data"
lastCheckVersion string = "/data/lastCheckVersion"
pinnedFile string = "/data/pinned.json"
lastCheckVersion string = "/lastCheckVersion"
pinnedFile string = "/pinned.json"
toggleDotFile string = "/toggleDotFile"
logFile string = "/superfile.log"
configFile string = "/config/config.json"
themeZipName string = "/theme.zip"
)

var HomeDir = basedir.Home
var SuperFileMainDir = basedir.ConfigHome + "/superfile"

var SuperFileDataDir = basedir.DataHome + "/superfile"
var theme ThemeType
var Config ConfigType

Expand All @@ -37,7 +37,7 @@ var channel = make(chan channelMessage, 1000)

func InitialModel(dir string) model {
var err error
logOutput, err = os.OpenFile(SuperFileMainDir+logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
logOutput, err = os.OpenFile(SuperFileDataDir+logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) // I don't know wtf is this
if err != nil {
log.Fatalf("Error while opening superfile.log file: %v", err)
}
Expand All @@ -63,7 +63,16 @@ func InitialModel(dir string) model {
if err != nil {
log.Fatalf("Error while decoding theme json( Your theme file may have errors ): %v", err)
}

toggleDotFileData, err := os.ReadFile(SuperFileDataDir + toggleDotFile)
if err != nil {
OutPutLog("Error while reading toggleDotFile data error:", err)
}
var toggleDotFileBool bool
if string(toggleDotFileData) == "true" {
toggleDotFileBool = true
} else if string(toggleDotFileData) == "false" {
toggleDotFileBool = false
}
LoadThemeConfig()
et, err = exiftool.NewExiftool()
if err != nil {
Expand Down Expand Up @@ -102,6 +111,7 @@ func InitialModel(dir string) model {
},
width: 10,
},
toggleDotFile: toggleDotFileBool,
}
}

Expand Down Expand Up @@ -246,6 +256,8 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
m = PinnedFolder(m)
case Config.OpenTerminal[0], Config.OpenTerminal[1]:
m = OpenTerminal(m)
case Config.ToggleDotFile[0], Config.ToggleDotFile[1]:
m = ToggleDotFile(m)
default:
// check if it's the select mode
if m.fileModel.filePanels[m.filePanelFocusIndex].focusType == focus && m.fileModel.filePanels[m.filePanelFocusIndex].panelMode == selectMode {
Expand Down
2 changes: 1 addition & 1 deletion src/components/modelRender.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func FilePanelRender(m model) string {
// file panel
f := make([]string, 4)
for i, filePanel := range m.fileModel.filePanels {
fileElenent := returnFolderElement(filePanel.location)
fileElenent := returnFolderElement(filePanel.location, m.toggleDotFile)
filePanel.element = fileElenent
m.fileModel.filePanels[i].element = fileElenent

Expand Down
2 changes: 2 additions & 0 deletions src/components/type.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ type model struct {
warnModal warnModal
fileMetaData fileMetaData
firstTextInput bool
toggleDotFile bool
filePanelFocusIndex int
mainPanelHeight int
fullWidth int
Expand Down Expand Up @@ -278,6 +279,7 @@ type ConfigType struct {
FilePanelFileCreate [2]string
FilePanelItemRename [2]string
PasteItem [2]string
ToggleDotFile [2]string

Cancel [2]string
Confirm [2]string
Expand Down
31 changes: 19 additions & 12 deletions src/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (

var HomeDir = basedir.Home
var SuperFileMainDir = basedir.ConfigHome + "/superfile"
var SuperFileDataDir = basedir.DataHome + "/superfile"

const (
currentVersion string = "v1.0.1"
Expand All @@ -30,10 +31,10 @@ const (
const (
configFolder string = "/config"
themeFolder string = "/theme"
dataFolder string = "/data"
lastCheckVersion string = "/data/lastCheckVersion"
pinnedFile string = "/data/pinned.json"
lastCheckVersion string = "/lastCheckVersion"
pinnedFile string = "/pinned.json"
configFile string = "/config/config.json"
toggleDotFile string = "/toggleDotFile"
themeZipName string = "/theme.zip"
logFile string = "/superfile.log"
)
Expand Down Expand Up @@ -82,24 +83,29 @@ func InitConfigFile() {
log.Fatalln("Can't Create Superfile main config folder:", SuperFileMainDir, err)
}
// create data folder
err = CreateFolderIfNotExist(SuperFileMainDir + dataFolder)
err = CreateFolderIfNotExist(SuperFileDataDir)
if err != nil {
log.Fatalln("Can't Create Superfile data folder:", SuperFileMainDir+dataFolder, err)
log.Fatalln("Can't Create Superfile data folder:", SuperFileDataDir, err)
}
// create config folder
err = CreateFolderIfNotExist(SuperFileMainDir + configFolder)
if err != nil {
log.Fatalln("Can't Create Superfile data folder:", SuperFileMainDir+configFolder, err)
log.Fatalln("Can't Create Superfile data folder:", SuperFileDataDir+configFolder, err)
}
// create pinned.json file
err = CreateFileIfNotExist(SuperFileMainDir + pinnedFile)
err = CreateFileIfNotExist(SuperFileDataDir + pinnedFile)
if err != nil {
log.Fatalln("Can't Create Superfile pinned file:", SuperFileMainDir+pinnedFile, err)
log.Fatalln("Can't Create Superfile pinned file:", SuperFileDataDir+pinnedFile, err)
}
// create toggleDotFile file
err = CreateFileIfNotExist(SuperFileDataDir + toggleDotFile)
if err != nil {
log.Fatalln("Can't Create Superfile toggleDotFile:", SuperFileDataDir+toggleDotFile, err)
}
// create superfile.log file
err = CreateFileIfNotExist(SuperFileMainDir + logFile)
err = CreateFileIfNotExist(SuperFileDataDir + logFile)
if err != nil {
log.Fatalln("Can't Create Superfile log file:", SuperFileMainDir+logFile, err)
log.Fatalln("Can't Create Superfile log file:", SuperFileDataDir+logFile, err)
}
// write config.json file
if _, err := os.Stat(SuperFileMainDir + configFile); os.IsNotExist(err) {
Expand Down Expand Up @@ -161,7 +167,7 @@ func CreateFileIfNotExist(filePath string) error {
}

func CheckForUpdates() {
lastTime, err := ReadFromFile(SuperFileMainDir + lastCheckVersion)
lastTime, err := ReadFromFile(SuperFileDataDir + lastCheckVersion)
if err != nil && !os.IsNotExist(err) {
fmt.Println("Error reading from file:", err)
return
Expand Down Expand Up @@ -193,7 +199,7 @@ func CheckForUpdates() {
}

timeStr := currentTime.Format(time.RFC3339)
err = WriteToFile(SuperFileMainDir+lastCheckVersion, timeStr)
err = WriteToFile(SuperFileDataDir+lastCheckVersion, timeStr)
if err != nil {
fmt.Println("Error writing to file:", err)
return
Expand Down Expand Up @@ -320,6 +326,7 @@ const configJsonString string = `{
"filePanelFileCreate": ["c", ""],
"filePanelItemRename": ["r", ""],
"pasteItem": ["ctrl+v", ""],
"toggleDotFile": ["ctrl+h", ""],
"_COMMIT_special_hotkey": "These hotkeys do not conflict with any other keys (including global hotkey)",
"cancel": ["ctrl+c", "esc"],
Expand Down
1 change: 1 addition & 0 deletions src/superfile/config/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"filePanelFileCreate": ["c", ""],
"filePanelItemRename": ["r", ""],
"pasteItem": ["ctrl+v", ""],
"toggleDotFile": ["ctrl+h", ""],

"_COMMIT_special_hotkey": "These hotkeys do not conflict with any other keys (including global hotkey)",
"cancel": ["ctrl+c", "esc"],
Expand Down

0 comments on commit 9fff97a

Please sign in to comment.