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
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)
{
printf("%d\n", menuItem);
switch (menuItem)
{
//case EDITOR_MENU_NEW : onNew(); break;
case EDITOR_MENU_OPEN : onOpen(); break;
//case EDITOR_MENU_SAVE : onSave(); break;
//case EDITOR_MENU_SAVE_AS : onSaveAs(); break;
case EDITOR_MENU_SAVE :
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)
{
/*
char path[512];
if (!Dialog_save(path))
return false;
*/
return false;
}
@ -144,6 +137,13 @@ int LoadSave_saveRocketXML(const char* path, 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;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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;
}