summaryrefslogtreecommitdiff
path: root/src/ui/devicespage.h
diff options
context:
space:
mode:
authorCalvin Morrison <calvin@pobox.com>2026-05-15 10:10:04 -0400
committerCalvin Morrison <calvin@pobox.com>2026-05-15 10:10:04 -0400
commite776bc768cf9afca1867200e25d64d315cd72a3e (patch)
tree6745527b939c9d37147d7dc98e8664437ee433f6 /src/ui/devicespage.h
parent4e602e78cdfc210ab7781668df2a88afb923258b (diff)
Full mixer implementation — tray, popup, prefs, devices tab with port indicators
Adds the complete tmix feature set built since the initial skeleton: balance knob, level meters, KLed mute button, system tray with scroll-wheel volume and recording indicator, tray popup, preferences dialog, right-click context menus, single-instance enforcement, scroll area, window geometry persistence, and Devices tab with PA card profile switcher and live port availability indicators (2-column layout, in-place updates on plug/unplug). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/ui/devicespage.h')
-rw-r--r--src/ui/devicespage.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/ui/devicespage.h b/src/ui/devicespage.h
new file mode 100644
index 0000000..49081f4
--- /dev/null
+++ b/src/ui/devicespage.h
@@ -0,0 +1,42 @@
+#pragma once
+
+#include <tqwidget.h>
+#include <tqmap.h>
+#include <tqvaluelist.h>
+#include <tqstring.h>
+
+class PulseModel;
+class TQScrollView;
+class TQComboBox;
+class TQLabel;
+class TQVBoxLayout;
+
+struct PortWidgets {
+ TQLabel *dot;
+};
+
+class DevicesPage : public TQWidget
+{
+ TQ_OBJECT
+
+public:
+ explicit DevicesPage( PulseModel *model, TQWidget *parent = 0 );
+
+private slots:
+ void onCardAdded( uint32_t index );
+ void onCardRemoved( uint32_t index );
+ void onCardUpdated( uint32_t index );
+ void onProfileActivated( int comboIndex );
+
+private:
+ void rebuild();
+
+ PulseModel *m_model;
+ 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;
+};