mirror of
https://github.com/4ian/GDevelop.git
synced 2025-10-15 10:19:04 +00:00
Only allow opening project folder in Resources tab if local project (#5867)
This commit is contained in:
@@ -27,6 +27,7 @@ export type RenderEditorContainerProps = {|
|
||||
projectItemName: ?string,
|
||||
project: ?gdProject,
|
||||
fileMetadata: ?FileMetadata,
|
||||
storageProvider: StorageProvider,
|
||||
setToolbar: (?React.Node) => void,
|
||||
|
||||
// Some optional extra props to pass to the rendered editor
|
||||
|
@@ -54,6 +54,7 @@ export class ResourcesEditorContainer extends React.Component<RenderEditorContai
|
||||
ref={editor => (this.editor = editor)}
|
||||
fileMetadata={this.props.fileMetadata}
|
||||
project={project}
|
||||
storageProvider={this.props.storageProvider}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
@@ -3125,6 +3125,7 @@ const MainFrame = (props: Props) => {
|
||||
extraEditorProps: editorTab.extraEditorProps,
|
||||
project: currentProject,
|
||||
fileMetadata: currentFileMetadata,
|
||||
storageProvider: getStorageProvider(),
|
||||
ref: editorRef => (editorTab.editorRef = editorRef),
|
||||
setToolbar: editorToolbar =>
|
||||
setEditorToolbar(editorToolbar, isCurrentTab),
|
||||
|
@@ -10,6 +10,7 @@ import IconButton from '../UI/IconButton';
|
||||
|
||||
type Props = {|
|
||||
onOpenProjectFolder: () => void,
|
||||
canOpenProjectFolder: boolean,
|
||||
onDeleteSelection: () => void,
|
||||
canDelete: boolean,
|
||||
onToggleProperties: () => void,
|
||||
@@ -24,15 +25,19 @@ export class Toolbar extends PureComponent<Props, State> {
|
||||
|
||||
return (
|
||||
<ToolbarGroup lastChild>
|
||||
<IconButton
|
||||
size="small"
|
||||
color="default"
|
||||
onClick={this.props.onOpenProjectFolder}
|
||||
tooltip={t`Open the project folder`}
|
||||
>
|
||||
<FolderIcon />
|
||||
</IconButton>
|
||||
<ToolbarSeparator />
|
||||
{this.props.canOpenProjectFolder && (
|
||||
<>
|
||||
<IconButton
|
||||
size="small"
|
||||
color="default"
|
||||
onClick={this.props.onOpenProjectFolder}
|
||||
tooltip={t`Open the project folder`}
|
||||
>
|
||||
<FolderIcon />
|
||||
</IconButton>
|
||||
<ToolbarSeparator />
|
||||
</>
|
||||
)}
|
||||
<IconButton
|
||||
size="small"
|
||||
color="default"
|
||||
|
@@ -18,6 +18,7 @@ import {
|
||||
} from '../ResourcesList/ResourceSource';
|
||||
import { type FileMetadata } from '../ProjectsStorage';
|
||||
import { getResourceFilePathStatus } from '../ResourcesList/ResourceUtils';
|
||||
import type { StorageProvider } from '../ProjectsStorage';
|
||||
|
||||
const gd: libGDevelop = global.gd;
|
||||
|
||||
@@ -50,6 +51,7 @@ type Props = {|
|
||||
) => void,
|
||||
resourceManagementProps: ResourceManagementProps,
|
||||
fileMetadata: ?FileMetadata,
|
||||
storageProvider: StorageProvider,
|
||||
|};
|
||||
|
||||
const initialMosaicEditorNodes = {
|
||||
@@ -84,6 +86,11 @@ export default class ResourcesEditor extends React.Component<Props, State> {
|
||||
this.props.setToolbar(
|
||||
<Toolbar
|
||||
onOpenProjectFolder={this.openProjectFolder}
|
||||
canOpenProjectFolder={
|
||||
!!remote &&
|
||||
!!this.props.fileMetadata &&
|
||||
this.props.storageProvider.internalName === 'LocalFile'
|
||||
}
|
||||
onToggleProperties={this.toggleProperties}
|
||||
isPropertiesShown={openedEditorNames.includes('properties')}
|
||||
canDelete={!!this.state.selectedResource}
|
||||
@@ -186,9 +193,8 @@ export default class ResourcesEditor extends React.Component<Props, State> {
|
||||
};
|
||||
|
||||
openProjectFolder = () => {
|
||||
const project = this.props.project;
|
||||
|
||||
if (remote) remote.shell.openPath(path.dirname(project.getProjectFile()));
|
||||
if (remote)
|
||||
remote.shell.openPath(path.dirname(this.props.project.getProjectFile()));
|
||||
};
|
||||
|
||||
toggleProperties = () => {
|
||||
|
Reference in New Issue
Block a user