Redo main board window with generic popup
[xboard.git] / menus.c
diff --git a/menus.c b/menus.c
index 55bbdf2..eb4441d 100644 (file)
--- a/menus.c
+++ b/menus.c
@@ -89,7 +89,6 @@ extern char *getenv();
 #include "backend.h"
 #include "backendz.h"
 #include "moves.h"
-#include "xgamelist.h"
 #include "xhistory.h"
 #include "xedittags.h"
 #include "menus.h"
@@ -196,6 +195,17 @@ CopyFENToClipboard ()
 }
 
 void
+CopyPositionProc ()
+{
+    static char *selected_fen_position=NULL;
+    if(gameMode == EditPosition) EditPositionDone(TRUE);
+    if (selected_fen_position) free(selected_fen_position);
+    selected_fen_position = (char *)PositionToFEN(currentMove, NULL);
+    if (!selected_fen_position) return;
+    CopySomething(selected_fen_position);
+}
+
+void
 CopyGameProc ()
 {
   int ret;
@@ -203,14 +213,14 @@ CopyGameProc ()
   ret = SaveGameToFile(gameCopyFilename, FALSE);
   if (!ret) return;
 
-  CopySomething();
+  CopySomething(NULL);
 }
 
 void
 CopyGameListProc ()
 {
   if(!SaveGameListAsText(fopen(gameCopyFilename, "w"))) return;
-  CopySomething();
+  CopySomething(NULL);
 }
 
 void
@@ -674,7 +684,7 @@ MenuItem viewMenu[] = {
     {N_("ICS Input Box"),    "ICS Input Box", IcsInputBoxProc},
     {"----", NULL, NothingProc},
     {N_("Board..."),          "Board Options", BoardOptionsProc},
-    {N_("Game List Tags..."), "Game List", GameListOptionsPopUp},
+    {N_("Game List Tags..."), "Game List", GameListOptionsProc},
     {NULL, NULL, NULL}
 };
 
@@ -741,7 +751,7 @@ MenuItem optionsMenu[] = {
     {N_("Load Game ..."),    "Load Game", LoadOptionsProc},
     {N_("Save Game ..."),    "Save Game", SaveOptionsProc},
 //    {N_(" ..."),    "", OptionsProc},
-    {N_("Game List ..."),    "Game List", GameListOptionsPopUp},
+    {N_("Game List ..."),    "Game List", GameListOptionsProc},
     {N_("Sounds ..."),    "Sounds", SoundOptionsProc},
     {"----", NULL, NothingProc},
 #ifndef OPTIONSDIALOG
@@ -1229,3 +1239,5 @@ InitMenuMarkers()
        MarkMenuItem("Save Settings on Exit", True);
     }
 }
+
+