|
|
|
@ -190,7 +190,7 @@ public:
|
|
|
|
|
* @param list List of items
|
|
|
|
|
* @param def Default item
|
|
|
|
|
*/
|
|
|
|
|
static void PopupMainToolbMenu(Window *w, int widget, DropDownList &&list, int def)
|
|
|
|
|
static void PopupMainToolbarMenu(Window *w, int widget, DropDownList &&list, int def)
|
|
|
|
|
{
|
|
|
|
|
ShowDropDownList(w, std::move(list), def, widget, 0, true);
|
|
|
|
|
if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP);
|
|
|
|
@ -202,7 +202,7 @@ static void PopupMainToolbMenu(Window *w, int widget, DropDownList &&list, int d
|
|
|
|
|
* @param widget Toolbar button
|
|
|
|
|
* @param strings List of strings for each item in the menu
|
|
|
|
|
*/
|
|
|
|
|
static void PopupMainToolbMenu(Window *w, int widget, const std::initializer_list<StringID> &strings)
|
|
|
|
|
static void PopupMainToolbarMenu(Window *w, int widget, const std::initializer_list<StringID> &strings)
|
|
|
|
|
{
|
|
|
|
|
DropDownList list;
|
|
|
|
|
int i = 0;
|
|
|
|
@ -214,7 +214,7 @@ static void PopupMainToolbMenu(Window *w, int widget, const std::initializer_lis
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
PopupMainToolbMenu(w, widget, std::move(list), 0);
|
|
|
|
|
PopupMainToolbarMenu(w, widget, std::move(list), 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Enum for the Company Toolbar's network related buttons */
|
|
|
|
@ -257,7 +257,7 @@ static void PopupMainCompanyToolbMenu(Window *w, int widget, int grey = 0)
|
|
|
|
|
list.push_back(std::make_unique<DropDownListCompanyItem>(c, false, HasBit(grey, c)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PopupMainToolbMenu(w, widget, std::move(list), _local_company == COMPANY_SPECTATOR ? (widget == WID_TN_COMPANIES ? CTMN_CLIENT_LIST : CTMN_SPECTATOR) : (int)_local_company);
|
|
|
|
|
PopupMainToolbarMenu(w, widget, std::move(list), _local_company == COMPANY_SPECTATOR ? (widget == WID_TN_COMPANIES ? CTMN_CLIENT_LIST : CTMN_SPECTATOR) : (int)_local_company);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static ToolbarMode _toolbar_mode;
|
|
|
|
@ -420,7 +420,7 @@ enum SaveLoadNormalMenuEntries {
|
|
|
|
|
*/
|
|
|
|
|
static CallBackFunction ToolbarSaveClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_SAVE, {STR_FILE_MENU_SAVE_GAME, STR_FILE_MENU_LOAD_GAME, STR_FILE_MENU_QUIT_GAME,
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_SAVE, {STR_FILE_MENU_SAVE_GAME, STR_FILE_MENU_LOAD_GAME, STR_FILE_MENU_QUIT_GAME,
|
|
|
|
|
STR_NULL, STR_FILE_MENU_EXIT});
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
@ -433,7 +433,7 @@ static CallBackFunction ToolbarSaveClick(Window *w)
|
|
|
|
|
*/
|
|
|
|
|
static CallBackFunction ToolbarScenSaveOrLoad(Window *w)
|
|
|
|
|
{
|
|
|
|
|
PopupMainToolbMenu(w, WID_TE_SAVE, {STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO, STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO,
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TE_SAVE, {STR_SCENEDIT_FILE_MENU_SAVE_SCENARIO, STR_SCENEDIT_FILE_MENU_LOAD_SCENARIO,
|
|
|
|
|
STR_SCENEDIT_FILE_MENU_SAVE_HEIGHTMAP, STR_SCENEDIT_FILE_MENU_LOAD_HEIGHTMAP,
|
|
|
|
|
STR_SCENEDIT_FILE_MENU_QUIT_EDITOR, STR_NULL, STR_SCENEDIT_FILE_MENU_QUIT});
|
|
|
|
|
return CBF_NONE;
|
|
|
|
@ -485,7 +485,7 @@ static CallBackFunction ToolbarMapClick(Window *w)
|
|
|
|
|
list.push_back(std::make_unique<DropDownListStringItem>(STR_MAP_MENU_EXTRA_VIEWPORT, MME_SHOW_EXTRAVIEWPORTS, false));
|
|
|
|
|
list.push_back(std::make_unique<DropDownListStringItem>(STR_MAP_MENU_LINGRAPH_LEGEND, MME_SHOW_LINKGRAPH, false));
|
|
|
|
|
list.push_back(std::make_unique<DropDownListStringItem>(STR_MAP_MENU_SIGN_LIST, MME_SHOW_SIGNLISTS, false));
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_SMALL_MAP, std::move(list), 0);
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_SMALL_MAP, std::move(list), 0);
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -497,7 +497,7 @@ static CallBackFunction ToolbarScenMapTownDir(Window *w)
|
|
|
|
|
list.push_back(std::make_unique<DropDownListStringItem>(STR_MAP_MENU_SIGN_LIST, MME_SHOW_SIGNLISTS, false));
|
|
|
|
|
list.push_back(std::make_unique<DropDownListStringItem>(STR_TOWN_MENU_TOWN_DIRECTORY, MME_SHOW_TOWNDIRECTORY, false));
|
|
|
|
|
list.push_back(std::make_unique<DropDownListStringItem>(STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, MME_SHOW_INDUSTRYDIRECTORY, false));
|
|
|
|
|
PopupMainToolbMenu(w, WID_TE_SMALL_MAP, std::move(list), 0);
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TE_SMALL_MAP, std::move(list), 0);
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -525,9 +525,9 @@ static CallBackFunction MenuClickMap(int index)
|
|
|
|
|
static CallBackFunction ToolbarTownClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
if (_settings_game.economy.found_town == TF_FORBIDDEN) {
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_TOWNS, {STR_TOWN_MENU_TOWN_DIRECTORY});
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_TOWNS, {STR_TOWN_MENU_TOWN_DIRECTORY});
|
|
|
|
|
} else {
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_TOWNS, {STR_TOWN_MENU_TOWN_DIRECTORY, STR_TOWN_MENU_FOUND_TOWN});
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_TOWNS, {STR_TOWN_MENU_TOWN_DIRECTORY, STR_TOWN_MENU_FOUND_TOWN});
|
|
|
|
|
}
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
@ -553,7 +553,7 @@ static CallBackFunction MenuClickTown(int index)
|
|
|
|
|
|
|
|
|
|
static CallBackFunction ToolbarSubsidiesClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_SUBSIDIES, {STR_SUBSIDIES_MENU_SUBSIDIES});
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_SUBSIDIES, {STR_SUBSIDIES_MENU_SUBSIDIES});
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -782,9 +782,9 @@ static CallBackFunction ToolbarIndustryClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
/* Disable build-industry menu if we are a spectator */
|
|
|
|
|
if (_local_company == COMPANY_SPECTATOR) {
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_INDUSTRIES, {STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, STR_INDUSTRY_MENU_INDUSTRY_CHAIN});
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_INDUSTRIES, {STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, STR_INDUSTRY_MENU_INDUSTRY_CHAIN});
|
|
|
|
|
} else {
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_INDUSTRIES, {STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, STR_INDUSTRY_MENU_INDUSTRY_CHAIN, STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY});
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_INDUSTRIES, {STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY, STR_INDUSTRY_MENU_INDUSTRY_CHAIN, STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY});
|
|
|
|
|
}
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
@ -1061,7 +1061,7 @@ static CallBackFunction MenuClickForest(int index)
|
|
|
|
|
|
|
|
|
|
static CallBackFunction ToolbarMusicClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
PopupMainToolbMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_MUSIC_SOUND : (int)WID_TN_MUSIC_SOUND, {STR_TOOLBAR_SOUND_MUSIC});
|
|
|
|
|
PopupMainToolbarMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_MUSIC_SOUND : (int)WID_TN_MUSIC_SOUND, {STR_TOOLBAR_SOUND_MUSIC});
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1080,7 +1080,7 @@ static CallBackFunction MenuClickMusicWindow(int)
|
|
|
|
|
|
|
|
|
|
static CallBackFunction ToolbarNewspaperClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
PopupMainToolbMenu(w, WID_TN_MESSAGES, {STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT, STR_NEWS_MENU_MESSAGE_HISTORY_MENU, STR_NEWS_MENU_DELETE_ALL_MESSAGES});
|
|
|
|
|
PopupMainToolbarMenu(w, WID_TN_MESSAGES, {STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT, STR_NEWS_MENU_MESSAGE_HISTORY_MENU, STR_NEWS_MENU_DELETE_ALL_MESSAGES});
|
|
|
|
|
return CBF_NONE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1116,13 +1116,13 @@ static CallBackFunction PlaceLandBlockInfo()
|
|
|
|
|
static CallBackFunction ToolbarHelpClick(Window *w)
|
|
|
|
|
{
|
|
|
|
|
if (_settings_client.gui.newgrf_developer_tools) {
|
|
|
|
|
PopupMainToolbMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_HELP : (int)WID_TN_HELP, {STR_ABOUT_MENU_LAND_BLOCK_INFO,
|
|
|
|
|
PopupMainToolbarMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_HELP : (int)WID_TN_HELP, {STR_ABOUT_MENU_LAND_BLOCK_INFO,
|
|
|
|
|
STR_ABOUT_MENU_HELP, STR_NULL, STR_ABOUT_MENU_TOGGLE_CONSOLE, STR_ABOUT_MENU_AI_DEBUG,
|
|
|
|
|
STR_ABOUT_MENU_SCREENSHOT, STR_ABOUT_MENU_SHOW_FRAMERATE, STR_ABOUT_MENU_ABOUT_OPENTTD,
|
|
|
|
|
STR_ABOUT_MENU_SPRITE_ALIGNER, STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES, STR_ABOUT_MENU_TOGGLE_DIRTY_BLOCKS,
|
|
|
|
|
STR_ABOUT_MENU_TOGGLE_WIDGET_OUTLINES});
|
|
|
|
|
} else {
|
|
|
|
|
PopupMainToolbMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_HELP : (int)WID_TN_HELP, {STR_ABOUT_MENU_LAND_BLOCK_INFO,
|
|
|
|
|
PopupMainToolbarMenu(w, _game_mode == GM_EDITOR ? (int)WID_TE_HELP : (int)WID_TN_HELP, {STR_ABOUT_MENU_LAND_BLOCK_INFO,
|
|
|
|
|
STR_ABOUT_MENU_HELP, STR_NULL, STR_ABOUT_MENU_TOGGLE_CONSOLE, STR_ABOUT_MENU_AI_DEBUG,
|
|
|
|
|
STR_ABOUT_MENU_SCREENSHOT, STR_ABOUT_MENU_SHOW_FRAMERATE, STR_ABOUT_MENU_ABOUT_OPENTTD});
|
|
|
|
|
}
|
|
|
|
|