mirror of https://github.com/OpenTTD/OpenTTD.git
Add: another go-to-location button to the sign window.
This commit is contained in:
parent
5bfcd742b8
commit
1432dbac53
|
@ -3100,6 +3100,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Toggle m
|
||||||
|
|
||||||
# Sign window
|
# Sign window
|
||||||
STR_EDIT_SIGN_CAPTION :{WHITE}Edit sign text
|
STR_EDIT_SIGN_CAPTION :{WHITE}Edit sign text
|
||||||
|
STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centre the main view on sign location. Ctrl+Click opens a new viewport on sign location
|
||||||
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Go to next sign
|
STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Go to next sign
|
||||||
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Go to previous sign
|
STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Go to previous sign
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "core/geometry_func.hpp"
|
#include "core/geometry_func.hpp"
|
||||||
#include "hotkeys.h"
|
#include "hotkeys.h"
|
||||||
#include "transparency.h"
|
#include "transparency.h"
|
||||||
|
#include "gui.h"
|
||||||
|
|
||||||
#include "widgets/sign_widget.h"
|
#include "widgets/sign_widget.h"
|
||||||
|
|
||||||
|
@ -486,6 +487,17 @@ struct SignWindow : Window, SignList {
|
||||||
void OnClick(Point pt, int widget, int click_count) override
|
void OnClick(Point pt, int widget, int click_count) override
|
||||||
{
|
{
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
|
case WID_QES_LOCATION: {
|
||||||
|
const Sign *si = Sign::Get(this->cur_sign);
|
||||||
|
TileIndex tile = TileVirtXY(si->x, si->y);
|
||||||
|
if (_ctrl_pressed) {
|
||||||
|
ShowExtraViewportWindow(tile);
|
||||||
|
} else {
|
||||||
|
ScrollMainWindowToTile(tile);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case WID_QES_PREVIOUS:
|
case WID_QES_PREVIOUS:
|
||||||
case WID_QES_NEXT: {
|
case WID_QES_NEXT: {
|
||||||
const Sign *si = this->PrevNextSign(widget == WID_QES_NEXT);
|
const Sign *si = this->PrevNextSign(widget == WID_QES_NEXT);
|
||||||
|
@ -523,6 +535,7 @@ static const NWidgetPart _nested_query_sign_edit_widgets[] = {
|
||||||
NWidget(NWID_HORIZONTAL),
|
NWidget(NWID_HORIZONTAL),
|
||||||
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
|
||||||
NWidget(WWT_CAPTION, COLOUR_GREY, WID_QES_CAPTION), SetDataTip(STR_WHITE_STRING, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
NWidget(WWT_CAPTION, COLOUR_GREY, WID_QES_CAPTION), SetDataTip(STR_WHITE_STRING, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
|
||||||
|
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_QES_LOCATION), SetMinimalSize(12, 14), SetDataTip(SPR_GOTO_LOCATION, STR_EDIT_SIGN_LOCATION_TOOLTIP),
|
||||||
EndContainer(),
|
EndContainer(),
|
||||||
NWidget(WWT_PANEL, COLOUR_GREY),
|
NWidget(WWT_PANEL, COLOUR_GREY),
|
||||||
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_QES_TEXT), SetMinimalSize(256, 12), SetDataTip(STR_EDIT_SIGN_SIGN_OSKTITLE, STR_NULL), SetPadding(2, 2, 2, 2),
|
NWidget(WWT_EDITBOX, COLOUR_GREY, WID_QES_TEXT), SetMinimalSize(256, 12), SetDataTip(STR_EDIT_SIGN_SIGN_OSKTITLE, STR_NULL), SetPadding(2, 2, 2, 2),
|
||||||
|
|
|
@ -24,6 +24,7 @@ enum SignListWidgets {
|
||||||
/** Widgets of the #SignWindow class. */
|
/** Widgets of the #SignWindow class. */
|
||||||
enum QueryEditSignWidgets {
|
enum QueryEditSignWidgets {
|
||||||
WID_QES_CAPTION, ///< Caption of the window.
|
WID_QES_CAPTION, ///< Caption of the window.
|
||||||
|
WID_QES_LOCATION, ///< Scroll to sign location.
|
||||||
WID_QES_TEXT, ///< Text of the query.
|
WID_QES_TEXT, ///< Text of the query.
|
||||||
WID_QES_OK, ///< OK button.
|
WID_QES_OK, ///< OK button.
|
||||||
WID_QES_CANCEL, ///< Cancel button.
|
WID_QES_CANCEL, ///< Cancel button.
|
||||||
|
|
Loading…
Reference in New Issue