changeset 17982:ad0c8dce1699 draft

(svn r22791) -Codechange: use callback for scanning from the NewGRF window
author rubidium <rubidium@openttd.org>
date Sun, 21 Aug 2011 12:50:13 +0000
parents 229a21b21d27
children a751f24b9952
files src/newgrf_gui.cpp
diffstat 1 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -511,7 +511,7 @@
 /**
  * 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 @@
 			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;