X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=bb98b3f29dc941f41079eb422ad573df32de2763;hb=ff35ac10e995043ddbc05154f185784b9918d48b;hp=899bf71b5f2bb5b8d3d3ad781b2cbe8e23479230;hpb=4c2bb34877aa8af1b1ace3fa074a4e7edd2abc91;p=xboard.git diff --git a/dialogs.c b/dialogs.c index 899bf71..bb98b3f 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1,7 +1,7 @@ /* * dialogs.c -- platform-independent code for dialogs of XBoard * - * Copyright 2000, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. * ------------------------------------------------------------------------ * * GNU XBoard is free software: you can redistribute it and/or modify @@ -444,7 +444,7 @@ static Option variantDescriptors[] = { { VariantShogi, SAME_ROW, 135, NULL, (void*) &Pick, "#BFFFFF", NULL, Button, N_("shogi (9x9)")}, { VariantSpartan, 0, 135, NULL, (void*) &Pick, "#FF0000", NULL, Button, N_("Spartan")}, { VariantXiangqi, SAME_ROW,135, NULL, (void*) &Pick, "#BFFFFF", NULL, Button, N_("xiangqi (9x10)")}, -{ VariantNormal, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment +{ -1, 0, 135, NULL, (void*) &Pick, "#FFFFFF", NULL, Button, N_(" ")}, // dummy, to have good alignment { VariantCourier, SAME_ROW,135, NULL, (void*) &Pick, "#BFFFBF", NULL, Button, N_("courier (12x8)")}, { 0, NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" } }; @@ -1167,7 +1167,8 @@ IcsKey (int n) case -1: val = NextInHistory(); } - SetWidgetText(&boxOptions[0], val ? val : "", InputBoxDlg); + SetWidgetText(&boxOptions[0], val = val ? val : "", InputBoxDlg); + SetInsertPos(&boxOptions[0], strlen(val)); } static void @@ -1366,7 +1367,7 @@ ShuffleOK (int n) } static Option shuffleOptions[] = { - { 0, 0, 50, NULL, (void*) &shuffleOpenings, NULL, NULL, CheckBox, N_("shuffle") }, + { 0, 0, 0, NULL, (void*) &shuffleOpenings, NULL, NULL, CheckBox, N_("shuffle") }, { 0,-1,2000000000, NULL, (void*) &appData.defaultFrcPosition, "", NULL, Spin, N_("Start-position number:") }, { 0, 0, 0, NULL, (void*) &SetRandom, NULL, NULL, Button, N_("randomize") }, { 0, SAME_ROW, 0, NULL, (void*) &SetRandom, NULL, NULL, Button, N_("pick fixed") }, @@ -1697,7 +1698,7 @@ ChatSwitch (int n) void ChatProc () { - if(GenericPopUp(chatOptions, _("Chat box"), ChatDlg, BoardWindow, NONMODAL, 0)) + if(GenericPopUp(chatOptions, _("Chat box"), ChatDlg, BoardWindow, NONMODAL, appData.topLevel)) AddHandler(&chatOptions[0], ChatDlg, 2), AddHandler(&chatOptions[6], ChatDlg, 2); // treats return as OK MarkMenu("View.OpenChatWindow", ChatDlg); } @@ -2469,12 +2470,12 @@ ListDir (int pathFlag) ASSIGN(fileList[filePtr], s); filePtr++; } } - if(filePtr == MAXFILES-2) { ASSIGN(fileList[filePtr], _("\177 next page")); filePtr++; } + if(filePtr == MAXFILES-2) { ASSIGN(fileList[filePtr], _(" next page")); filePtr++; } FREE(folderList[folderPtr]); folderList[folderPtr] = NULL; FREE(fileList[filePtr]); fileList[filePtr] = NULL; closedir(dir); extFlag = 0; qsort((void*)folderList, folderPtr, sizeof(char*), &Comp); - extFlag = byExtension; qsort((void*)fileList, filePtr, sizeof(char*), &Comp); + extFlag = byExtension; qsort((void*)fileList, filePtr < MAXFILES-2 ? filePtr : MAXFILES-2, sizeof(char*), &Comp); } void @@ -2486,13 +2487,17 @@ Refresh (int pathFlag) SetWidgetLabel(&browseOptions[0], title); } +static char msg1[] = N_("FIRST TYPE DIRECTORY NAME HERE"); +static char msg2[] = N_("TRY ANOTHER NAME"); + void CreateDir (int n) { char *name, *errmsg = ""; GetWidgetText(&browseOptions[n-1], &name); - if(!name[0]) errmsg = _("FIRST TYPE DIRECTORY NAME HERE"); else - if(mkdir(name, 0755)) errmsg = _("TRY ANOTHER NAME"); + if(!strcmp(name, msg1) || !strcmp(name, msg2)) return; + if(!name[0]) errmsg = _(msg1); else + if(mkdir(name, 0755)) errmsg = _(msg2); else { chdir(name); Refresh(-1); @@ -2505,7 +2510,7 @@ Switch (int n) { if(byExtension == (n == 4)) return; extFlag = byExtension = (n == 4); - qsort((void*)fileList, filePtr, sizeof(char*), &Comp); + qsort((void*)fileList, filePtr < MAXFILES-2 ? filePtr : MAXFILES-2, sizeof(char*), &Comp); LoadListBox(&browseOptions[6], "", -1, -1); } @@ -2525,7 +2530,7 @@ SetTypeFilter (int n) void FileSelProc (int n, int sel) { - if(sel<0) return; + if(sel < 0 || fileList[sel] == NULL) return; if(sel == MAXFILES-2) { pageStart = cnt; Refresh(-1); return; } ASSIGN(fileName, fileList[sel]); if(BrowseOK(0)) PopDown(BrowserDlg);