diff options
-rw-r--r-- | src/newgrf_gui.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 9978a2f15..faadf4dcb 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -511,7 +511,7 @@ enum ShowNewGRFStateWidgets { /** * Window for showing NewGRF files */ -struct NewGRFWindow : public QueryStringBaseWindow { +struct NewGRFWindow : public QueryStringBaseWindow, NewGRFScanCallback { typedef GUIList<const GRFConfig *> GUIGRFConfigList; static const uint EDITBOX_MAX_SIZE = 50; @@ -985,15 +985,19 @@ struct NewGRFWindow : public QueryStringBaseWindow { case SNGRFS_RESCAN_FILES: case SNGRFS_RESCAN_FILES2: TarScanner::DoScan(); - ScanNewGRFFiles(); - this->avail_sel = NULL; - this->avail_pos = -1; - this->avails.ForceRebuild(); - this->DeleteChildWindows(WC_QUERY_STRING); // Remove the parameter query window + ScanNewGRFFiles(this); break; } } + virtual void OnNewGRFsScanned() + { + this->avail_sel = NULL; + this->avail_pos = -1; + this->avails.ForceRebuild(); + this->DeleteChildWindows(WC_QUERY_STRING); // Remove the parameter query window + } + virtual void OnDropdownSelect(int widget, int index) { if (!this->editable) return; |