Index: src/transparency_gui.cpp =================================================================== --- src/transparency_gui.cpp (revision 10002) +++ src/transparency_gui.cpp (working copy) @@ -46,13 +46,29 @@ SetWindowWidgetLoweredState(w, i, HASBIT(_transparent_opt, i - TTW_WIDGET_SIGNS)); } DrawWindowWidgets(w); + + //draw an X over the widget which tells wether the "invisible trees" patch is actived + if (_patches.invisible_trees) { + DrawString(w->widget[TTW_WIDGET_TREES].left+1, w->widget[TTW_WIDGET_TREES].top+1, STR_00C5, 0); + } break; case WE_CLICK: - if (e->we.click.widget >= TTW_WIDGET_SIGNS) { - Transparent_Click(e->we.click.widget - TTW_WIDGET_SIGNS); - MarkWholeScreenDirty(); + /* check for the CTRL key pressed, if so and we click on a widget which support it, we toggle the invisibility */ + if (_ctrl_pressed) { + switch (e->we.click.widget) { + case TTW_WIDGET_TREES: + _patches.invisible_trees ^= 1; + break; + } } + else { + /* else we toggle the transparency */ + if (e->we.click.widget >= TTW_WIDGET_SIGNS) { + Transparent_Click(e->we.click.widget - TTW_WIDGET_SIGNS); + } + } + MarkWholeScreenDirty(); break; } }