If the first argument ends in .map, try to load it as a map (instead of as a project)

This commit is contained in:
Willi Schinmeyer 2012-05-04 10:02:31 +02:00
parent a2a93d30df
commit 22de3606a6
3 changed files with 15 additions and 3 deletions

View file

@ -894,7 +894,11 @@ int main( int argc, char* argv[] ) {
g_pParentWnd = new MainFrame();
if ( g_PrefsDlg.m_bLoadLastMap && g_PrefsDlg.m_strLastMap.GetLength() > 0 ) {
// If the first parameter is a .map, load that.
if( g_argc > 1 && IsMap( g_argv[1] ) ){
Map_LoadFile( g_argv[1] );
}
else if ( g_PrefsDlg.m_bLoadLastMap && g_PrefsDlg.m_strLastMap.GetLength() > 0 ) {
Map_LoadFile( g_PrefsDlg.m_strLastMap.GetBuffer() );
}
else {

View file

@ -3619,9 +3619,14 @@ void MainFrame::ShowMenuItemKeyBindings( GtkWidget* window ){
}
}
// Checks whether a given filename ends in .map
const bool IsMap(const char* filename){
return strlen(filename) >= 4 && strcmp(filename + strlen(filename) - 4, ".map") == 0;
}
void MainFrame::CreateQEChildren(){
// load the project file
if ( g_argc > 1 ) {
// load the project file, if it is a project project file. (Or at least no .map)
if ( g_argc > 1 && !IsMap( g_argv[1] ) ) {
Sys_Printf( "loading project file from the command line: %s\n", g_argv[1] );
if ( !QE_LoadProject( g_argv[1] ) ) {
Error( "Unable to load project file %s\n", g_argv[1] );

View file

@ -908,4 +908,7 @@ int gdk_offset_y;
// some C API to the mainframe functions
void WINAPI QERApp_Sleep();
// Checks whether a given filename ends in .map
const bool IsMap(const char* filename);
#endif // _MAINFRAME_H_