Added save dialog

This commit is contained in:
Daniel Collin 2012-10-28 20:03:21 +01:00
parent a89ea9baac
commit cf1eeb27b3
4 changed files with 42 additions and 10 deletions

View File

@ -1,4 +1,5 @@
#pragma once #pragma once
int Dialog_open(char* dest); int Dialog_open(char* dest);
int Dialog_save(char* dest);

View File

@ -332,14 +332,22 @@ static void onOpen()
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void onSave()
{
LoadSave_saveRocketXMLDialog(&s_editorData.trackData);
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void Editor_menuEvent(int menuItem) void Editor_menuEvent(int menuItem)
{ {
printf("%d\n", menuItem);
switch (menuItem) switch (menuItem)
{ {
//case EDITOR_MENU_NEW : onNew(); break; //case EDITOR_MENU_NEW : onNew(); break;
case EDITOR_MENU_OPEN : onOpen(); break; case EDITOR_MENU_OPEN : onOpen(); break;
//case EDITOR_MENU_SAVE : onSave(); break; case EDITOR_MENU_SAVE :
//case EDITOR_MENU_SAVE_AS : onSaveAs(); break; case EDITOR_MENU_SAVE_AS : onSave(); break;
} }
} }

View File

@ -130,13 +130,6 @@ int LoadSave_loadRocketXMLDialog(TrackData* trackData)
int LoadSave_saveRocketXML(const char* path, TrackData* trackData) int LoadSave_saveRocketXML(const char* path, TrackData* trackData)
{ {
/*
char path[512];
if (!Dialog_save(path))
return false;
*/
return false; return false;
} }
@ -144,6 +137,13 @@ int LoadSave_saveRocketXML(const char* path, TrackData* trackData)
int LoadSave_saveRocketXMLDialog(TrackData* trackData) int LoadSave_saveRocketXMLDialog(TrackData* trackData)
{ {
return false; char path[512];
if (!Dialog_save(path))
return false;
printf("%s\n", path);
return true;
} }

View File

@ -27,4 +27,27 @@ int Dialog_open(char* dest)
return true; return true;
} }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int Dialog_save(char* dest)
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSSavePanel* open = [NSSavePanel savePanel];
int result = [open runModal];
if (result != NSOKButton)
return false;
// Grab the first file
NSURL* url = [open URL];
const char* temp = [[url path] UTF8String];
strcpy(dest, temp);
[pool drain];
return true;
}