(svn r7637) -Codechange: Change ShowQueryString to use a window pointer as a parent. If the
query has no parent (eg give money, rename waypoint), the global function HandleOnEditText is used.
This commit is contained in:
24
main_gui.c
24
main_gui.c
@@ -54,27 +54,23 @@ extern void GenerateIndustries(void);
|
||||
extern bool GenerateTowns(void);
|
||||
|
||||
|
||||
void HandleOnEditText(WindowEvent *e)
|
||||
void HandleOnEditText(const char *str)
|
||||
{
|
||||
const char *b = e->we.edittext.str;
|
||||
int id;
|
||||
|
||||
_cmd_text = b;
|
||||
|
||||
id = _rename_id;
|
||||
int id = _rename_id;
|
||||
_cmd_text = str;
|
||||
|
||||
switch (_rename_what) {
|
||||
case 0: /* Rename a s sign, if string is empty, delete sign */
|
||||
DoCommandP(0, id, 0, NULL, CMD_RENAME_SIGN | CMD_MSG(STR_280C_CAN_T_CHANGE_SIGN_NAME));
|
||||
break;
|
||||
case 1: /* Rename a waypoint */
|
||||
if (*b == '\0') return;
|
||||
if (*str == '\0') return;
|
||||
DoCommandP(0, id, 0, NULL, CMD_RENAME_WAYPOINT | CMD_MSG(STR_CANT_CHANGE_WAYPOINT_NAME));
|
||||
break;
|
||||
#ifdef ENABLE_NETWORK
|
||||
case 3: { /* Give money, you can only give money in excess of loan */
|
||||
const Player *p = GetPlayer(_current_player);
|
||||
int32 money = min(p->money64 - p->current_loan, atoi(e->we.edittext.str) / _currency->rate);
|
||||
int32 money = min(p->money64 - p->current_loan, atoi(str) / _currency->rate);
|
||||
char msg[20];
|
||||
|
||||
money = clamp(money, 0, 20000000); // Clamp between 20 million and 0
|
||||
@@ -311,7 +307,7 @@ void ShowNetworkGiveMoneyWindow(PlayerID player)
|
||||
{
|
||||
_rename_id = player;
|
||||
_rename_what = 3;
|
||||
ShowQueryString(STR_EMPTY, STR_NETWORK_GIVE_MONEY_CAPTION, 30, 180, 1, 0, CS_NUMERAL);
|
||||
ShowQueryString(STR_EMPTY, STR_NETWORK_GIVE_MONEY_CAPTION, 30, 180, NULL, CS_NUMERAL);
|
||||
}
|
||||
#endif /* ENABLE_NETWORK */
|
||||
|
||||
@@ -319,7 +315,7 @@ void ShowRenameSignWindow(const Sign *si)
|
||||
{
|
||||
_rename_id = si->index;
|
||||
_rename_what = 0;
|
||||
ShowQueryString(si->str, STR_280B_EDIT_SIGN_TEXT, 30, 180, 1, 0, CS_ALPHANUMERAL);
|
||||
ShowQueryString(si->str, STR_280B_EDIT_SIGN_TEXT, 30, 180, NULL, CS_ALPHANUMERAL);
|
||||
}
|
||||
|
||||
void ShowRenameWaypointWindow(const Waypoint *wp)
|
||||
@@ -336,7 +332,7 @@ void ShowRenameWaypointWindow(const Waypoint *wp)
|
||||
_rename_id = id;
|
||||
_rename_what = 1;
|
||||
SetDParam(0, id);
|
||||
ShowQueryString(STR_WAYPOINT_RAW, STR_EDIT_WAYPOINT_NAME, 30, 180, 1, 0, CS_ALPHANUMERAL);
|
||||
ShowQueryString(STR_WAYPOINT_RAW, STR_EDIT_WAYPOINT_NAME, 30, 180, NULL, CS_ALPHANUMERAL);
|
||||
}
|
||||
|
||||
static void SelectSignTool(void)
|
||||
@@ -1837,8 +1833,6 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
|
||||
SetWindowDirty(w);
|
||||
} break;
|
||||
|
||||
case WE_ON_EDIT_TEXT: HandleOnEditText(e); break;
|
||||
|
||||
case WE_MOUSELOOP:
|
||||
if (IsWindowWidgetLowered(w, 0) != !!_pause) {
|
||||
ToggleWidgetLoweredState(w, 0);
|
||||
@@ -2038,8 +2032,6 @@ static void ScenEditToolbarWndProc(Window *w, WindowEvent *e)
|
||||
SetWindowDirty(w);
|
||||
} break;
|
||||
|
||||
case WE_ON_EDIT_TEXT: HandleOnEditText(e); break;
|
||||
|
||||
case WE_MOUSELOOP:
|
||||
if (IsWindowWidgetLowered(w, 0) != !!_pause) {
|
||||
ToggleWidgetLoweredState(w, 0);
|
||||
|
||||
Reference in New Issue
Block a user