MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / StripFinalOutputPanel

Method StripFinalOutputPanel

src/gui/StripFinalOutputPanel.cpp:354–664  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

352} // namespace
353
354StripFinalOutputPanel::StripFinalOutputPanel(AudioEngine* engine, QWidget* parent)
355 : QWidget(parent)
356 , m_audio(engine)
357{
358 const QString title = QString::fromUtf8(
359 "Aetherial Final Output Stage \xe2\x80\x94 TX");
360 setWindowTitle(title);
361 setStyleSheet(kWindowStyle);
362
363 auto* root = new QVBoxLayout(this);
364 root->setContentsMargins(8, 0, 8, 0);
365 root->setSpacing(6);
366
367 auto* titleBar = new EditorFramelessTitleBar;
368 titleBar->setTitleText(title);
369 // Embedded inside the strip — drop the heavy fill + trio so the
370 // panel reads as a clean row of controls instead of carrying a
371 // duplicate title bar over the strip's own chrome.
372 titleBar->setControlsVisible(false);
373 titleBar->setStyleSheet("background: transparent;");
374 root->addWidget(titleBar);
375 // 10 px breathing room between the title and the controls row
376 // — keeps the chip column tops from kissing the title text.
377 root->addSpacing(10);
378
379 // Single horizontal row: enable toggle | ceiling knob | meter | LIMIT LED
380 auto* row = new QHBoxLayout;
381 row->setSpacing(8);
382
383 // LIM / DC / TONE — three small toggles stacked vertically on
384 // the left. Sized + styled to match the OVR / LIMIT indicator
385 // tiles in the right column so the panel reads as two columns
386 // of identical chip-style controls flanking the meter.
387 {
388 const QString amberStyle =
389 "QPushButton {"
390 " background: #1a2230; border: 1px solid #2a3744;"
391 " border-radius: 3px; color: #506070;"
392 " font-size: 10px; font-weight: bold; padding: 1px;"
393 "}"
394 "QPushButton:hover { color: #c8d8e8; }"
395 "QPushButton:checked {"
396 " background: #3a2a0e; color: #f2c14e;"
397 " border: 1px solid #f2c14e;"
398 "}"
399 "QPushButton:checked:hover { background: #4a3a18; }";
400 const QString redCheckStyle =
401 "QPushButton {"
402 " background: #1a2230; border: 1px solid #2a3744;"
403 " border-radius: 3px; color: #506070;"
404 " font-size: 10px; font-weight: bold; padding: 1px;"
405 "}"
406 "QPushButton:hover { color: #c8d8e8; }"
407 "QPushButton:checked {"
408 " background: #4a1818; color: #ff8080;"
409 " border: 1px solid #ff4040;"
410 "}"
411 "QPushButton:checked:hover { background: #5a2828; }";

Callers

nothing calls this directly

Calls 12

setControlsVisibleMethod · 0.80
setCenterLabelModeMethod · 0.80
setDefaultMethod · 0.80
setLabelFormatMethod · 0.80
setCeilingSetterMethod · 0.80
applyStyleSheetMethod · 0.80
clientFinalLimiterTxMethod · 0.80
clipPreLimiterCountMethod · 0.80
setTitleTextMethod · 0.45
setLabelMethod · 0.45
setRangeMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected