(svn r13501) -Feature(tte): ctrl+click on sign you own to remove it (Osai, planetmaker)

This commit is contained in:
smatz 2008-06-12 22:29:42 +00:00
parent 79ad51867a
commit 421a040e89
3 changed files with 14 additions and 3 deletions

View File

@ -15,6 +15,7 @@ void PlaceProc_Sign(TileIndex tile);
/* signs_gui.cpp */ /* signs_gui.cpp */
void ShowRenameSignWindow(const Sign *si); void ShowRenameSignWindow(const Sign *si);
void HandleClickOnSign(const Sign *si);
void ShowSignList(); void ShowSignList();

View File

@ -8,6 +8,7 @@
#include "textbuf_gui.h" #include "textbuf_gui.h"
#include "window_gui.h" #include "window_gui.h"
#include "player_gui.h" #include "player_gui.h"
#include "player_func.h"
#include "signs_base.h" #include "signs_base.h"
#include "signs_func.h" #include "signs_func.h"
#include "debug.h" #include "debug.h"
@ -301,6 +302,15 @@ static const WindowDesc _query_sign_edit_desc = {
_query_sign_edit_widgets, _query_sign_edit_widgets,
}; };
void HandleClickOnSign(const Sign *si)
{
if (_ctrl_pressed && si->owner == _local_player) {
RenameSign(si->index, "");
return;
}
ShowRenameSignWindow(si);
}
void ShowRenameSignWindow(const Sign *si) void ShowRenameSignWindow(const Sign *si)
{ {
/* Delete all other edit windows and the save window */ /* Delete all other edit windows and the save window */

View File

@ -1870,7 +1870,7 @@ static bool CheckClickOnSign(const ViewPort *vp, int x, int y)
y < si->sign.top + 12 && y < si->sign.top + 12 &&
x >= si->sign.left && x >= si->sign.left &&
x < si->sign.left + si->sign.width_1) { x < si->sign.left + si->sign.width_1) {
ShowRenameSignWindow(si); HandleClickOnSign(si);
return true; return true;
} }
} }
@ -1884,7 +1884,7 @@ static bool CheckClickOnSign(const ViewPort *vp, int x, int y)
y < si->sign.top + 24 && y < si->sign.top + 24 &&
x >= si->sign.left && x >= si->sign.left &&
x < si->sign.left + si->sign.width_1 * 2) { x < si->sign.left + si->sign.width_1 * 2) {
ShowRenameSignWindow(si); HandleClickOnSign(si);
return true; return true;
} }
} }
@ -1900,7 +1900,7 @@ static bool CheckClickOnSign(const ViewPort *vp, int x, int y)
y < si->sign.top + ScaleByZoom(12, vp->zoom) && y < si->sign.top + ScaleByZoom(12, vp->zoom) &&
x >= si->sign.left && x >= si->sign.left &&
x < si->sign.left + ScaleByZoom(si->sign.width_2, vp->zoom)) { x < si->sign.left + ScaleByZoom(si->sign.width_2, vp->zoom)) {
ShowRenameSignWindow(si); HandleClickOnSign(si);
return true; return true;
} }
} }