fixed folder command
This commit is contained in:
parent
a3126275b4
commit
4b2db873a7
36
src/fs.c
36
src/fs.c
|
@ -143,7 +143,6 @@ int _wremove(const wchar_t *);
|
|||
#define tic_remove _wremove
|
||||
#define tic_fopen _wfopen
|
||||
#define tic_mkdir(name) _wmkdir(name)
|
||||
#define tic_system _wsystem
|
||||
|
||||
#else
|
||||
|
||||
|
@ -162,7 +161,6 @@ int _wremove(const wchar_t *);
|
|||
#define tic_remove remove
|
||||
#define tic_fopen fopen
|
||||
#define tic_mkdir(name) mkdir(name)//, 0700)
|
||||
#define tic_system system
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -771,38 +769,6 @@ void fsMakeDir(FileSystem* fs, const char* name)
|
|||
makeDir(getFilePath(fs, name));
|
||||
}
|
||||
|
||||
#if defined(__TIC_WINDOWS__) || defined(__LINUX__) || defined(__MACOSX__)
|
||||
|
||||
s32 fsOpenSystemPath(FileSystem* fs, const char* path)
|
||||
{
|
||||
char command[FILENAME_MAX];
|
||||
|
||||
#if defined(__TIC_WINDOWS__)
|
||||
|
||||
sprintf(command, "explorer \"%s\"", path);
|
||||
|
||||
#elif defined(__LINUX__)
|
||||
|
||||
sprintf(command, "xdg-open \"%s\"", path);
|
||||
|
||||
#elif defined(__MACOSX__)
|
||||
|
||||
sprintf(command, "open \"%s\"", path);
|
||||
|
||||
#endif
|
||||
|
||||
return tic_system(UTF8ToString(command));
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
s32 fsOpenSystemPath(FileSystem* fs, const char* path)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void fsOpenWorkingFolder(FileSystem* fs)
|
||||
{
|
||||
const char* path = getFilePath(fs, "");
|
||||
|
@ -810,7 +776,7 @@ void fsOpenWorkingFolder(FileSystem* fs)
|
|||
if(isPublic(fs))
|
||||
path = fs->dir;
|
||||
|
||||
fsOpenSystemPath(fs, path);
|
||||
openSystemPath(path);
|
||||
}
|
||||
|
||||
void createFileSystem(const char* path, void(*callback)(FileSystem*))
|
||||
|
|
1
src/fs.h
1
src/fs.h
|
@ -72,7 +72,6 @@ bool fsCopyFile(const char* src, const char* dst);
|
|||
void fsGetFileData(GetCallback callback, const char* name, void* buffer, size_t size, u32 mode, void* data);
|
||||
void fsOpenFileData(OpenCallback callback, void* data);
|
||||
void fsOpenWorkingFolder(FileSystem* fs);
|
||||
s32 fsOpenSystemPath(FileSystem* fs, const char* path);
|
||||
bool fsIsDir(FileSystem* fs, const char* dir);
|
||||
bool fsIsInPublicDir(FileSystem* fs);
|
||||
bool fsChangeDir(FileSystem* fs, const char* dir);
|
||||
|
|
38
src/main.c
38
src/main.c
|
@ -950,6 +950,42 @@ static void _setWindowTitle(const char* title)
|
|||
SDL_SetWindowTitle(platform.window, title);
|
||||
}
|
||||
|
||||
#if defined(__WINDOWS__) || defined(__LINUX__) || defined(__MACOSX__)
|
||||
|
||||
static void _openSystemPath(const char* path)
|
||||
{
|
||||
char command[FILENAME_MAX];
|
||||
|
||||
#if defined(__WINDOWS__)
|
||||
|
||||
sprintf(command, "explorer \"%s\"", path);
|
||||
|
||||
printf("%s\n", command);
|
||||
|
||||
wchar_t wcommand[FILENAME_MAX];
|
||||
mbstowcs(wcommand, command, FILENAME_MAX);
|
||||
|
||||
_wsystem(wcommand);
|
||||
|
||||
#elif defined(__LINUX__)
|
||||
|
||||
sprintf(command, "xdg-open \"%s\"", path);
|
||||
system(command);
|
||||
|
||||
#elif defined(__MACOSX__)
|
||||
|
||||
sprintf(command, "open \"%s\"", path);
|
||||
system(command);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void _openSystemPath(const char* path) {}
|
||||
|
||||
#endif
|
||||
|
||||
static System sysHandlers =
|
||||
{
|
||||
.setClipboardText = _setClipboardText,
|
||||
|
@ -968,6 +1004,8 @@ static System sysHandlers =
|
|||
.goFullscreen = _goFullscreen,
|
||||
.showMessageBox = _showMessageBox,
|
||||
.setWindowTitle = _setWindowTitle,
|
||||
|
||||
.openSystemPath = _openSystemPath,
|
||||
};
|
||||
|
||||
s32 main(s32 argc, char **argv)
|
||||
|
|
|
@ -2151,3 +2151,8 @@ void showMessageBox(const char* title, const char* message)
|
|||
{
|
||||
studioImpl.system->showMessageBox(title, message);
|
||||
}
|
||||
|
||||
void openSystemPath(const char* path)
|
||||
{
|
||||
studioImpl.system->openSystemPath(path);
|
||||
}
|
|
@ -238,6 +238,8 @@ typedef struct
|
|||
void (*showMessageBox)(const char* title, const char* message);
|
||||
void (*setWindowTitle)(const char* title);
|
||||
|
||||
void (*openSystemPath)(const char* path);
|
||||
|
||||
} System;
|
||||
|
||||
TIC80_API Studio* studioInit(s32 argc, char **argv, s32 samplerate, const char* appFolder, System* system);
|
||||
|
@ -273,3 +275,5 @@ NetVersion netVersionRequest(Net* net);
|
|||
void netDirRequest(Net* net, const char* path, ListCallback callback, void* data);
|
||||
void showMessageBox(const char* title, const char* message);
|
||||
TIC80_API void updateStudioProject();
|
||||
|
||||
void openSystemPath(const char* path);
|
|
@ -781,7 +781,7 @@ static void processGamepad(Surf* surf)
|
|||
{
|
||||
char url[FILENAME_MAX];
|
||||
sprintf(url, "https://" TIC_HOST "/play?cart=%i", item->id);
|
||||
fsOpenSystemPath(surf->fs, url);
|
||||
openSystemPath(url);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue