Add invert condition shortcut (J key by default - configurable in your preferences) (#4334)

This commit is contained in:
AlexandreS
2022-09-29 11:18:33 +02:00
committed by GitHub
parent 7390f7cd6a
commit ed7313a330
5 changed files with 27 additions and 1 deletions

View File

@@ -53,6 +53,7 @@ export type CommandName =
| 'ADD_SUBEVENT'
| 'ADD_COMMENT_EVENT'
| 'TOGGLE_EVENT_DISABLED'
| 'TOGGLE_CONDITION_INVERTED'
| 'CHOOSE_AND_ADD_EVENT'
| 'EVENTS_EDITOR_UNDO'
| 'EVENTS_EDITOR_REDO'
@@ -284,6 +285,10 @@ const commandsList: { [CommandName]: CommandMetadata } = {
area: 'EVENTS',
displayText: t`Toggle disabled event`,
},
TOGGLE_CONDITION_INVERTED: {
area: 'EVENTS',
displayText: t`Toggle inverted condition`,
},
CHOOSE_AND_ADD_EVENT: {
area: 'EVENTS',
displayText: t`Choose and add an event...`,

View File

@@ -15,8 +15,10 @@ type Props = {|
onAddCommentEvent: () => void,
allEventsMetadata: Array<EventMetadata>,
onAddEvent: (eventType: string) => Array<gdBaseEvent>,
onToggleInvertedCondition: () => void,
onToggleDisabledEvent: () => void,
canToggleEventDisabled: boolean,
canToggleInstructionInverted: boolean,
onRemove: () => void,
canRemove: boolean,
undo: () => void,

View File

@@ -13,8 +13,10 @@ type Props = {|
onAddCommentEvent: () => void,
allEventsMetadata: Array<EventMetadata>,
onAddEvent: (eventType: string) => Array<gdBaseEvent>,
onToggleInvertedCondition: () => void,
onToggleDisabledEvent: () => void,
canToggleEventDisabled: boolean,
canToggleInstructionInverted: boolean,
onRemove: () => void,
canRemove: boolean,
undo: () => void,
@@ -44,6 +46,10 @@ const ToolbarCommands = (props: Props) => {
handler: props.onToggleDisabledEvent,
});
useCommand('TOGGLE_CONDITION_INVERTED', props.canToggleInstructionInverted, {
handler: props.onToggleInvertedCondition,
});
useCommandWithOptions('CHOOSE_AND_ADD_EVENT', true, {
generateOptions: React.useCallback(
() =>

View File

@@ -319,9 +319,16 @@ export class EventsSheetComponentWithoutHandle extends React.Component<
onAddStandardEvent={this._addStandardEvent}
onAddSubEvent={this.addSubEvents}
canAddSubEvent={hasEventSelected(this.state.selection)}
canToggleEventDisabled={hasEventSelected(this.state.selection)}
canToggleEventDisabled={
hasEventSelected(this.state.selection) &&
this._selectionCanToggleDisabled()
}
canToggleInstructionInverted={hasInstructionSelected(
this.state.selection
)}
onAddCommentEvent={this._addCommentEvent}
onAddEvent={this.addNewEvent}
onToggleInvertedCondition={this._invertSelectedConditions}
onToggleDisabledEvent={this.toggleDisabled}
canRemove={hasSomethingSelected(this.state.selection)}
onRemove={this.deleteSelection}
@@ -544,6 +551,11 @@ export class EventsSheetComponentWithoutHandle extends React.Component<
label: i18n._(t`Invert Condition`),
click: () => this._invertSelectedConditions(),
visible: hasSelectedAtLeastOneCondition(this.state.selection),
accelerator: getShortcutDisplayName(
this.props.preferences.values.userShortcutMap[
'TOGGLE_CONDITION_INVERTED'
] || 'KeyJ'
),
},
{
label: i18n._(t`Toggle Wait the Action to End`),

View File

@@ -52,6 +52,7 @@ const defaultShortcuts: ShortcutMap = {
ADD_SUBEVENT: 'Shift+KeyD',
ADD_COMMENT_EVENT: '',
TOGGLE_EVENT_DISABLED: 'KeyD',
TOGGLE_CONDITION_INVERTED: 'KeyJ',
CHOOSE_AND_ADD_EVENT: 'Shift+KeyW',
OPEN_EXTENSION_SETTINGS: '',
};