@@ -71,14 +71,14 @@ commands={commands}
7171 <DirectoryListing
7272 path ={localLeftDir }
7373 edit ={setEditDirFlagLeft }
74- on:dirChange ={(e ) => { changeDir (e .detail , ' left' ); setEditDirFlagLeft = false ; }}
74+ on:dirChange ={(e ) => { changeDir (e .detail , ' left' , ' ' ); setEditDirFlagLeft = false ; }}
7575 on:updateDir ={(e ) => { refreshLeftPane (); }}
7676 />
7777 <Pane
7878 pane =' left'
7979 entries ={leftEntries }
8080 utilities ={localLeftDir .fileSystem }
81- on:changeDir ={(e ) => { changeDir (e .detail .dir , e .detail .pane ); }}
81+ on:changeDir ={(e ) => { changeDir (e .detail .dir , e .detail .pane , ' ' ); }}
8282 on:openFile ={(e ) => { openFile (e .detail .entry ); }}
8383 />
8484 {/if }
@@ -97,14 +97,14 @@ commands={commands}
9797 <DirectoryListing
9898 path ={localRightDir }
9999 edit ={setEditDirFlagRight }
100- on:dirChange ={(e ) => { changeDir (e .detail , ' right' ); setEditDirFlagRight = false ; }}
100+ on:dirChange ={(e ) => { changeDir (e .detail , ' right' , ' ' ); setEditDirFlagRight = false ; }}
101101 on:updateDir ={(e ) => { refreshRightPane (); }}
102102 />
103103 <Pane
104104 pane =' right'
105105 entries ={rightEntries }
106106 utilities ={localRightDir .fileSystem }
107- on:changeDir ={(e ) => {changeDir (e .detail .dir , e .detail .pane ); }}
107+ on:changeDir ={(e ) => {changeDir (e .detail .dir , e .detail .pane , ' ' ); }}
108108 on:openFile ={(e ) => { openFile (e .detail .entry ); }}
109109 />
110110 {/if }
@@ -966,12 +966,12 @@ commands={commands}
966966 changeDir ({
967967 path: nEntry,
968968 cursor: true
969- },' left' );
969+ },' left' , ' ' );
970970 } else {
971971 changeDir ({
972972 path: nEntry,
973973 cursor: true
974- },' right' );
974+ },' right' , ' ' );
975975 }
976976 }
977977
@@ -1013,20 +1013,37 @@ commands={commands}
10131013 function reloadPane () {
10141014 changeDir ({
10151015 path: localCurrentCursor .entry .dir ,
1016- cursor: true
1017- }, localCurrentCursor .pane );
1016+ cursor: true ,
1017+ },
1018+ localCurrentCursor .pane ,
1019+ localCurrentCursor .entry .name
1020+ );
10181021 }
10191022
1020- function changeDir (dirOb , npane ) {
1023+ function changeDir (dirOb , npane , name ) {
10211024 var ndir = dirOb .path ;
10221025 if (typeof npane === ' undefined' ) npane = localCurrentCursor .pane ;
10231026 if (typeof dirOb .cursor === ' undefined' ) dirOb .cursor = true ;
1027+ if (typeof name === ' undefined' ) name = ' ' ;
10241028 if (npane == ' left' ) {
10251029 leftDir .set ({path: ndir, fileSystemType: localLeftDir .fileSystemType , fileSystem: localLeftDir .fileSystem });
10261030 leftEntries = localLeftDir .fileSystem .getDirList (ndir);
10271031 if (leftEntries .length !== 0 ) {
1028- currentLeftFile .set ({ entry: leftEntries[0 ]});
1029- if (dirOb .cursor ) currentCursor .set ({ entry: leftEntries[0 ], pane: npane});
1032+ var entry = leftEntries .filter (item => item .name === name);
1033+ if (entry .length !== 0 ) {
1034+ console .log (entry[0 ]);
1035+ currentLeftFile .set ({
1036+ entry: entry[0 ],
1037+ pane: npane
1038+ });
1039+ currentCursor .set ({
1040+ entry: entry[0 ],
1041+ pane: npane
1042+ });
1043+ } else {
1044+ currentLeftFile .set ({ entry: leftEntries[0 ], pane: npane});
1045+ currentCursor .set ({ entry: leftEntries[0 ], pane: npane});
1046+ }
10301047 } else {
10311048 currentLeftFile .set ({ entry: {
10321049 name: ' ' ,
@@ -1053,8 +1070,20 @@ commands={commands}
10531070 rightDir .set ({path: ndir, fileSystemType: localRightDir .fileSystemType , fileSystem: localRightDir .fileSystem });
10541071 rightEntries = localRightDir .fileSystem .getDirList (ndir);
10551072 if (rightEntries .length !== 0 ) {
1056- currentRightFile .set ({ entry: rightEntries[0 ]});
1057- if (dirOb .cursor ) currentCursor .set ({ entry: rightEntries[0 ], pane: npane});
1073+ var entry = rightEntries .filter (item => item .name === name);
1074+ if (entry .length !== 0 ) {
1075+ currentRightFile .set ({
1076+ entry: entry[0 ],
1077+ pane: npane
1078+ });
1079+ currentCursor .set ({
1080+ entry: entry[0 ],
1081+ pane: npane
1082+ });
1083+ } else {
1084+ currentRightFile .set ({ entry: rightEntries[0 ], pane: npane});
1085+ currentCursor .set ({ entry: rightEntries[0 ], pane: npane});
1086+ }
10581087 } else {
10591088 currentRightFile .set ({ entry: {
10601089 name: ' ' ,
@@ -1121,8 +1150,8 @@ commands={commands}
11211150 var newDir = localCurrentCursor .entry .fileSystem .appendPath (localCurrentCursor .entry .dir , localCurrentCursor .entry .name );
11221151 changeDir ({
11231152 path: newDir,
1124- cursor: true
1125- }, localCurrentCursor .pane );
1153+ cursor: true
1154+ }, localCurrentCursor .pane , ' ' );
11261155 }
11271156 }
11281157
@@ -1449,19 +1478,23 @@ commands={commands}
14491478 // Refresh right pane.
14501479 //
14511480 rightEntries = localRightDir .fileSystem .getDirList (localRightDir .path );
1452- var current = rightEntries[ 0 ] ;
1481+ var current = currentRightFile . entry ;
14531482 if (rightEntries .length == 0 ) {
14541483 current = {
14551484 name: ' ' ,
1456- dir: currentRightFile . entry . dir ,
1457- fileSystemType: currentRightFile . entry .fileSystemType ,
1458- fileSystem: currentRightFile . entry .fileSystem ,
1485+ dir: localRightDir . path ,
1486+ fileSystemType: localRightDir .fileSystemType ,
1487+ fileSystem: localRightDir .fileSystem ,
14591488 selected: false ,
14601489 datetime: ' ' ,
14611490 type: 0 ,
14621491 size: 0 ,
14631492 stats: null
14641493 };
1494+ } else {
1495+ if ((typeof current === ' undefined' )|| (current === null )|| (rightEntries .filter (item => item .name === current .name ).length === 0 )) {
1496+ current = rightEntries[0 ];
1497+ }
14651498 }
14661499 if (localCurrentCursor .pane == ' right' ) {
14671500 currentCursor .set ({
@@ -1479,20 +1512,25 @@ commands={commands}
14791512 // Refresh left pane.
14801513 //
14811514 leftEntries = localLeftDir .fileSystem .getDirList (localLeftDir .path );
1482- var current = leftEntries[ 0 ] ;
1515+ var current = currentLeftFile . entry ;
14831516 if (leftEntries .length === 0 ) {
14841517 current = {
14851518 name: ' ' ,
1486- dir: currentRightFile . entry .dir ,
1487- fileSystemType: currentLeftFile . entry .fileSystemType ,
1488- fileSystem: currentLeftFile . entry .fileSystem ,
1519+ dir: localLeftDir .dir ,
1520+ fileSystemType: localLeftDir .fileSystemType ,
1521+ fileSystem: localLeftDir .fileSystem ,
14891522 selected: false ,
14901523 datetime: ' ' ,
14911524 type: 0 ,
14921525 size: 0 ,
14931526 stats: null
14941527 };
1528+ } else {
1529+ if ((typeof current === ' undefined' )|| (current === null )|| (leftEntries .filter (item => item .name === current .name ).length === 0 )) {
1530+ current = leftEntries[0 ];
1531+ }
14951532 }
1533+
14961534 if (localCurrentCursor .pane == ' left' ) {
14971535 currentCursor .set ({
14981536 entry: current,
0 commit comments