fix: save history
This commit is contained in:
@@ -263,35 +263,49 @@ const canAccept = computed(() => {
|
||||
color="success"
|
||||
icon="mdi-content-save"
|
||||
@click="acceptTransfer"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">Accept</v-tooltip>
|
||||
</v-btn>
|
||||
|
||||
<v-btn
|
||||
v-if="canAccept"
|
||||
color="success"
|
||||
icon="mdi-folder-arrow-right"
|
||||
@click="acceptToFolder"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">
|
||||
Save to Folder
|
||||
</v-tooltip>
|
||||
</v-btn>
|
||||
|
||||
<v-btn
|
||||
v-if="canAccept"
|
||||
color="error"
|
||||
icon="mdi-close"
|
||||
@click="rejectTransfer"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">Reject</v-tooltip>
|
||||
</v-btn>
|
||||
|
||||
<v-btn
|
||||
v-if="canCopy"
|
||||
color="success"
|
||||
icon="mdi-eye"
|
||||
@click="showContentDialog = true"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">
|
||||
View Content
|
||||
</v-tooltip>
|
||||
</v-btn>
|
||||
|
||||
<v-btn
|
||||
v-if="canCopy"
|
||||
color="success"
|
||||
icon="mdi-content-copy"
|
||||
@click="handleCopy"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">Copy</v-tooltip>
|
||||
</v-btn>
|
||||
|
||||
<v-btn
|
||||
v-if="
|
||||
@@ -303,14 +317,18 @@ const canAccept = computed(() => {
|
||||
color="info"
|
||||
icon="mdi-delete"
|
||||
@click="handleDelete"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">Delete</v-tooltip>
|
||||
</v-btn>
|
||||
|
||||
<v-btn
|
||||
v-if="canCancel"
|
||||
color="error"
|
||||
icon="mdi-stop"
|
||||
@click="CancelTransfer(props.transfer.id)"
|
||||
></v-btn>
|
||||
>
|
||||
<v-tooltip activator="parent" location="top">Cancel</v-tooltip>
|
||||
</v-btn>
|
||||
</v-btn-group>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -77,6 +77,7 @@ func Load() *Config {
|
||||
}
|
||||
v.SetDefault("host_name", defaultHostName)
|
||||
v.SetDefault("id", uuid.New().String())
|
||||
v.SetDefault("save_history", true)
|
||||
|
||||
v.SetConfigFile(configFile)
|
||||
v.SetConfigType("json")
|
||||
@@ -182,3 +183,16 @@ func (c *Config) GetSaveHistory() bool {
|
||||
func (c *Config) GetVersion() string {
|
||||
return Version
|
||||
}
|
||||
|
||||
func (c *Config) SetWindowState(state WindowState) {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
c.WindowState = state
|
||||
c.v.Set("window_state", state)
|
||||
}
|
||||
|
||||
func (c *Config) GetWindowState() WindowState {
|
||||
c.mu.RLock()
|
||||
defer c.mu.RUnlock()
|
||||
return c.WindowState
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ func (s *Service) SaveHistory() {
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
file, err := os.OpenFile(historyPath, os.O_CREATE|os.O_RDWR, os.FileMode(0644))
|
||||
file, err := os.OpenFile(historyPath, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ func (s *Service) Start() {
|
||||
}
|
||||
|
||||
func (s *Service) GetTransferList() []*Transfer {
|
||||
var requests []*Transfer
|
||||
var requests []*Transfer = make([]*Transfer, 0)
|
||||
s.transferList.Range(func(key, value any) bool {
|
||||
requests = append(requests, value.(*Transfer))
|
||||
return true
|
||||
|
||||
13
main.go
13
main.go
@@ -81,20 +81,25 @@ func main() {
|
||||
|
||||
// 窗口关闭事件
|
||||
window.OnWindowEvent(events.Common.WindowClosing, func(event *application.WindowEvent) {
|
||||
// 保存配置
|
||||
x, y := window.Position()
|
||||
width, height := window.Size()
|
||||
conf.WindowState = config.WindowState{
|
||||
conf.SetWindowState(config.WindowState{
|
||||
X: x,
|
||||
Y: y,
|
||||
Width: width,
|
||||
Height: height,
|
||||
}
|
||||
_ = conf.Save()
|
||||
})
|
||||
|
||||
// 保存传输历史
|
||||
if conf.GetSaveHistory() {
|
||||
transferService.SaveHistory()
|
||||
}
|
||||
|
||||
// 保存配置
|
||||
err := conf.Save()
|
||||
if err != nil {
|
||||
slog.Error("Failed to save config", "error", err)
|
||||
}
|
||||
})
|
||||
|
||||
application.RegisterEvent[FilesDroppedEvent]("files-dropped")
|
||||
|
||||
Reference in New Issue
Block a user