feat(ui): 开机自启动 + 窗口大小记忆

- win32/autostart: SetAutoStart/IsAutoStartEnabled 操作 HKCU Run 键
- win32/window_size: GetWindowSize 通过 GetWindowRect 获取窗口尺寸
- config: 新增 AutoStart、WindowWidth、WindowHeight 字段
- store: Preferences/SetPreferences 扩展支持 autoStart + windowSize
- dialog_preferences: 新增"开机自启动"复选框
- app.go: 启动时恢复窗口大小,关闭时通过 SetWindowSize 保存
- i18n: label_auto_start / hint_auto_start 三语翻译
This commit is contained in:
2026-06-12 11:10:25 +08:00
parent cb4d88ebdd
commit 1605b5b7ae
11 changed files with 278 additions and 17 deletions
+11 -4
View File
@@ -30,8 +30,15 @@ type Config struct {
AutoLockMinutes int `yaml:"auto_lock_minutes,omitempty" json:"auto_lock_minutes,omitempty"`
// MinimizeToTray sends the window to the system tray instead of
// exiting when the close button is pressed.
MinimizeToTray bool `yaml:"minimize_to_tray,omitempty" json:"minimize_to_tray,omitempty"`
Encrypted bool `yaml:"encrypted" json:"encrypted"`
EncryptedBlob string `yaml:"encrypted_blob,omitempty" json:"encrypted_blob,omitempty"`
Entries []Entry `yaml:"entries,omitempty" json:"entries,omitempty"`
MinimizeToTray bool `yaml:"minimize_to_tray,omitempty" json:"minimize_to_tray,omitempty"`
// AutoStart registers the application to launch at Windows logon
// via the HKCU Run key.
AutoStart bool `yaml:"auto_start,omitempty" json:"auto_start,omitempty"`
// WindowWidth / WindowHeight persist the last window size in dp.
// Zero means "use the default 560×420".
WindowWidth int `yaml:"window_width,omitempty" json:"window_width,omitempty"`
WindowHeight int `yaml:"window_height,omitempty" json:"window_height,omitempty"`
Encrypted bool `yaml:"encrypted" json:"encrypted"`
EncryptedBlob string `yaml:"encrypted_blob,omitempty" json:"encrypted_blob,omitempty"`
Entries []Entry `yaml:"entries,omitempty" json:"entries,omitempty"`
}