|
@@ -1473,26 +1473,32 @@ struct MainToolbarWindow : Window {
|
|
|
virtual void OnTimeout()
|
|
|
{
|
|
|
/* We do not want to automatically raise the pause, fast forward and
|
|
|
* switchbar buttons; they have to stay down when pressed etc. */
|
|
|
for (uint i = TBN_SETTINGS; i < TBN_SWITCHBAR; i++) {
|
|
|
if (this->IsWidgetLowered(i)) {
|
|
|
this->RaiseWidget(i);
|
|
|
this->SetWidgetDirty(i);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
virtual void OnInvalidateData(int data)
|
|
|
/**
|
|
|
* Some data on this window has become invalid.
|
|
|
* @param data Information about the changed data.
|
|
|
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
|
*/
|
|
|
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
|
{
|
|
|
if (!gui_scope) return;
|
|
|
if (FindWindowById(WC_MAIN_WINDOW, 0) != NULL) HandleZoomMessage(this, FindWindowById(WC_MAIN_WINDOW, 0)->viewport, TBN_ZOOMIN, TBN_ZOOMOUT);
|
|
|
}
|
|
|
|
|
|
static Hotkey<MainToolbarWindow> maintoolbar_hotkeys[];
|
|
|
};
|
|
|
|
|
|
const uint16 _maintoolbar_pause_keys[] = {WKC_F1, WKC_PAUSE, 0};
|
|
|
const uint16 _maintoolbar_zoomin_keys[] = {WKC_NUM_PLUS, WKC_EQUALS, WKC_SHIFT | WKC_EQUALS, WKC_SHIFT | WKC_F5, 0};
|
|
|
const uint16 _maintoolbar_zoomout_keys[] = {WKC_NUM_MINUS, WKC_MINUS, WKC_SHIFT | WKC_MINUS, WKC_SHIFT | WKC_F6, 0};
|
|
|
const uint16 _maintoolbar_smallmap_keys[] = {WKC_F4, 'M', 0};
|
|
|
|
|
|
Hotkey<MainToolbarWindow> MainToolbarWindow::maintoolbar_hotkeys[] = {
|
|
@@ -1783,26 +1789,32 @@ struct ScenarioEditorToolbarWindow : Win
|
|
|
{
|
|
|
if (this->IsWidgetLowered(TBSE_PAUSE) != !!_pause_mode) {
|
|
|
this->ToggleWidgetLoweredState(TBSE_PAUSE);
|
|
|
this->SetDirty();
|
|
|
}
|
|
|
|
|
|
if (this->IsWidgetLowered(TBSE_FASTFORWARD) != !!_fast_forward) {
|
|
|
this->ToggleWidgetLoweredState(TBSE_FASTFORWARD);
|
|
|
this->SetDirty();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
virtual void OnInvalidateData(int data)
|
|
|
/**
|
|
|
* Some data on this window has become invalid.
|
|
|
* @param data Information about the changed data.
|
|
|
* @param gui_scope Whether the call is done from GUI scope. You may not do everything when not in GUI scope. See #InvalidateWindowData() for details.
|
|
|
*/
|
|
|
virtual void OnInvalidateData(int data = 0, bool gui_scope = true)
|
|
|
{
|
|
|
if (!gui_scope) return;
|
|
|
if (FindWindowById(WC_MAIN_WINDOW, 0) != NULL) HandleZoomMessage(this, FindWindowById(WC_MAIN_WINDOW, 0)->viewport, TBSE_ZOOMIN, TBSE_ZOOMOUT);
|
|
|
}
|
|
|
|
|
|
virtual void OnQueryTextFinished(char *str)
|
|
|
{
|
|
|
/* Was 'cancel' pressed? */
|
|
|
if (str == NULL) return;
|
|
|
|
|
|
int32 value;
|
|
|
if (!StrEmpty(str)) {
|
|
|
value = atoi(str);
|
|
|
} else {
|