/*
* ngamelist.c -- Game list window, Xt-independent front-end code for XBoard
*
- * Copyright 1995, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+ * Copyright 1995, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
* ------------------------------------------------------------------------
*
* GNU XBoard is free software: you can redistribute it and/or modify
static void GL_Button P((int n));
static Option gamesOptions[] = {
-{ 200, LR|TB, 400, NULL, (void*) list, NULL, NULL, ListBox, "" },
+{ 200, LR|TB, 400, NULL, (void*) list, NULL, NULL, ListBox, "", &appData.gameListFont },
{ 0, 0, 100, NULL, (void*) &filterPtr, "", NULL, TextBox, "" },
{ 4, SAME_ROW, 0, NULL, (void*) &GL_Button, NULL, NULL, Button, N_("find position") },
{ 2, SAME_ROW, 0, NULL, (void*) &GL_Button, NULL, NULL, Button, N_("narrow") }, // buttons referred to by ID in value (=first) field!
GameListCreate (char *name)
{
int new;
- if(new = GenericPopUp(gamesOptions, name, GameListDlg, BoardWindow, NONMODAL, 1))
+ if(new = GenericPopUp(gamesOptions, name, GameListDlg, BoardWindow, NONMODAL, appData.topLevel))
AddHandler(&gamesOptions[1], GameListDlg, 4),
AddHandler(&gamesOptions[0], GameListDlg, 5);
FocusOnWidget(&gamesOptions[0], GameListDlg);
if(lg->number % 2000 == 0) {
char buf[MSG_SIZ];
snprintf(buf, MSG_SIZ, _("Scanning through games (%d)"), lg->number);
- DisplayTitle(buf);
+ DisplayTitle(buf); DoEvents();
}
lg->position = pos;
lg = (ListGame *) lg->node.succ;
}
-GetTimeMark(&t2);printf("GameListPrepare %ld msec\n", SubtractTimeMarks(&t2,&t));
+ if(appData.debugMode) { GetTimeMark(&t2);printf("GameListPrepare %ld msec\n", SubtractTimeMarks(&t2,&t)); }
DisplayTitle("XBoard");
*st = NULL;
return listLength;
}
void
+GameListUpdate ()
+{
+ GameListPrepare(False, False);
+ GameListReplace(0);
+}
+
+void
GameListPopUp (FILE *fp, char *filename)
{
if (glc == NULL) {
page = 0;
GameListReplace(0); // [HGM] filter: code put in separate routine, and also called to set title
MarkMenu("View.GameList", GameListDlg);
+ EnableNamedMenuItem("File.SaveSelected", TRUE);
}
FILE *
GameListDestroy ()
{
if (glc == NULL) return;
+ EnableNamedMenuItem("File.SaveSelected", FALSE);
PopDown(GameListDlg);
if (glc->strings != NULL) {
char **st;
PopDown(GameListDlg);
return;
}
- GenericPopUp(NULL, NULL, GameListDlg, BoardWindow, NONMODAL, 1); // first two args ignored when shell exists!
+ GenericPopUp(NULL, NULL, GameListDlg, BoardWindow, NONMODAL, appData.topLevel); // first two args ignored when shell exists!
MarkMenu("View.GameList", GameListDlg);
GameListHighlight(lastLoadGameNumber);
}
/* Copy the list into the global memory block */
if( f != NULL ) {
-
+
lg = (ListGame *) gameList.head;
for (nItem = 0; nItem < ((ListGame *) gameList.tailPred)->number; nItem++){
}
return False;
}
-