X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxoptions.c;h=6cf117ad01796461ae91699c13e0bcb1e8789895;hb=fafca253f3540ba9f65f8d2ec19ff6091f5f9c5d;hp=e0c358069a7229d7e20f3995b60481d727fbe0ab;hpb=89b07e580a401d8c123c4a10e82789a873f37965;p=xboard.git diff --git a/gtk/xoptions.c b/gtk/xoptions.c index e0c3580..6cf117a 100644 --- a/gtk/xoptions.c +++ b/gtk/xoptions.c @@ -350,6 +350,7 @@ FocusOnWidget (Option *opt, DialogClass dlg) #ifdef TODO_GTK XtSetKeyboardFocus(shells[dlg], opt->handle); #endif + if(dlg) gtk_window_present(GTK_WINDOW(shells[dlg])); gtk_widget_grab_focus(opt->handle); } @@ -502,13 +503,16 @@ TypeInProc (GtkWidget *widget, GdkEventKey *event, gpointer gdata) shiftState = event->state & GDK_SHIFT_MASK; controlState = event->state & GDK_CONTROL_MASK; switch(event->keyval) { + case 'n': return (controlState && IcsHist(14, opt, dlg)); + case 'o': return (controlState && IcsHist(15, opt, dlg)); + case GDK_Tab: IcsHist(10, opt, dlg); break; case GDK_Up: IcsHist(1, opt, dlg); break; case GDK_Down: IcsHist(-1, opt, dlg); break; case GDK_Return: if(GenericReadout(dialogOptions[dlg], -1)) PopDown(dlg); break; case GDK_Escape: - PopDown(dlg); + if(!IcsHist(33, opt, dlg)) PopDown(dlg); break; default: return FALSE; @@ -707,7 +711,7 @@ AddHandler (Option *opt, DialogClass dlg, int nr) GtkWidget *shells[NrOfDialogs]; DialogClass parents[NrOfDialogs]; WindowPlacement *wp[NrOfDialogs] = { // Beware! Order must correspond to DialogClass enum - NULL, &wpComment, &wpTags, NULL, NULL, &wpConsole, &wpDualBoard, &wpMoveHistory, &wpGameList, &wpEngineOutput, &wpEvalGraph, + NULL, &wpComment, &wpTags, &wpTextMenu, NULL, &wpConsole, &wpDualBoard, &wpMoveHistory, &wpGameList, &wpEngineOutput, &wpEvalGraph, NULL, NULL, NULL, NULL, &wpMain }; @@ -1661,8 +1665,8 @@ SendTextCB (Widget w, XtPointer client_data, Atom *selection, void SendText (int n) { -#ifdef TODO_GTK char *p = (char*) textOptions[n].choice; +#ifdef TODO_GTK if(strstr(p, "$name")) { XtGetSelectionValue(menuBarWidget, XA_PRIMARY, XA_STRING, @@ -1670,8 +1674,9 @@ SendText (int n) (XtPointer) (intptr_t) n, /* client_data passed to PastePositionCB */ CurrentTime ); - } else SendString(p); + } else #endif + SendString(p); } void @@ -1682,7 +1687,7 @@ SetInsertPos (Option *opt, int pos) } void -HardSetFocus (Option *opt) +HardSetFocus (Option *opt, DialogClass dlg) { - FocusOnWidget(opt, 0); // second arg not used in GDK + FocusOnWidget(opt, dlg); }