Browse Source

:art: 支持数据快照对比 https://github.com/siyuan-note/siyuan/issues/6858

Liang Ding 2 years ago
parent
commit
db5d0962ba
2 changed files with 31 additions and 7 deletions
  1. 19 7
      app/electron/main.js
  2. 12 0
      kernel/model/repository.go

+ 19 - 7
app/electron/main.js

@@ -441,6 +441,24 @@ const boot = () => {
 
     resetTrayMenu()
   }
+  const setWndTopMenu = {
+    label: trayMenu.cancelWindowTop,
+    click: () => {
+      setCancelWndTop()
+    },
+  }
+  const setCancelWndTop = () => {
+    if (!mainWindow.isAlwaysOnTop()) {
+      mainWindow.setAlwaysOnTop(true)
+      setWndTopMenu.label = trayMenu.cancelWindowTop
+    } else {
+      mainWindow.setAlwaysOnTop(false)
+      setWndTopMenu.label = trayMenu.setWindowTop
+    }
+
+    resetTrayMenu()
+  }
+
 
   const buildTrayMenuTemplate = () => {
     let ret = [
@@ -477,13 +495,7 @@ const boot = () => {
       let changeWndTop = {
         label: trayMenu.setWindowTop,
         click: () => {
-          if (!mainWindow.isAlwaysOnTop()) {
-            mainWindow.setAlwaysOnTop(true)
-            changeWndTop.label = trayMenu.cancelWindowTop
-          } else {
-            mainWindow.setAlwaysOnTop(false)
-            changeWndTop.label = trayMenu.setWindowTop
-          }
+
         },
       };
       ret.splice(1, 0, changeWndTop)

+ 12 - 0
kernel/model/repository.go

@@ -169,6 +169,9 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) {
 			Title:  title,
 		})
 	}
+	if 1 > len(ret.AddsLeft) {
+		ret.AddsLeft = []*DiffFile{}
+	}
 
 	for _, updateLeft := range diff.UpdatesLeft {
 		title, err := parseTitleInSnapshot(updateLeft.ID, repo, luteEngine)
@@ -182,6 +185,9 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) {
 			Title:  title,
 		})
 	}
+	if 1 > len(ret.UpdatesLeft) {
+		ret.UpdatesLeft = []*DiffFile{}
+	}
 
 	for _, updateRight := range diff.UpdatesRight {
 		title, err := parseTitleInSnapshot(updateRight.ID, repo, luteEngine)
@@ -195,6 +201,9 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) {
 			Title:  title,
 		})
 	}
+	if 1 > len(ret.UpdatesRight) {
+		ret.UpdatesRight = []*DiffFile{}
+	}
 
 	for _, removeRight := range diff.RemovesRight {
 		title, err := parseTitleInSnapshot(removeRight.ID, repo, luteEngine)
@@ -208,6 +217,9 @@ func DiffRepoSnapshots(left, right string) (ret *LeftRightDiff, err error) {
 			Title:  title,
 		})
 	}
+	if 1 > len(ret.RemovesRight) {
+		ret.RemovesRight = []*DiffFile{}
+	}
 	return
 }