Fossil SCM
Enhance the H shortcut to consider the secondary selection on the /vdiff page as a waypoint.
Commit
0c024627dc03fc23fce442aa6089fcf8e87f8a18bea2f2f4bb31809b4995bf8d
Parent
1d5e6e3cae2f2d5…
1 file changed
+16
-7
+16
-7
| --- src/graph.js | ||
| +++ src/graph.js | ||
| @@ -849,16 +849,23 @@ | ||
| 849 | 849 | ** something similar to the scrollToSelected() function in this source file. |
| 850 | 850 | */ |
| 851 | 851 | (function(){ |
| 852 | 852 | window.addEventListener('load',function(){ |
| 853 | 853 | function focusDefaultId(){ |
| 854 | - var tn = document.querySelector('.timelineSelected .tl-nodemark') || | |
| 855 | - document.querySelector('.timelineCurrent .tl-nodemark'); | |
| 854 | + var tn = document.querySelector( | |
| 855 | + '.timelineSelected:not(.timelineSecondary) .tl-nodemark') | |
| 856 | + || document.querySelector('.timelineSelected .tl-nodemark') | |
| 857 | + || document.querySelector('.timelineCurrent .tl-nodemark'); | |
| 856 | 858 | return tn ? tn.id : 'm1'; |
| 857 | 859 | } |
| 858 | 860 | function focusSelectedId(){ |
| 859 | - var tn = document.querySelector('.timelineSelected .tl-nodemark'); | |
| 861 | + var tn = document.querySelector( | |
| 862 | + '.timelineSelected:not(.timelineSecondary) .tl-nodemark'); | |
| 863 | + return tn ? tn.id : null; | |
| 864 | + } | |
| 865 | + function focus2ndSelectedId(){ | |
| 866 | + var tn = document.querySelector('.timelineSecondary .tl-nodemark'); | |
| 860 | 867 | return tn ? tn.id : null; |
| 861 | 868 | } |
| 862 | 869 | function focusCurrentId(){ |
| 863 | 870 | var tn = document.querySelector('.timelineCurrent .tl-nodemark'); |
| 864 | 871 | return tn ? tn.id : null; |
| @@ -999,16 +1006,18 @@ | ||
| 999 | 1006 | document.cookie = 'fossil_timeline_kbnav=1;path=/'; |
| 1000 | 1007 | var id = focusCacheGet(); |
| 1001 | 1008 | if( id && dx==0 ){ |
| 1002 | 1009 | if( key==kCYCL ){ |
| 1003 | 1010 | var sel = focusSelectedId(); |
| 1011 | + var sl2 = focus2ndSelectedId(); | |
| 1004 | 1012 | var cur = focusCurrentId(); |
| 1005 | 1013 | var tik = focusTickedId(); |
| 1006 | - if( id==sel ) id = cur || tik || sel; | |
| 1007 | - else if( id==cur ) id = tik || sel || cur; | |
| 1008 | - else if( id==tik ) id = sel || cur || tik; | |
| 1009 | - else id = sel || cur || tik || id; | |
| 1014 | + if( id==sel ) id = sl2 || cur || tik || sel; | |
| 1015 | + else if( id==sl2 ) id = cur || tik || sel || sl2; | |
| 1016 | + else if( id==cur ) id = tik || sel || sl2 || cur; | |
| 1017 | + else if( id==tik ) id = sel || sl2 || cur || tik; | |
| 1018 | + else id = sel || sl2 || cur || tik || id; | |
| 1010 | 1019 | } |
| 1011 | 1020 | else if( key==kTICK ){ |
| 1012 | 1021 | var gn = document.getElementById('tln'+id.slice(1)); |
| 1013 | 1022 | if( gn ) gn.click(); |
| 1014 | 1023 | } |
| 1015 | 1024 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -849,16 +849,23 @@ | |
| 849 | ** something similar to the scrollToSelected() function in this source file. |
| 850 | */ |
| 851 | (function(){ |
| 852 | window.addEventListener('load',function(){ |
| 853 | function focusDefaultId(){ |
| 854 | var tn = document.querySelector('.timelineSelected .tl-nodemark') || |
| 855 | document.querySelector('.timelineCurrent .tl-nodemark'); |
| 856 | return tn ? tn.id : 'm1'; |
| 857 | } |
| 858 | function focusSelectedId(){ |
| 859 | var tn = document.querySelector('.timelineSelected .tl-nodemark'); |
| 860 | return tn ? tn.id : null; |
| 861 | } |
| 862 | function focusCurrentId(){ |
| 863 | var tn = document.querySelector('.timelineCurrent .tl-nodemark'); |
| 864 | return tn ? tn.id : null; |
| @@ -999,16 +1006,18 @@ | |
| 999 | document.cookie = 'fossil_timeline_kbnav=1;path=/'; |
| 1000 | var id = focusCacheGet(); |
| 1001 | if( id && dx==0 ){ |
| 1002 | if( key==kCYCL ){ |
| 1003 | var sel = focusSelectedId(); |
| 1004 | var cur = focusCurrentId(); |
| 1005 | var tik = focusTickedId(); |
| 1006 | if( id==sel ) id = cur || tik || sel; |
| 1007 | else if( id==cur ) id = tik || sel || cur; |
| 1008 | else if( id==tik ) id = sel || cur || tik; |
| 1009 | else id = sel || cur || tik || id; |
| 1010 | } |
| 1011 | else if( key==kTICK ){ |
| 1012 | var gn = document.getElementById('tln'+id.slice(1)); |
| 1013 | if( gn ) gn.click(); |
| 1014 | } |
| 1015 |
| --- src/graph.js | |
| +++ src/graph.js | |
| @@ -849,16 +849,23 @@ | |
| 849 | ** something similar to the scrollToSelected() function in this source file. |
| 850 | */ |
| 851 | (function(){ |
| 852 | window.addEventListener('load',function(){ |
| 853 | function focusDefaultId(){ |
| 854 | var tn = document.querySelector( |
| 855 | '.timelineSelected:not(.timelineSecondary) .tl-nodemark') |
| 856 | || document.querySelector('.timelineSelected .tl-nodemark') |
| 857 | || document.querySelector('.timelineCurrent .tl-nodemark'); |
| 858 | return tn ? tn.id : 'm1'; |
| 859 | } |
| 860 | function focusSelectedId(){ |
| 861 | var tn = document.querySelector( |
| 862 | '.timelineSelected:not(.timelineSecondary) .tl-nodemark'); |
| 863 | return tn ? tn.id : null; |
| 864 | } |
| 865 | function focus2ndSelectedId(){ |
| 866 | var tn = document.querySelector('.timelineSecondary .tl-nodemark'); |
| 867 | return tn ? tn.id : null; |
| 868 | } |
| 869 | function focusCurrentId(){ |
| 870 | var tn = document.querySelector('.timelineCurrent .tl-nodemark'); |
| 871 | return tn ? tn.id : null; |
| @@ -999,16 +1006,18 @@ | |
| 1006 | document.cookie = 'fossil_timeline_kbnav=1;path=/'; |
| 1007 | var id = focusCacheGet(); |
| 1008 | if( id && dx==0 ){ |
| 1009 | if( key==kCYCL ){ |
| 1010 | var sel = focusSelectedId(); |
| 1011 | var sl2 = focus2ndSelectedId(); |
| 1012 | var cur = focusCurrentId(); |
| 1013 | var tik = focusTickedId(); |
| 1014 | if( id==sel ) id = sl2 || cur || tik || sel; |
| 1015 | else if( id==sl2 ) id = cur || tik || sel || sl2; |
| 1016 | else if( id==cur ) id = tik || sel || sl2 || cur; |
| 1017 | else if( id==tik ) id = sel || sl2 || cur || tik; |
| 1018 | else id = sel || sl2 || cur || tik || id; |
| 1019 | } |
| 1020 | else if( key==kTICK ){ |
| 1021 | var gn = document.getElementById('tln'+id.slice(1)); |
| 1022 | if( gn ) gn.click(); |
| 1023 | } |
| 1024 |