Changeset - r28251:f0fa727dcf7c
[Not reviewed]
master
0 1 0
Peter Nelson - 6 months ago 2023-12-07 16:09:45
peter1138@openttd.org
Codechange: Don't highlight unselectable dropdown item. (#11553)
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/widgets/dropdown.cpp
Show inline comments
 
@@ -173,25 +173,25 @@ struct DropdownWindow : Window {
 
		Rect ir = r.Shrink(WidgetDimensions::scaled.fullbevel).Shrink(RectPadding::zero, WidgetDimensions::scaled.fullbevel);
 
		int y = ir.top;
 
		int pos = this->vscroll->GetPosition();
 
		for (const auto &item : this->list) {
 
			int item_height = item->Height();
 

	
 
			/* Skip items that are scrolled up */
 
			if (--pos >= 0) continue;
 

	
 
			if (y + item_height - 1 <= ir.bottom) {
 
				Rect full{ir.left, y, ir.right, y + item_height - 1};
 

	
 
				bool selected = (this->selected_index == item->result);
 
				bool selected = (this->selected_index == item->result) && item->Selectable();
 
				if (selected) GfxFillRect(full, PC_BLACK);
 

	
 
				item->Draw(full, full.Shrink(WidgetDimensions::scaled.dropdowntext, RectPadding::zero), selected, colour);
 
			}
 
			y += item_height;
 
		}
 
	}
 

	
 
	void OnClick([[maybe_unused]] Point pt, int widget, [[maybe_unused]] int click_count) override
 
	{
 
		if (widget != WID_DM_ITEMS) return;
 
		int item;
0 comments (0 inline, 0 general)