X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=xaw%2Fxboard.c;h=4b4d864469bec78b3b49c349fa7b9a1a0d397ec4;hb=1ac2b86e4df13b07f720de1b9f0196a39c1dabde;hp=9d2eeefe96363bf5316365783ef4e855f20814a8;hpb=a009a27e8c1e0bfa818f12fdcae675d0babc510a;p=xboard.git diff --git a/xaw/xboard.c b/xaw/xboard.c index 9d2eeef..4b4d864 100644 --- a/xaw/xboard.c +++ b/xaw/xboard.c @@ -317,6 +317,7 @@ WindowPlacement wpEvalGraph; WindowPlacement wpEngineOutput; WindowPlacement wpGameList; WindowPlacement wpTags; +WindowPlacement wpDualBoard; /* This magic number is the number of intermediate frames used @@ -386,60 +387,17 @@ XtActionsRec boardActions[] = { }; char globalTranslations[] = - ":F9: MenuItem(Actions.Resign) \n \ - :Ctrln: MenuItem(File.NewGame) \n \ - :MetaV: MenuItem(File.NewVariant) \n \ - :Ctrlo: MenuItem(File.LoadGame) \n \ - :MetaNext: MenuItem(LoadNextGameProc) \n \ + ":MetaNext: MenuItem(LoadNextGameProc) \n \ :MetaPrior: MenuItem(LoadPrevGameProc) \n \ :CtrlDown: LoadSelectedProc(3) \n \ :CtrlUp: LoadSelectedProc(-3) \n \ - :Ctrls: MenuItem(File.SaveGame) \n \ - :Ctrlc: MenuItem(Edit.CopyGame) \n \ - :Ctrlv: MenuItem(Edit.PasteGame) \n \ - :CtrlO: MenuItem(File.LoadPosition) \n \ :ShiftNext: MenuItem(LoadNextPositionProc) \n \ :ShiftPrior: MenuItem(LoadPrevPositionProc) \n \ - :CtrlS: MenuItem(File.SavePosition) \n \ - :CtrlC: MenuItem(Edit.CopyPosition) \n \ - :CtrlV: MenuItem(Edit.PastePosition) \n \ - :Ctrlq: MenuItem(File.Quit) \n \ - :Ctrlw: MenuItem(Mode.MachineWhite) \n \ - :Ctrlb: MenuItem(Mode.MachineBlack) \n \ - :Ctrlt: MenuItem(Mode.TwoMachines) \n \ - :Ctrla: MenuItem(Mode.AnalysisMode) \n \ - :Ctrlg: MenuItem(Mode.AnalyzeFile) \n \ - :Ctrle: MenuItem(Mode.EditGame) \n \ - :CtrlE: MenuItem(Mode.EditPosition) \n \ - :MetaO: MenuItem(View.EngineOutput) \n \ - :MetaE: MenuItem(View.EvaluationGraph) \n \ - :MetaG: MenuItem(View.GameList) \n \ - :MetaH: MenuItem(View.MoveHistory) \n \ :Pause: MenuItem(Mode.Pause) \n \ - :F3: MenuItem(Action.Accept) \n \ - :F4: MenuItem(Action.Decline) \n \ - :F12: MenuItem(Action.Rematch) \n \ - :F5: MenuItem(Action.CallFlag) \n \ - :F6: MenuItem(Action.Draw) \n \ - :F7: MenuItem(Action.Adjourn) \n \ - :F8: MenuItem(Action.Abort) \n \ - :F10: MenuItem(Action.StopObserving) \n \ - :F11: MenuItem(Action.StopExamining) \n \ :Ctrld: MenuItem(DebugProc) \n \ :Meta CtrlF12: MenuItem(DebugProc) \n \ - :MetaEnd: MenuItem(Edit.ForwardtoEnd) \n \ - :MetaRight: MenuItem(Edit.Forward) \n \ - :MetaHome: MenuItem(Edit.BacktoStart) \n \ - :MetaLeft: MenuItem(Edit.Backward) \n \ :Left: MenuItem(Edit.Backward) \n \ :Right: MenuItem(Edit.Forward) \n \ - :Home: MenuItem(Edit.Revert) \n \ - :End: MenuItem(Edit.TruncateGame) \n \ - :Ctrlm: MenuItem(Engine.MoveNow) \n \ - :Ctrlx: MenuItem(Engine.RetractMove) \n \ - :MetaJ: MenuItem(Options.Adjudications) \n \ - :MetaU: MenuItem(Options.CommonEngine) \n \ - :MetaT: MenuItem(Options.TimeControl) \n \ :CtrlP: MenuItem(PonderNextMove) \n " #ifndef OPTIONSDIALOG "\ @@ -450,8 +408,6 @@ char globalTranslations[] = :CtrlH: MenuItem(HideThinkingProc) \n " #endif "\ - :F1: MenuItem(Help.ManXBoard) \n \ - :F2: MenuItem(View.FlipView) \n \ :Return: TempBackwardProc() \n \ :Return: TempForwardProc() \n"; @@ -462,7 +418,7 @@ char ICSInputTranslations[] = // [HGM] vari: another hideous kludge: call extend-end first so we can be sure select-start works, // as the widget is destroyed before the up-click can call extend-end -char commentTranslations[] = ": extend-end() select-start() CommentClick() \n"; +char commentTranslations[] = ": extend-end(PRIMARY) select-start() CommentClick() \n"; String xboardResources[] = { "*Error*translations: #override\\n Return: ErrorPopDown()", @@ -539,7 +495,7 @@ xpm_print_avail (FILE *fp, char *ext) { int i; - fprintf(fp, _("Available `%s' sizes:\n"), ext); + fprintf(fp, _("Available '%s' sizes:\n"), ext); for (i=1; i") ) ctrl = 1; + if( strstr(mi[j].accel, "") ) shift = 1; + if( strstr(mi[j].accel, "") ) alt = 1; + + /* remove all <...> */ + test = strrchr(mi[j].accel, '>'); + if ( test==NULL ) + key = strdup(mi[j].accel); + else + key = strdup(++test); // remove ">" + + /* instead of shift X11 uses the uppercase letter directly*/ + if (shift && strlen(key)==1 ) + { + *key = toupper(*key); + shift = 0; + } + + /* handle some special cases which have different names in X11 */ + if ( strncmp(key, "Page_Down", 9) == 0 ) + { + free(key); + key=strdup("Next"); + } + else if ( strncmp(key, "Page_Up", 7) == 0 ) + { + free(key); + key=strdup("Prior"); + }; + + /* create string of mods */ + if (ctrl) + mods = strdup("Ctrl "); + else + mods = strdup(""); + + if(alt) + { + mods = realloc(mods, strlen(mods) + strlen("Meta ")+1); + strncat(mods, "Meta ", 5); + }; + + if(shift) + { + mods = realloc(mods, strlen(mods) + strlen("Shift ")+1); + strncat(mods, "Shift ", 6); + }; + + // remove trailing space + if( isspace(mods[strlen(mods)-1]) ) + mods[strlen(mods)-1]='\0'; + + /* get the name for the callback, we can use MenuItem() here that will call KeyBindingProc */ + size_t namesize = snprintf(NULL, 0, "%s.%s", menuBar[i].ref, mi[j].ref); + char *name = malloc(namesize+1); + snprintf(name, namesize+1, "%s.%s", menuBar[i].ref, mi[j].ref); + + size_t buffersize = snprintf(NULL, 0, ":%s%s: MenuItem(%s) \n ", mods, key, name); + char *buffer = malloc(buffersize+1); + snprintf(buffer, buffersize+1, ":%s%s: MenuItem(%s) \n ", mods, key, name); + + /* add string to the output */ + output = realloc(output, strlen(output) + strlen(buffer)+1); + strncat(output, buffer, strlen(buffer)); + + /* clean up */ + free(key); + free(buffer); + free(name); + free(mods); + } + } + } + return output; +} + + void PrintOptions () { @@ -1025,6 +1085,11 @@ PrintOptions () if(len) buf[len] = NULLCHAR, printf("%s\n", buf); } +void +SlaveResize (Option *opt) +{ +} + int main (int argc, char **argv) { @@ -1323,8 +1388,13 @@ main (int argc, char **argv) if (appData.animate || appData.animateDragging) CreateAnimVars(); + + char *TranslationsTableMenus=GenerateGlobalTranslationTable (); + XtAugmentTranslations(formWidget, XtParseTranslationTable(globalTranslations)); + XtAugmentTranslations(formWidget, + XtParseTranslationTable(TranslationsTableMenus)); XtAddEventHandler(formWidget, KeyPressMask, False, (XtEventHandler) MoveTypeInProc, NULL); @@ -1559,7 +1629,7 @@ FindFont (char *pattern, int targetPxlSize) safeStrCpy(p, best, strlen(best)+1 ); } if (appData.debugMode) { - fprintf(debugFP, _("resolved %s at pixel size %d\n to %s\n"), + fprintf(debugFP, "resolved %s at pixel size %d\n to %s\n", pattern, targetPxlSize, p); } XFreeFontNames(fonts);