summaryrefslogtreecommitdiff
path: root/src/main_gui.cpp
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2007-04-05 07:49:04 +0000
committerpeter1138 <peter1138@openttd.org>2007-04-05 07:49:04 +0000
commita2cec54c9d880243617b16972528e305d743014d (patch)
tree56e95f5fe598d9097484013307aecd3c2c9821d0 /src/main_gui.cpp
parentabf88b687ccbc7e344b3eacf8a84c1f71cac73a3 (diff)
downloadopenttd-a2cec54c9d880243617b16972528e305d743014d.tar.xz
(svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01.
Diffstat (limited to 'src/main_gui.cpp')
-rw-r--r--src/main_gui.cpp44
1 files changed, 35 insertions, 9 deletions
diff --git a/src/main_gui.cpp b/src/main_gui.cpp
index 6f3be6341..eb039bb95 100644
--- a/src/main_gui.cpp
+++ b/src/main_gui.cpp
@@ -37,6 +37,7 @@
#include "settings.h"
#include "date.h"
#include "vehicle_gui.h"
+#include "transparency_gui.h"
#include "newgrf_config.h"
#include "network/network_data.h"
@@ -160,8 +161,8 @@ static void MenuClickSettings(int index)
case 8: _display_opt ^= DO_WAYPOINTS; break;
case 9: _display_opt ^= DO_FULL_ANIMATION; break;
case 10: _display_opt ^= DO_FULL_DETAIL; break;
- case 11: _display_opt ^= DO_TRANS_BUILDINGS; break;
- case 12: _display_opt ^= DO_TRANS_SIGNS; break;
+ case 11: TOGGLEBIT(_transparent_opt, TO_BUILDINGS); break;
+ case 12: TOGGLEBIT(_transparent_opt, TO_SIGNS); break;
}
MarkWholeScreenDirty();
}
@@ -192,6 +193,7 @@ static void MenuClickMap(int index)
case 0: ShowSmallMap(); break;
case 1: ShowExtraViewPortWindow(); break;
case 2: ShowSignList(); break;
+ case 3: ShowTransparencyToolbar(); break;
}
}
@@ -206,7 +208,8 @@ static void MenuClickScenMap(int index)
case 0: ShowSmallMap(); break;
case 1: ShowExtraViewPortWindow(); break;
case 2: ShowSignList(); break;
- case 3: ShowTownDirectory(); break;
+ case 3: ShowTransparencyToolbar(); break;
+ case 4: ShowTownDirectory(); break;
}
}
@@ -762,7 +765,7 @@ static void ToolbarSaveClick(Window *w)
static void ToolbarMapClick(Window *w)
{
- PopupMainToolbMenu(w, 4, STR_02DE_MAP_OF_WORLD, 3, 0);
+ PopupMainToolbMenu(w, 4, STR_02DE_MAP_OF_WORLD, 4, 0);
}
static void ToolbarTownClick(Window *w)
@@ -961,8 +964,8 @@ static void ToolbarOptionsClick(Window *w)
if (_display_opt & DO_WAYPOINTS) SETBIT(x, 8);
if (_display_opt & DO_FULL_ANIMATION) SETBIT(x, 9);
if (_display_opt & DO_FULL_DETAIL) SETBIT(x, 10);
- if (_display_opt & DO_TRANS_BUILDINGS) SETBIT(x, 11);
- if (_display_opt & DO_TRANS_SIGNS) SETBIT(x, 12);
+ if (HASBIT(_transparent_opt, TO_BUILDINGS)) SETBIT(x, 11);
+ if (HASBIT(_transparent_opt, TO_SIGNS)) SETBIT(x, 12);
WP(w,menu_d).checked_items = x;
}
@@ -1001,7 +1004,7 @@ static void ToolbarScenDateForward(Window *w)
static void ToolbarScenMapTownDir(Window *w)
{
/* Scenario editor button, *hack*hack* use different button to activate */
- PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 4, 0);
+ PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 5, 0);
}
static void ToolbarScenZoomIn(Window *w)
@@ -2330,11 +2333,34 @@ static void MainWindowWndProc(Window *w, WindowEvent *e)
break;
#endif
- case 'X':
- _display_opt ^= DO_TRANS_BUILDINGS;
+ case '1' | WKC_CTRL:
+ case '2' | WKC_CTRL:
+ case '3' | WKC_CTRL:
+ case '4' | WKC_CTRL:
+ case '5' | WKC_CTRL:
+ case '6' | WKC_CTRL:
+ case '7' | WKC_CTRL:
+ /* Transparency toggle hot keys */
+ TOGGLEBIT(_transparent_opt, e->we.keypress.key - '1');
MarkWholeScreenDirty();
break;
+ case 'X' | WKC_CTRL:
+ ShowTransparencyToolbar();
+ break;
+
+ case 'X': {
+ static byte trans_opt = ~0;
+ if (_transparent_opt == 0) {
+ _transparent_opt = trans_opt;
+ } else {
+ trans_opt = _transparent_opt;
+ _transparent_opt = 0;
+ }
+ MarkWholeScreenDirty();
+ break;
+ }
+
#ifdef ENABLE_NETWORK
case WKC_RETURN: case 'T': // smart chat; send to team if any, otherwise to all
if (_networking) {