Fossil SCM
Shortcuts G and SHIFT+G to load the default timeline, or the timeline around the current check-out.
Commit
2ed74216fb54c2d5a1ff4d08fad2830ae7282f42765be9ff15f50cccd443eb4c
Parent
e5c5e6f0e9da7a0…
2 files changed
+21
+2
+21
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -1011,10 +1011,12 @@ | ||
| 1011 | 1011 | kCPYH = 66 /* B */, |
| 1012 | 1012 | kCPYB = mSHIFT | 66 /* SHIFT+B */, |
| 1013 | 1013 | kTMLN = 76 /* L */, |
| 1014 | 1014 | kTMLB = mSHIFT | 76 /* SHIFT+L */, |
| 1015 | 1015 | kVIEW = 75 /* K */, |
| 1016 | + kVDEF = 71 /* G */, | |
| 1017 | + kVCUR = mSHIFT | 71 /* SHIFT+G */, | |
| 1016 | 1018 | kDONE = 27 /* ESC */, |
| 1017 | 1019 | mod = evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13, |
| 1018 | 1020 | key = ( evt.which || evt.keyCode ) | mod; |
| 1019 | 1021 | var dx = 0; |
| 1020 | 1022 | switch( key ){ |
| @@ -1030,10 +1032,12 @@ | ||
| 1030 | 1032 | case kCPYH: |
| 1031 | 1033 | case kCPYB: |
| 1032 | 1034 | case kTMLN: |
| 1033 | 1035 | case kTMLB: |
| 1034 | 1036 | case kVIEW: |
| 1037 | + case kVDEF: | |
| 1038 | + case kVCUR: | |
| 1035 | 1039 | case kDONE: break; |
| 1036 | 1040 | default: return; |
| 1037 | 1041 | } |
| 1038 | 1042 | evt.preventDefault(); |
| 1039 | 1043 | evt.stopPropagation(); |
| @@ -1067,10 +1071,27 @@ | ||
| 1067 | 1071 | copyTextToClipboard( |
| 1068 | 1072 | key==kCPYH ? ri.hash.slice(0,ri.hashdigits) : ri.branch); |
| 1069 | 1073 | } |
| 1070 | 1074 | } |
| 1071 | 1075 | return; |
| 1076 | + } | |
| 1077 | + else if( key==kVDEF || key==kVCUR ){ | |
| 1078 | + var ri = timelineGetRowInfo('m1'); | |
| 1079 | + if( ri ){ | |
| 1080 | + var page; | |
| 1081 | + switch( key ){ | |
| 1082 | + case kVDEF: | |
| 1083 | + page = '/timeline'; | |
| 1084 | + break; | |
| 1085 | + case kVCUR: | |
| 1086 | + page = '/timeline?c=current'; | |
| 1087 | + break; | |
| 1088 | + } | |
| 1089 | + var href = ri.baseurl + page; | |
| 1090 | + if( href!=location.href.slice(-href.length) ) location.href = href; | |
| 1091 | + } | |
| 1092 | + return; | |
| 1072 | 1093 | } |
| 1073 | 1094 | else if( key==kDONE ){ |
| 1074 | 1095 | focusCacheSet(null); |
| 1075 | 1096 | focusVisualize(null,false); |
| 1076 | 1097 | focusCookieClear(); |
| 1077 | 1098 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -1011,10 +1011,12 @@ | |
| 1011 | kCPYH = 66 /* B */, |
| 1012 | kCPYB = mSHIFT | 66 /* SHIFT+B */, |
| 1013 | kTMLN = 76 /* L */, |
| 1014 | kTMLB = mSHIFT | 76 /* SHIFT+L */, |
| 1015 | kVIEW = 75 /* K */, |
| 1016 | kDONE = 27 /* ESC */, |
| 1017 | mod = evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13, |
| 1018 | key = ( evt.which || evt.keyCode ) | mod; |
| 1019 | var dx = 0; |
| 1020 | switch( key ){ |
| @@ -1030,10 +1032,12 @@ | |
| 1030 | case kCPYH: |
| 1031 | case kCPYB: |
| 1032 | case kTMLN: |
| 1033 | case kTMLB: |
| 1034 | case kVIEW: |
| 1035 | case kDONE: break; |
| 1036 | default: return; |
| 1037 | } |
| 1038 | evt.preventDefault(); |
| 1039 | evt.stopPropagation(); |
| @@ -1067,10 +1071,27 @@ | |
| 1067 | copyTextToClipboard( |
| 1068 | key==kCPYH ? ri.hash.slice(0,ri.hashdigits) : ri.branch); |
| 1069 | } |
| 1070 | } |
| 1071 | return; |
| 1072 | } |
| 1073 | else if( key==kDONE ){ |
| 1074 | focusCacheSet(null); |
| 1075 | focusVisualize(null,false); |
| 1076 | focusCookieClear(); |
| 1077 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -1011,10 +1011,12 @@ | |
| 1011 | kCPYH = 66 /* B */, |
| 1012 | kCPYB = mSHIFT | 66 /* SHIFT+B */, |
| 1013 | kTMLN = 76 /* L */, |
| 1014 | kTMLB = mSHIFT | 76 /* SHIFT+L */, |
| 1015 | kVIEW = 75 /* K */, |
| 1016 | kVDEF = 71 /* G */, |
| 1017 | kVCUR = mSHIFT | 71 /* SHIFT+G */, |
| 1018 | kDONE = 27 /* ESC */, |
| 1019 | mod = evt.altKey<<15 | evt.ctrlKey<<14 | evt.shiftKey<<13, |
| 1020 | key = ( evt.which || evt.keyCode ) | mod; |
| 1021 | var dx = 0; |
| 1022 | switch( key ){ |
| @@ -1030,10 +1032,12 @@ | |
| 1032 | case kCPYH: |
| 1033 | case kCPYB: |
| 1034 | case kTMLN: |
| 1035 | case kTMLB: |
| 1036 | case kVIEW: |
| 1037 | case kVDEF: |
| 1038 | case kVCUR: |
| 1039 | case kDONE: break; |
| 1040 | default: return; |
| 1041 | } |
| 1042 | evt.preventDefault(); |
| 1043 | evt.stopPropagation(); |
| @@ -1067,10 +1071,27 @@ | |
| 1071 | copyTextToClipboard( |
| 1072 | key==kCPYH ? ri.hash.slice(0,ri.hashdigits) : ri.branch); |
| 1073 | } |
| 1074 | } |
| 1075 | return; |
| 1076 | } |
| 1077 | else if( key==kVDEF || key==kVCUR ){ |
| 1078 | var ri = timelineGetRowInfo('m1'); |
| 1079 | if( ri ){ |
| 1080 | var page; |
| 1081 | switch( key ){ |
| 1082 | case kVDEF: |
| 1083 | page = '/timeline'; |
| 1084 | break; |
| 1085 | case kVCUR: |
| 1086 | page = '/timeline?c=current'; |
| 1087 | break; |
| 1088 | } |
| 1089 | var href = ri.baseurl + page; |
| 1090 | if( href!=location.href.slice(-href.length) ) location.href = href; |
| 1091 | } |
| 1092 | return; |
| 1093 | } |
| 1094 | else if( key==kDONE ){ |
| 1095 | focusCacheSet(null); |
| 1096 | focusVisualize(null,false); |
| 1097 | focusCookieClear(); |
| 1098 |
+2
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -1646,10 +1646,12 @@ | ||
| 1646 | 1646 | ** b Copy commit hash of focused entry to clipboard. |
| 1647 | 1647 | ** B Copy branch name of focused entry to clipboard. |
| 1648 | 1648 | ** l View timeline of focused entry. |
| 1649 | 1649 | ** L View timeline of focused entry filtered by branch. |
| 1650 | 1650 | ** k View details of focused entry. |
| 1651 | +** g View default timeline. | |
| 1652 | +** G View timeline around current (check-out) entry. | |
| 1651 | 1653 | ** ESC Disable keyboard navigation mode. |
| 1652 | 1654 | */ |
| 1653 | 1655 | void page_timeline(void){ |
| 1654 | 1656 | Stmt q; /* Query used to generate the timeline */ |
| 1655 | 1657 | Blob sql; /* text of SQL used to generate timeline */ |
| 1656 | 1658 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1646,10 +1646,12 @@ | |
| 1646 | ** b Copy commit hash of focused entry to clipboard. |
| 1647 | ** B Copy branch name of focused entry to clipboard. |
| 1648 | ** l View timeline of focused entry. |
| 1649 | ** L View timeline of focused entry filtered by branch. |
| 1650 | ** k View details of focused entry. |
| 1651 | ** ESC Disable keyboard navigation mode. |
| 1652 | */ |
| 1653 | void page_timeline(void){ |
| 1654 | Stmt q; /* Query used to generate the timeline */ |
| 1655 | Blob sql; /* text of SQL used to generate timeline */ |
| 1656 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1646,10 +1646,12 @@ | |
| 1646 | ** b Copy commit hash of focused entry to clipboard. |
| 1647 | ** B Copy branch name of focused entry to clipboard. |
| 1648 | ** l View timeline of focused entry. |
| 1649 | ** L View timeline of focused entry filtered by branch. |
| 1650 | ** k View details of focused entry. |
| 1651 | ** g View default timeline. |
| 1652 | ** G View timeline around current (check-out) entry. |
| 1653 | ** ESC Disable keyboard navigation mode. |
| 1654 | */ |
| 1655 | void page_timeline(void){ |
| 1656 | Stmt q; /* Query used to generate the timeline */ |
| 1657 | Blob sql; /* text of SQL used to generate timeline */ |
| 1658 |