#pragma once

#include <tqwidget.h>
#include <tqdatetime.h>

class AlsaModel;
class AlsaDevice;
class AlsaDeviceWidget;

class AlsaPopup : public TQWidget
{
    TQ_OBJECT
public:
    explicit AlsaPopup( AlsaModel *model, TQWidget *parent = 0 );

    void toggleAt( const TQPoint &trayPos, const TQSize &traySize );
    bool justHidden() const;

protected:
    void hideEvent( TQHideEvent *e );

private slots:
    void rebuild();

private:
    AlsaModel        *m_model;
    TQWidget          *m_container;
    AlsaDeviceWidget *m_widget;
    TQTime             m_hideTime;
};
