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

Method buildUI

src/gui/ClientPuduApplet.cpp:105–267  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

103}
104
105void ClientPuduApplet::buildUI()
106{
107 setStyleSheet("QWidget { background: transparent; }");
108
109 auto* outer = new QVBoxLayout(this);
110 outer->setContentsMargins(4, 4, 4, 4);
111 outer->setSpacing(4);
112
113 // ── Logo ────────────────────────────────────────────────────
114 m_logo = new PooDooLogo;
115 m_logo->setMinimumHeight(40);
116 m_logo->setWordmark(QString::fromUtf8("AetherVoice\xe2\x84\xa2"));
117 outer->addWidget(m_logo);
118
119 // ── A/B mode toggle ─────────────────────────────────────────
120 {
121 auto* row = new QHBoxLayout;
122 row->setSpacing(4);
123 row->addStretch();
124 auto* group = new QButtonGroup(this);
125 group->setExclusive(true);
126
127 m_modeA = new QPushButton("Even");
128 m_modeA->setCheckable(true);
129 m_modeA->setStyleSheet(kModeStyle);
130 m_modeA->setFixedHeight(22);
131 m_modeA->setToolTip(
132 "Aphex-lineage asymmetric shaping — predominantly even "
133 "harmonics, warmer, with Big Bottom LF saturation.");
134 group->addButton(m_modeA, 0);
135 row->addWidget(m_modeA);
136
137 m_modeB = new QPushButton("Odd");
138 m_modeB->setCheckable(true);
139 m_modeB->setStyleSheet(kModeStyle);
140 m_modeB->setFixedHeight(22);
141 m_modeB->setToolTip(
142 "Behringer-lineage symmetric tanh shaping — pure odd "
143 "harmonics, brighter, with a feed-forward bass compressor.");
144 group->addButton(m_modeB, 1);
145 row->addWidget(m_modeB);
146 row->addStretch();
147
148 connect(group, &QButtonGroup::idToggled, this,
149 [this](int id, bool checked) {
150 if (checked) onModeToggled(id);
151 });
152
153 outer->addLayout(row);
154 }
155
156 // ── Knob row — all 6 on one line with Poo | gap | Doo grouping ──
157 //
158 // Grid layout: row 0 = bracket labels, row 1 = knobs. Knobs
159 // occupy columns 0-2 (Poo) and 4-6 (Doo); column 3 is a fixed
160 // spacer separating the two groups.
161 {
162 auto* grid = new QGridLayout;

Callers

nothing calls this directly

Calls 10

setWordmarkMethod · 0.80
setCenterLabelModeMethod · 0.80
setInlineEditEnabledMethod · 0.80
setDefaultMethod · 0.80
setValueFromNormMethod · 0.80
setNormFromValueMethod · 0.80
setLabelFormatMethod · 0.80
makeBracketLabelFunction · 0.70
setLabelMethod · 0.45
setRangeMethod · 0.45

Tested by

no test coverage detected