Split Tournament dialog in side-by-side panes
[xboard.git] / dialogs.c
index 8e3936f..a992eee 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -286,11 +286,11 @@ static Option matchOptions[] = {
 { 0,  0,          0, NULL, (void*) &appData.cycleSync, "", NULL, CheckBox, N_("Sync after cycle") },
 { 0,  LR,       175, NULL, NULL, NULL, NULL, Label, N_("Tourney participants:") },
 { 0, SAME_ROW|RR, 175, NULL, NULL, NULL, NULL, Label, N_("Select Engine:") },
-{ 150, T_VSCRL | T_FILL | T_WRAP,
+{ 200, T_VSCRL | T_FILL | T_WRAP,
                 175, NULL, (void*) &engineName, NULL, NULL, TextBox, "" },
-{ 150, SAME_ROW|RR,
+{ 200, SAME_ROW|RR,
                 175, NULL, (void*) engineMnemonic, (char*) &AddToTourney, NULL, ListBox, "" },
-{ 0, 0, 0, NULL, NULL, NULL, NULL, Break, "" }, // to decouple alignment above and below boxes
+{ 0, SAME_ROW, 0, NULL, NULL, NULL, NULL, Break, "" }, // to decouple alignment above and below boxes
 //{ 0,  COMBO_CALLBACK | NO_GETTEXT,
 //               0, NULL, (void*) &AddToTourney, (char*) (engineMnemonic+1), (engineMnemonic+1), ComboBox, N_("Select Engine:") },
 { 0,  0,         10, NULL, (void*) &appData.tourneyType, "", NULL, Spin, N_("Tourney type (0 = round-robin, 1 = gauntlet):") },
@@ -562,7 +562,6 @@ NewVariantProc ()
 {
    static int start;
    int i, last;
-   char buf[MSG_SIZ];
    ranksTmp = filesTmp = sizeTmp = -1; // prefer defaults over actual settings
    if(appData.noChessProgram) sprintf(warning, _("Only bughouse is not available in viewer mode.")); else
    sprintf(warning, _("All variants not supported by the first engine\n(currently %s) are disabled."), first.tidy);
@@ -586,9 +585,9 @@ NewVariantProc ()
    }
    variantDescriptors[start-2].type = (last < 0 ? EndMark : Skip);
    variantDescriptors[start-1].type = (last < 6 ? Skip : Break);
-   safeStrCpy(buf, engineVariant, MSG_SIZ); *engineVariant = NULLCHAR; // yeghh...
+   safeStrCpy(engineVariant+100, engineVariant, 100); *engineVariant = NULLCHAR; // yeghh...
    GenericPopUp(variantDescriptors, _("New Variant"), TransientDlg, BoardWindow, MODAL, 0);
-   safeStrCpy(engineVariant, buf, MSG_SIZ); // must temporarily clear to avoid enabling all variant buttons
+   safeStrCpy(engineVariant, engineVariant+100, MSG_SIZ); // must temporarily clear to avoid enabling all variant buttons
 }
 
 //------------------------------------------- Common Engine Options -------------------------------------
@@ -2414,7 +2413,8 @@ DisplayLogos (Option *w1, Option *w2)
 {
        void *whiteLogo = first.programLogo, *blackLogo = second.programLogo;
        if(appData.autoLogo) {
-         if(appData.noChessProgram) whiteLogo = blackLogo = NULL; else
+         if(appData.noChessProgram) whiteLogo = blackLogo = NULL;
+         if(appData.icsActive) whiteLogo = blackLogo = second.programLogo;
          switch(gameMode) { // pick logos based on game mode
            case IcsObserving:
                whiteLogo = second.programLogo; // ICS logo