| 
									
										
										
										
											2021-06-24 19:13:27 +01:00
										 |  |  | #include "BandComboBox.hpp"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <QAbstractItemView>
 | 
					
						
							|  |  |  | #include <QScrollBar>
 | 
					
						
							|  |  |  | #include <QDebug>
 | 
					
						
							|  |  |  | #include "models/FrequencyList.hpp"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BandComboBox::BandComboBox (QWidget * parent) | 
					
						
							|  |  |  |   : QComboBox {parent} | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Fix up broken QComboBox item view rendering which doesn't allow for
 | 
					
						
							|  |  |  | // a vertical scroll bar in width calculations and ends up eliding the
 | 
					
						
							|  |  |  | // item text.
 | 
					
						
							|  |  |  | void BandComboBox::showPopup () | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2022-10-11 18:30:01 -07:00
										 |  |  |   auto minimum_width = view ()->sizeHintForColumn (FrequencyList_v2_101::frequency_mhz_column); | 
					
						
							| 
									
										
										
										
											2021-06-24 19:13:27 +01:00
										 |  |  |   if (count () > maxVisibleItems ()) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       // for some as yet unknown reason, in FT8 mode the scrollbar
 | 
					
						
							|  |  |  |       // width is oversize on the first call here
 | 
					
						
							|  |  |  |       minimum_width += view ()->verticalScrollBar ()->width (); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   view ()->setMinimumWidth (minimum_width); | 
					
						
							|  |  |  |   QComboBox::showPopup (); | 
					
						
							|  |  |  | } |