Skip to content

Commit

Permalink
Merge pull request #324 from ganeshrvel/revert-321-release/3.2.11
Browse files Browse the repository at this point in the history
Revert "Added 'Select a range of files using shift+click'"
  • Loading branch information
ganeshrvel committed Feb 8, 2023
2 parents 3492b61 + d8cfb20 commit de69d76
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 146 deletions.
45 changes: 22 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,29 +64,28 @@ Do checkout the Go package which I've written to build Kalam Kernel: [github.com

### Keyboard Shortcuts

| Command | Keyboard Shortcut |
| ------------------------------------------------- | ---------------------------------------------------- |
| Delete | <kbd>backspace</kbd> |
| New Folder | <kbd>command (⌘)</kbd>+<kbd>n</kbd> |
| Copy | <kbd>command (⌘)</kbd>+<kbd>c</kbd> |
| Copy to Queue | <kbd>command (⌘)</kbd>+<kbd>shift</kbd>+<kbd>c</kbd> |
| Paste | <kbd>command (⌘)</kbd>+<kbd>v</kbd> |
| Refresh | <kbd>command (⌘)</kbd> +<kbd>r</kbd> |
| Folder Up | <kbd>command (⌘)</kbd>+<kbd>b</kbd> |
| Select All | <kbd>command (⌘)</kbd>+<kbd>a</kbd> |
| Rename | <kbd>command (⌘)</kbd>+<kbd>d</kbd> |
| Switch Tab | <kbd>command(⌘)</kbd>+<kbd>1</kbd> |
| Open | <kbd>enter</kbd> |
| Navigate Left | <kbd>left</kbd> |
| Navigate Right | <kbd>right</kbd> |
| Navigate Up | <kbd>up</kbd> |
| Navigate Down | <kbd>down</kbd> |
| Select Multiple Files Forward **(in Grid View)** | <kbd>shift</kbd>+<kbd>left</kbd> |
| Select Multiple Files Backward **(in Grid View)** | <kbd>shift</kbd>+<kbd>right</kbd> |
| Select Multiple Files Forward **(in List View)** | <kbd>shift</kbd>+<kbd>up</kbd> |
| Select Multiple Files Backward **(in List View)** | <kbd>shift</kbd>+<kbd>down</kbd> |
| Select Range of Files **(using mouse)** | <kbd>shift</kbd>+<kbd>click</kbd> |
| Select Multiple Files **(using mouse)** | <kbd>command (⌘)</kbd>+<kbd>click</kbd> |
| Command | Keyboard Shortcut |
| ------------------------------------------------- | ---------------------------------------------------------------------------- |
| Delete | <kbd>backspace</kbd> |
| New Folder | <kbd>command (⌘)</kbd>+<kbd>n</kbd> |
| Copy | <kbd>command (⌘)</kbd>+<kbd>c</kbd> |
| Copy to Queue | <kbd>command (⌘)</kbd>+<kbd>shift</kbd>+<kbd>c</kbd> |
| Paste | <kbd>command (⌘)</kbd>+<kbd>v</kbd> |
| Refresh | <kbd>command (⌘)</kbd> +<kbd>r</kbd> |
| Folder Up | <kbd>command (⌘)</kbd>+<kbd>b</kbd> |
| Select All | <kbd>command (⌘)</kbd>+<kbd>a</kbd> |
| Rename | <kbd>command (⌘)</kbd>+<kbd>d</kbd> |
| Switch Tab | <kbd>command(⌘)</kbd>+<kbd>1</kbd> |
| Open | <kbd>enter</kbd> |
| Navigate Left | <kbd>left</kbd> |
| Navigate Right | <kbd>right</kbd> |
| Navigate Up | <kbd>up</kbd> |
| Navigate Down | <kbd>down</kbd> |
| Select Multiple Items Forward **(in Grid View)** | <kbd>shift</kbd>+<kbd>left</kbd> |
| Select Multiple Items Backward **(in Grid View)** | <kbd>shift</kbd>+<kbd>right</kbd> |
| Select Multiple Items Forward **(in List View)** | <kbd>shift</kbd>+<kbd>up</kbd> |
| Select Multiple Items Backward **(in List View)** | <kbd>shift</kbd>+<kbd>down</kbd> |
| Select Multiple Items **(with mouse)** | <kbd>command (⌘)</kbd>+<kbd>click</kbd> or <kbd>shift</kbd>+<kbd>click</kbd> |

## Building from Source

Expand Down
16 changes: 6 additions & 10 deletions app/constants/keymaps.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,27 +63,23 @@ export const fileExplorerKeymaps = {
keys: ['down'],
},
multipleSelectLeft: {
label: `Select Multiple Files Forward (for Grid view)`,
label: `Select Multiple Items Forward (for Grid view)`,
keys: ['shift+left'],
},
multipleSelectRight: {
label: `Select Multiple Files Backward (for Grid view)`,
label: `Select Multiple Items Backward (for Grid view)`,
keys: ['shift+right'],
},
multipleSelectUp: {
label: `Select Multiple Files Forward (for List view)`,
label: `Select Multiple Items Forward (for List view)`,
keys: ['shift+up'],
},
multipleSelectDown: {
label: `Select Multiple Files Backward (for List view)`,
label: `Select Multiple Items Backward (for List view)`,
keys: ['shift+down'],
},
multipleRangeSelectClick: {
label: `Select Range of Files (using mouse)`,
keys: ['shift+click'],
},
multipleSelectClick: {
label: `Select Multiple Files (using mouse)`,
keys: ['command+click'],
label: `Select Multiple Items (using mouse)`,
keys: ['command+click', 'shift+click'],
},
};
131 changes: 27 additions & 104 deletions app/containers/HomePage/components/FileExplorer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,6 @@ class FileExplorer extends Component {

this.keyedAcceleratorList = {
shift: false,
meta: false,
};

this.usbHotplug = {
Expand Down Expand Up @@ -512,25 +511,18 @@ class FileExplorer extends Component {
return;
}

if (event.type === 'keydown') {
if (['shift'].includes(event.key.toLowerCase())) {
switch (event.key) {
case 'Shift':
case 'shift':
case 'Meta':
case 'meta':
this.keyedAcceleratorList = {
...this.keyedAcceleratorList,
shift: true,
shift: pressed,
};
}

if (['meta'].includes(event.key.toLowerCase())) {
this.keyedAcceleratorList = {
...this.keyedAcceleratorList,
meta: true,
};
}
} else {
this.keyedAcceleratorList = {
shift: false,
meta: false,
};
break;
default:
break;
}
};

Expand Down Expand Up @@ -583,13 +575,13 @@ class FileExplorer extends Component {
item: [],
};

for (const [index, item] of nodes.entries()) {
nodes.filter((item, index) => {
if (
undefinedOrNull(selected) ||
!isArray(selected) ||
selected.length < 1
) {
return _return;
return null;
}

for (let i = 0; i < selected.length; i += 1) {
Expand All @@ -608,12 +600,12 @@ class FileExplorer extends Component {
index,
item,
};

return _return;
}
}
}
}

return _return;
});

return _return;
};
Expand Down Expand Up @@ -1861,98 +1853,29 @@ class FileExplorer extends Component {

const { directoryLists, actionCreateTableClick } = this.props;
const { selected } = directoryLists[deviceType].queue;
const { nodes, order, orderBy } = directoryLists[deviceType];
const selectedIndex = selected.indexOf(path);
let _dontAppend = dontAppend;
let newSelected = [];

if (
shiftKeyAcceleratorEnable &&
(this.keyedAcceleratorList.shift || this.keyedAcceleratorList.meta)
) {
if (shiftKeyAcceleratorEnable && this.keyedAcceleratorList.shift) {
_dontAppend = false;
}

const selectionToggle = () => {
const itemIndexInPreviousSelectedList = selected.indexOf(path);
let _newSelected = [];

// if the file path was already selected we fetch it's `selectedIndex` and then try to unselect it
if (itemIndexInPreviousSelectedList === -1) {
_newSelected = _newSelected.concat(selected, path);
} else if (itemIndexInPreviousSelectedList === 0) {
_newSelected = _newSelected.concat(selected.slice(1));
} else if (itemIndexInPreviousSelectedList === selected.length - 1) {
_newSelected = _newSelected.concat(selected.slice(0, -1));
} else if (itemIndexInPreviousSelectedList > 0) {
_newSelected = _newSelected.concat(
selected.slice(0, itemIndexInPreviousSelectedList),
selected.slice(itemIndexInPreviousSelectedList + 1)
);
}

return _newSelected;
};

if (_dontAppend) {
newSelected = [path];
} else {
// eslint-disable-next-line no-lonely-if
if (this.keyedAcceleratorList.shift) {
let selectedItemIndexInNodes = 0;

const tableSortedNodes = this.tableSort({
nodes,
order,
orderBy,
});

const _lastSelectedNodeOfTableSort = this.lastSelectedNodeOfTableSort(
tableSortedNodes,
selected
);

for (const [index, node] of tableSortedNodes.entries()) {
if (node.path === path) {
selectedItemIndexInNodes = index;

break;
}
}

let nodesBetweenLastSelectedNodeAndCurrentSelection = [];

if (selectedItemIndexInNodes === _lastSelectedNodeOfTableSort.index) {
newSelected = selectionToggle();
} else {
if (selectedItemIndexInNodes > _lastSelectedNodeOfTableSort.index) {
nodesBetweenLastSelectedNodeAndCurrentSelection =
tableSortedNodes.slice(
_lastSelectedNodeOfTableSort.index + 1,
selectedItemIndexInNodes + 1
);
} else if (
selectedItemIndexInNodes < _lastSelectedNodeOfTableSort.index
) {
nodesBetweenLastSelectedNodeAndCurrentSelection =
tableSortedNodes.slice(
selectedItemIndexInNodes,
_lastSelectedNodeOfTableSort.index + 1
);
}

newSelected = selected.concat(
...nodesBetweenLastSelectedNodeAndCurrentSelection.map(
(a) => a.path
)
);
}
} else {
newSelected = selectionToggle();
}
} else if (selectedIndex === -1) {
newSelected = newSelected.concat(selected, path);
} else if (selectedIndex === 0) {
newSelected = newSelected.concat(selected.slice(1));
} else if (selectedIndex === selected.length - 1) {
newSelected = newSelected.concat(selected.slice(0, -1));
} else if (selectedIndex > 0) {
newSelected = newSelected.concat(
selected.slice(0, selectedIndex),
selected.slice(selectedIndex + 1)
);
}

newSelected = [...new Set(newSelected)];

actionCreateTableClick({ selected: newSelected }, deviceType);
};

Expand Down
8 changes: 0 additions & 8 deletions app/containers/Onboarding/components/WhatsNew.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import ListItem from '@material-ui/core/ListItem';
import ListItemIcon from '@material-ui/core/ListItemIcon';
import ListItemText from '@material-ui/core/ListItemText';
import BuildIcon from '@material-ui/icons/Build';
import KeyboardIcon from '@material-ui/icons/Keyboard';
import SmartphoneIcon from '@material-ui/icons/Smartphone';
import CameraRollIcon from '@material-ui/icons/CameraRoll';
import MemoryIcon from '@material-ui/icons/Memory';
Expand Down Expand Up @@ -67,13 +66,6 @@ class WhatsNew extends PureComponent {
<ListItemText primary={`Fujifilm device support`} />
</ListItem>

<ListItem>
<ListItemIcon>
<KeyboardIcon />
</ListItemIcon>
<ListItemText primary="Shortcut improvements: Select a range of files using shift+click" />
</ListItem>

<ListItem>
<ListItemIcon>
<BuildIcon />
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "openmtp",
"productName": "OpenMTP",
"version": "3.2.11",
"version": "3.2.10",
"description": "OpenMTP | Android File Transfer for macOS",
"scripts": {
"build": "yarn lint && concurrently \"yarn build-main\" \"yarn build-renderer\"",
Expand Down

0 comments on commit de69d76

Please sign in to comment.