Richard B's patch to enable users to explicitly request shadow bold
[u/mdw/putty] / unix / uxcfg.c
index 1bf58b7..813009e 100644 (file)
@@ -117,10 +117,13 @@ void unix_setup_config_box(struct controlbox *b, int midsession, void *win)
     ctrl_fontsel(s, "Font used for bold wide text", 'i',
                 HELPCTX(no_help),
                 dlg_stdfontsel_handler, I(offsetof(Config,wideboldfont)));
-    ctrl_text(s, "If you leave the bold font selectors blank, bold text"
-              " will be displayed by overprinting (\"shadow bold\"). Note"
-              " that this only applies if you have not requested bolding"
-              " to be done by changing the text colour.",
+    ctrl_checkbox(s, "Use shadow bold instead of bold fonts", 'u',
+                 HELPCTX(no_help),
+                 dlg_stdcheckbox_handler,
+                 I(offsetof(Config,shadowbold)));
+    ctrl_text(s, "(Note that bold fonts or shadow bolding are only"
+             " used if you have not requested bolding to be done by"
+             " changing the text colour.)",
               HELPCTX(no_help));
     ctrl_editbox(s, "Horizontal offset for shadow bold:", 'z', 20,
                 HELPCTX(no_help), dlg_stdeditbox_handler,
@@ -130,16 +133,15 @@ void unix_setup_config_box(struct controlbox *b, int midsession, void *win)
      * Unix supports a local-command proxy. This also means we must
      * adjust the text on the `Telnet command' control.
      */
-    s = ctrl_getset(b, "Connection/Proxy", "basics", "Proxy basics");
-    {
+    if (!midsession) {
        int i;
+        s = ctrl_getset(b, "Connection/Proxy", "basics", NULL);
        for (i = 0; i < s->ncontrols; i++) {
            c = s->ctrls[i];
            if (c->generic.type == CTRL_RADIO &&
                c->generic.context.i == offsetof(Config, proxy_type)) {
                assert(c->generic.handler == dlg_stdradiobutton_handler);
                c->radio.nbuttons++;
-               c->radio.ncolumns++;
                c->radio.buttons =
                    sresize(c->radio.buttons, c->radio.nbuttons, char *);
                c->radio.buttons[c->radio.nbuttons-1] =
@@ -150,11 +152,7 @@ void unix_setup_config_box(struct controlbox *b, int midsession, void *win)
                break;
            }
        }
-    }
-    s = ctrl_getset(b, "Connection/Proxy", "misc",
-                   "Miscellaneous proxy settings");
-    {
-       int i;
+
        for (i = 0; i < s->ncontrols; i++) {
            c = s->ctrls[i];
            if (c->generic.type == CTRL_EDITBOX &&