diff options
| author | Calvin Morrison <calvin@pobox.com> | 2026-05-15 19:22:41 -0400 |
|---|---|---|
| committer | Calvin Morrison <calvin@pobox.com> | 2026-05-15 19:22:41 -0400 |
| commit | f8fa47123887452f48d0b523289ca6990c8a2e25 (patch) | |
| tree | 1564e6d2d2d53a8c9e9f7c4aface696ea137c480 /src/ui/devicespage.h | |
| parent | 4a8a83f223bbc2b9d18ef91423c1ee807b297b35 (diff) | |
Devices tab: per-sink/source port switching
Add Output port / Input port dropdowns in the Devices tab for any
sink or source that has 2+ ports. Selecting a port calls
pa_context_set_sink/source_port_by_index live. Active port selection
updates in-place when PA reports a port change externally.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/ui/devicespage.h')
| -rw-r--r-- | src/ui/devicespage.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/ui/devicespage.h b/src/ui/devicespage.h index 49081f4..046b224 100644 --- a/src/ui/devicespage.h +++ b/src/ui/devicespage.h @@ -10,6 +10,7 @@ class TQScrollView; class TQComboBox; class TQLabel; class TQVBoxLayout; +class AudioDevice; struct PortWidgets { TQLabel *dot; @@ -27,6 +28,10 @@ private slots: void onCardRemoved( uint32_t index ); void onCardUpdated( uint32_t index ); void onProfileActivated( int comboIndex ); + void onSinkPortActivated( int comboIndex ); + void onSourcePortActivated( int comboIndex ); + void onSinkUpdated( uint32_t paIndex ); + void onSourceUpdated( uint32_t paIndex ); private: void rebuild(); @@ -35,8 +40,19 @@ private: TQScrollView *m_scroll; TQWidget *m_container; - TQMap<TQComboBox*, uint32_t> m_comboCard; - TQMap<TQComboBox*, TQValueList<TQString> > m_profileNames; - TQMap<uint32_t, TQComboBox*> m_cardCombo; - TQMap<uint32_t, TQValueList<PortWidgets> > m_cardPorts; + // Profile combos + TQMap<TQComboBox*, uint32_t> m_comboCard; + TQMap<TQComboBox*, TQValueList<TQString>> m_profileNames; + TQMap<uint32_t, TQComboBox*> m_cardCombo; + TQMap<uint32_t, TQValueList<PortWidgets>> m_cardPorts; + + // Sink port combos + TQMap<TQComboBox*, uint32_t> m_sinkPortComboSink; + TQMap<TQComboBox*, TQValueList<TQString>> m_sinkPortComboNames; + TQMap<uint32_t, TQComboBox*> m_sinkPortCombos; + + // Source port combos + TQMap<TQComboBox*, uint32_t> m_sourcePortComboSource; + TQMap<TQComboBox*, TQValueList<TQString>> m_sourcePortComboNames; + TQMap<uint32_t, TQComboBox*> m_sourcePortCombos; }; |
