changeset 12930:2790f337186a draft

(svn r17423) -Fix [FS#3174]: Show '- None -' with empty town or industry list, and use that text in the size computation as well.
author alberth <alberth@openttd.org>
date Sat, 05 Sep 2009 11:27:28 +0000
parents 59f5a68dad33
children 3ee9f94bcff8
files src/industry_gui.cpp src/lang/english.txt src/town_gui.cpp
diffstat 3 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -961,6 +961,10 @@
 			case IDW_INDUSTRY_LIST: {
 				int n = 0;
 				int y = r.top + WD_FRAMERECT_TOP;
+				if (this->industries.Length() == 0) {
+					DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_INDUSTRY_DIRECTORY_NONE);
+					break;
+				}
 				for (uint i = this->vscroll.GetPosition(); i < this->industries.Length(); i++) {
 					DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, this->GetIndustryString(this->industries[i]));
 
@@ -994,7 +998,7 @@
 			}
 
 			case IDW_INDUSTRY_LIST: {
-				Dimension d = {0, 0};
+				Dimension d = GetStringBoundingBox(STR_INDUSTRY_DIRECTORY_NONE);
 				for (uint i = 0; i < this->industries.Length(); i++) {
 					d = maxdim(d, GetStringBoundingBox(this->GetIndustryString(this->industries[i])));
 				}
--- a/src/lang/english.txt
+++ b/src/lang/english.txt
@@ -2356,6 +2356,7 @@
 
 # Town directory window
 STR_TOWN_DIRECTORY_CAPTION                                      :{WHITE}Towns
+STR_TOWN_DIRECTORY_NONE                                         :{ORANGE}- None -
 STR_TOWN_DIRECTORY_TOWN                                         :{ORANGE}{TOWN}{BLACK} ({COMMA})
 STR_TOWN_DIRECTORY_LIST_TOOLTIP                                 :{BLACK}Town names - click on name to centre view on town. Ctrl+Click opens a new viewport on town location
 STR_TOWN_POPULATION                                             :{BLACK}World population: {COMMA}
@@ -2544,6 +2545,7 @@
 
 # Industry directory
 STR_INDUSTRY_DIRECTORY_CAPTION                                  :{WHITE}Industries
+STR_INDUSTRY_DIRECTORY_NONE                                     :{ORANGE}- None -
 STR_INDUSTRY_DIRECTORY_ITEM                                     :{ORANGE}{INDUSTRY}{BLACK} ({CARGO}{STRING}){YELLOW} ({COMMA}% transported)
 STR_INDUSTRY_DIRECTORY_ITEM_TWO                                 :{ORANGE}{INDUSTRY}{BLACK} ({CARGO}{STRING}/{CARGO}{STRING}){YELLOW} ({COMMA}%/{COMMA}% transported)
 STR_INDUSTRY_DIRECTORY_ITEM_NOPROD                              :{ORANGE}{INDUSTRY}
--- a/src/town_gui.cpp
+++ b/src/town_gui.cpp
@@ -635,6 +635,11 @@
 			case TDW_CENTERTOWN: {
 				int n = 0;
 				int y = r.top + WD_FRAMERECT_TOP;
+				if (this->towns.Length() == 0) { // No towns available.
+					DrawString(r.left + WD_FRAMERECT_LEFT, r.right, y, STR_TOWN_DIRECTORY_NONE);
+					break;
+				}
+				/* At least one town available. */
 				for (uint i = this->vscroll.GetPosition(); i < this->towns.Length(); i++) {
 					const Town *t = this->towns[i];
 
@@ -663,7 +668,7 @@
 				break;
 			}
 			case TDW_CENTERTOWN: {
-				Dimension d = {0, 0};
+				Dimension d = GetStringBoundingBox(STR_TOWN_DIRECTORY_NONE);
 				for (uint i = 0; i < this->towns.Length(); i++) {
 					const Town *t = this->towns[i];