#pragma once #include #include #include #include class PulseModel; class TQScrollView; class TQComboBox; class TQLabel; class TQVBoxLayout; class AudioDevice; 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 ); void onSinkPortActivated( int comboIndex ); void onSourcePortActivated( int comboIndex ); void onSinkUpdated( uint32_t paIndex ); void onSourceUpdated( uint32_t paIndex ); private: void rebuild(); PulseModel *m_model; TQScrollView *m_scroll; TQWidget *m_container; // Profile combos TQMap m_comboCard; TQMap> m_profileNames; TQMap m_cardCombo; TQMap> m_cardPorts; // Sink port combos TQMap m_sinkPortComboSink; TQMap> m_sinkPortComboNames; TQMap m_sinkPortCombos; // Source port combos TQMap m_sourcePortComboSource; TQMap> m_sourcePortComboNames; TQMap m_sourcePortCombos; };