@@ -103,54 +103,67 @@ void Adrv9009Advanced::createNavigationButtons()
103103 Style::setStyle (m_clkSettingsBtn, style::properties::button::blueGrayButton);
104104 m_clkSettingsBtn->setCheckable (true );
105105 m_clkSettingsBtn->setChecked (true ); // First button starts selected
106+ m_clkSettingsBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
106107
107108 m_calibrationsBtn = new QPushButton (" Calibrations" , this );
108109 Style::setStyle (m_calibrationsBtn, style::properties::button::blueGrayButton);
109110 m_calibrationsBtn->setCheckable (true );
111+ m_calibrationsBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
110112
111113 m_txSettingsBtn = new QPushButton (" TX Settings" , this );
112114 Style::setStyle (m_txSettingsBtn, style::properties::button::blueGrayButton);
113115 m_txSettingsBtn->setCheckable (true );
116+ m_txSettingsBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
114117
115118 m_rxSettingsBtn = new QPushButton (" RX Settings" , this );
116119 Style::setStyle (m_rxSettingsBtn, style::properties::button::blueGrayButton);
117120 m_rxSettingsBtn->setCheckable (true );
121+ m_rxSettingsBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
118122
119123 m_orxSettingsBtn = new QPushButton (" ORX Settings" , this );
120124 Style::setStyle (m_orxSettingsBtn, style::properties::button::blueGrayButton);
121125 m_orxSettingsBtn->setCheckable (true );
126+ m_orxSettingsBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
122127
123128 m_fhmSetupBtn = new QPushButton (" FHM Setup" , this );
124129 Style::setStyle (m_fhmSetupBtn, style::properties::button::blueGrayButton);
125130 m_fhmSetupBtn->setCheckable (true );
131+ m_fhmSetupBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
126132
127133 m_paProtectionBtn = new QPushButton (" PA Protection" , this );
128134 Style::setStyle (m_paProtectionBtn, style::properties::button::blueGrayButton);
129135 m_paProtectionBtn->setCheckable (true );
136+ m_paProtectionBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
130137
131138 m_gainSetupBtn = new QPushButton (" GAIN Setup" , this );
132139 Style::setStyle (m_gainSetupBtn, style::properties::button::blueGrayButton);
133140 m_gainSetupBtn->setCheckable (true );
141+ m_gainSetupBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
134142
135143 m_agcSetupBtn = new QPushButton (" AGC Setup" , this );
136144 Style::setStyle (m_agcSetupBtn, style::properties::button::blueGrayButton);
137145 m_agcSetupBtn->setCheckable (true );
146+ m_agcSetupBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
138147
139148 m_gpioConfigBtn = new QPushButton (" GPIO Config" , this );
140149 Style::setStyle (m_gpioConfigBtn, style::properties::button::blueGrayButton);
141150 m_gpioConfigBtn->setCheckable (true );
151+ m_gpioConfigBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
142152
143153 m_auxDacBtn = new QPushButton (" AUX DAC" , this );
144154 Style::setStyle (m_auxDacBtn, style::properties::button::blueGrayButton);
145155 m_auxDacBtn->setCheckable (true );
156+ m_auxDacBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
146157
147158 m_jesd204SettingsBtn = new QPushButton (" JESD204 Settings" , this );
148159 Style::setStyle (m_jesd204SettingsBtn, style::properties::button::blueGrayButton);
149160 m_jesd204SettingsBtn->setCheckable (true );
161+ m_jesd204SettingsBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
150162
151163 m_bistBtn = new QPushButton (" BIST" , this );
152164 Style::setStyle (m_bistBtn, style::properties::button::blueGrayButton);
153165 m_bistBtn->setCheckable (true );
166+ m_bistBtn->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Preferred);
154167
155168 // Add buttons to button group
156169 navigationButtons->addButton (m_clkSettingsBtn);
@@ -184,31 +197,12 @@ void Adrv9009Advanced::createNavigationButtons()
184197 m_secondRowLayout->setMargin (0 );
185198 m_secondRowLayout->setSpacing (5 );
186199
187- // Create expand button once
188- m_expandBtn = new QPushButton (" ⋯" , this );
189- m_expandBtn->setCheckable (true );
190- Style::setStyle (m_expandBtn, style::properties::button::blueGrayButton);
191-
192- // Connect expand/collapse logic once (not repeatedly in updateNavigationButtonsLayout)
193- connect (m_expandBtn, &QPushButton::clicked, [this ]() {
194- bool isVisible = m_secondRow->isVisible ();
195- m_secondRow->setVisible (!isVisible);
196-
197- // Change top container height: 44px single row, 88px double row
198- if (!isVisible) {
199- m_tool->topContainer ()->setFixedHeight (88 );
200- } else {
201- m_tool->topContainer ()->setFixedHeight (44 );
202- }
203- });
200+ m_navigationSpacerItem = new QSpacerItem (1 , 1 , QSizePolicy::Expanding, QSizePolicy::Expanding);
204201
205202 // Add persistent row widgets to main navigation layout
206203 navLayout->addWidget (m_firstRow);
207204 navLayout->addWidget (m_secondRow);
208205
209- // Initially hide second row
210- m_secondRow->setVisible (false );
211-
212206 updateNavigationButtonsLayout ();
213207
214208 // Add main navigation widget to top container
@@ -282,8 +276,8 @@ void Adrv9009Advanced::updateNavigationButtonsLayout()
282276 // Step 1: Calculate available width (same as before)
283277 int containerWidth = m_tool->width ();
284278 int refreshButtonWidth = m_refreshButton->width ();
285- int expandButtonWidth = m_expandBtn-> width () ; // Approximate width for expand button
286- int availableWidth = containerWidth - expandButtonWidth - refreshButtonWidth;
279+ int layoutSpacingAndMargins = 50 ; // consider the spacing when computin so buttons text will not be cropped
280+ int availableWidth = containerWidth - layoutSpacingAndMargins - refreshButtonWidth;
287281
288282 // Create list of all navigation buttons in order (same as before)
289283 QList<QPushButton *> allButtons = {m_clkSettingsBtn, m_calibrationsBtn, m_txSettingsBtn, m_rxSettingsBtn,
@@ -313,18 +307,14 @@ void Adrv9009Advanced::updateNavigationButtonsLayout()
313307 }
314308
315309 if (!remainingButtons.isEmpty ()) {
316- m_expandBtn->setVisible (true );
317- m_firstRowLayout->addWidget (m_expandBtn);
318-
310+ m_tool->topContainer ()->setFixedHeight (88 );
311+ m_secondRowLayout->removeItem (m_navigationSpacerItem);
319312 for (QPushButton *button : remainingButtons) {
320313 m_secondRowLayout->addWidget (button);
321314 }
322-
323- // Step 4: Show/hide second row and expand button based on expand button state
324- bool isExpandingEnabled = m_expandBtn->isChecked ();
325- m_secondRow->setVisible (isExpandingEnabled); // Always start hidden
315+ m_secondRowLayout->addItem (m_navigationSpacerItem);
326316 } else {
327- m_expandBtn-> setVisible ( false );
317+ m_tool-> topContainer ()-> setFixedHeight ( 44 );
328318 }
329319}
330320
0 commit comments