snprintf(svgDir, MSG_SIZ, "%s/themes/default", dataDir);
suppress = (argc == 1 || argc > 1 && argv[1][00] != '-'); // OSX sends signal even if name was already argv[1]!
g_signal_connect(theApp, "NSApplicationOpenFile", G_CALLBACK(StartNewXBoard), NULL);
+ g_signal_connect(theApp, "NSApplicationWillTerminate", G_CALLBACK(ExitEvent), NULL);
// we must call application ready before we can get the signal,
// and supply a (dummy) menu bar before that, to avoid problems with dual apples in it
gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(gtk_menu_bar_new()));
h = BOARD_HEIGHT * (squareSize + lineGap) + lineGap;
if(optList[W_BOARD].max > w) optList[W_BOARD].max = w;
if(optList[W_BOARD].value > h) optList[W_BOARD].value = h;
- first = 0;
+ first = appData.fixedSize;
}
static guint delayedDragTag = 0;
buf[0]=eventkey->keyval;
buf[1]='\0';
- if (eventkey->keyval > 32 && eventkey->keyval < 256)
+ if (eventkey->keyval > 32 && eventkey->keyval < 256 || *buf == 27)
ConsoleAutoPopUp (buf);
}
char fileext[10] = "";
char *result = NULL;
char *cp;
+ char curDir[MSG_SIZ];
+
+ StartDir(filter, NULL); // change to start directory for this file type
/* make a copy of the filter string, so that strtok can work with it*/
cp = strdup(filter);
ASSIGN(*name, filename);
ScheduleDelayedEvent(DelayedLoad, 50);
}
+ StartDir(filter, filename);
g_free (filename);
- };
+ }
+ else StartDir(filter, "");
gtk_widget_destroy (dialog);
ModeHighlight();
+ if(def && *def && def[strlen(def)-1] == '/') chdir(curDir);
+
free(cp);
return;