summaryrefslogtreecommitdiff
path: root/main_gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'main_gui.c')
-rw-r--r--main_gui.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/main_gui.c b/main_gui.c
index 93577dbc5..b6442a181 100644
--- a/main_gui.c
+++ b/main_gui.c
@@ -152,26 +152,6 @@ static void ToolbarFastForwardClick(Window *w)
SndPlayFx(SND_15_BEEP);
}
-/* It is possible that a stickied window gets to a position where the
- * 'close' button is outside the gaming area. You cannot close it then; except
- * with this function. It closes all windows calling the standard function,
- * then, does a little hacked loop of closing all stickied windows. Note
- * that standard windows (status bar, etc.) are not stickied, so these aren't affected */
-static void CloseEveryWindow(void)
-{
- Window *w;
- // Delete every window except for stickied ones
- DeleteNonVitalWindows();
- // Delete all sticked windows
- for (w = _windows; w != _last_window;) {
- if (w->flags4 & WF_STICKY) {
- DeleteWindow(w);
- w = _windows;
- } else
- w++;
- }
-}
-
typedef void MenuClickedProc(int index);
@@ -183,7 +163,7 @@ static void MenuClickSettings(int index)
case 2: ShowPatchesSelection(); return;
case 3: ShowNewgrf(); return;
- case 5: CloseEveryWindow(); return;
+ case 5: DeleteAllNonVitalWindows(); return;
case 6: _display_opt ^= DO_SHOW_TOWN_NAMES; MarkWholeScreenDirty(); return;
case 7: _display_opt ^= DO_SHOW_STATION_NAMES; MarkWholeScreenDirty(); return;
case 8: _display_opt ^= DO_SHOW_SIGNS; MarkWholeScreenDirty(); return;
@@ -2330,6 +2310,7 @@ static void MainWindowWndProc(Window *w, WindowEvent *e) {
case WKC_ESC: ResetObjectToPlace(); break;
case WKC_DELETE: DeleteNonVitalWindows(); break;
+ case WKC_DELETE | WKC_SHIFT: DeleteAllNonVitalWindows(); break;
case 'Q' | WKC_CTRL: AskExitGame(); break;
case 'Q' | WKC_META: AskExitGame(); break; // this enables command + Q on mac
case 'R' | WKC_CTRL: MarkWholeScreenDirty(); break;