提交 39764f87 编写于 作者: K klakhov

removed ablity to delete frame from GT

上级 6c3ad269
...@@ -23,6 +23,7 @@ interface Props { ...@@ -23,6 +23,7 @@ interface Props {
frameNumber: number; frameNumber: number;
frameFilename: string; frameFilename: string;
frameDeleted: boolean; frameDeleted: boolean;
deleteFrameAvailable: boolean;
deleteFrameShortcut: string; deleteFrameShortcut: string;
focusFrameInputShortcut: string; focusFrameInputShortcut: string;
inputFrameRef: React.RefObject<Input>; inputFrameRef: React.RefObject<Input>;
...@@ -51,6 +52,7 @@ function PlayerNavigation(props: Props): JSX.Element { ...@@ -51,6 +52,7 @@ function PlayerNavigation(props: Props): JSX.Element {
onDeleteFrame, onDeleteFrame,
onRestoreFrame, onRestoreFrame,
switchNavigationBlocked, switchNavigationBlocked,
deleteFrameAvailable,
} = props; } = props;
const [frameInputValue, setFrameInputValue] = useState<number>(frameNumber); const [frameInputValue, setFrameInputValue] = useState<number>(frameNumber);
...@@ -80,6 +82,15 @@ function PlayerNavigation(props: Props): JSX.Element { ...@@ -80,6 +82,15 @@ function PlayerNavigation(props: Props): JSX.Element {
}); });
} }
}, [playing, frameNumber]); }, [playing, frameNumber]);
const deleteFrameIcon = !frameDeleted ? (
<CVATTooltip title={`Delete the frame ${deleteFrameShortcut}`}>
<DeleteOutlined className='cvat-player-delete-frame' onClick={showDeleteFrameDialog} />
</CVATTooltip>
) : (
<CVATTooltip title='Restore the frame'>
<Icon className='cvat-player-restore-frame' onClick={onRestoreFrame} component={RestoreIcon} />
</CVATTooltip>
);
return ( return (
<> <>
...@@ -105,15 +116,9 @@ function PlayerNavigation(props: Props): JSX.Element { ...@@ -105,15 +116,9 @@ function PlayerNavigation(props: Props): JSX.Element {
<CVATTooltip title='Create frame URL'> <CVATTooltip title='Create frame URL'>
<LinkOutlined className='cvat-player-frame-url-icon' onClick={onURLIconClick} /> <LinkOutlined className='cvat-player-frame-url-icon' onClick={onURLIconClick} />
</CVATTooltip> </CVATTooltip>
{ (!frameDeleted) ? ( {
<CVATTooltip title={`Delete the frame ${deleteFrameShortcut}`}> deleteFrameAvailable && deleteFrameIcon
<DeleteOutlined className='cvat-player-delete-frame' onClick={showDeleteFrameDialog} /> }
</CVATTooltip>
) : (
<CVATTooltip title='Restore the frame'>
<Icon className='cvat-player-restore-frame' onClick={onRestoreFrame} component={RestoreIcon} />
</CVATTooltip>
)}
</Col> </Col>
</Row> </Row>
</Col> </Col>
......
...@@ -41,6 +41,7 @@ interface Props { ...@@ -41,6 +41,7 @@ interface Props {
focusFrameInputShortcut: string; focusFrameInputShortcut: string;
activeControl: ActiveControl; activeControl: ActiveControl;
toolsBlockerState: ToolsBlockerState; toolsBlockerState: ToolsBlockerState;
deleteFrameAvailable: boolean;
changeWorkspace(workspace: Workspace): void; changeWorkspace(workspace: Workspace): void;
showStatistics(): void; showStatistics(): void;
showFilters(): void; showFilters(): void;
...@@ -117,6 +118,7 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element { ...@@ -117,6 +118,7 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element {
onFinishDraw, onFinishDraw,
onSwitchToolsBlockerState, onSwitchToolsBlockerState,
onDeleteFrame, onDeleteFrame,
deleteFrameAvailable,
onRestoreFrame, onRestoreFrame,
switchNavigationBlocked, switchNavigationBlocked,
jobInstance, jobInstance,
...@@ -146,7 +148,6 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element { ...@@ -146,7 +148,6 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element {
<PlayerButtons <PlayerButtons
playing={playing} playing={playing}
playPauseShortcut={playPauseShortcut} playPauseShortcut={playPauseShortcut}
deleteFrameShortcut={deleteFrameShortcut}
nextFrameShortcut={nextFrameShortcut} nextFrameShortcut={nextFrameShortcut}
previousFrameShortcut={previousFrameShortcut} previousFrameShortcut={previousFrameShortcut}
forwardShortcut={forwardShortcut} forwardShortcut={forwardShortcut}
...@@ -179,6 +180,7 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element { ...@@ -179,6 +180,7 @@ export default function AnnotationTopBarComponent(props: Props): JSX.Element {
onDeleteFrame={onDeleteFrame} onDeleteFrame={onDeleteFrame}
onRestoreFrame={onRestoreFrame} onRestoreFrame={onRestoreFrame}
switchNavigationBlocked={switchNavigationBlocked} switchNavigationBlocked={switchNavigationBlocked}
deleteFrameAvailable={deleteFrameAvailable}
/> />
</Row> </Row>
</Col> </Col>
......
...@@ -517,8 +517,8 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> { ...@@ -517,8 +517,8 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> {
}; };
private onDeleteFrame = (): void => { private onDeleteFrame = (): void => {
const { deleteFrame, frameNumber } = this.props; const { deleteFrame, frameNumber, jobInstance } = this.props;
deleteFrame(frameNumber); if (jobInstance.type !== JobType.GROUND_TRUTH) deleteFrame(frameNumber);
}; };
private onRestoreFrame = (): void => { private onRestoreFrame = (): void => {
...@@ -797,6 +797,7 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> { ...@@ -797,6 +797,7 @@ class AnnotationTopBarContainer extends React.PureComponent<Props, State> {
toolsBlockerState={toolsBlockerState} toolsBlockerState={toolsBlockerState}
jobInstance={jobInstance} jobInstance={jobInstance}
activeControl={activeControl} activeControl={activeControl}
deleteFrameAvailable={jobInstance.type !== JobType.GROUND_TRUTH}
/> />
</> </>
); );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册