#ifndef AVRECEIVERGUI_H
#define AVRECEIVERGUI_H

#include <QWidget>
class CAvReceiver;
#include "AvReceiverData.h"
#include <QTimer>

class CTrayVolumeCtrl;

namespace Ui {
class CAvReceiverGui;
}

class CAvReceiverGui : public QWidget
{
    Q_OBJECT

public:
    explicit CAvReceiverGui(QWidget *parent = 0);
    ~CAvReceiverGui();

    CAvReceiver *mProgramHandle;

    int UpdateReceiverStatus(CAvReceiverMainStatus Status, CAvReceiverMainStatus Zone2Status);
    int ConvertVolumeToBarPosition(float Volume);
    float ConvertBarPositionToVolume(int position);
    QTimer *mVolumeBarMovementTimer;
    bool mLockZone2VolumeWithZone1;
    CTrayVolumeCtrl *mTrayVolumeCtrlGuiHandle;

private:
    Ui::CAvReceiverGui *ui;

public slots:
    void SpeakerBRadioClicked(bool checked);
    void SpeakerARadioClicked(bool checked);
    void MainZoneScene1BtnClicked(bool);
    void MainZoneScene2BtnClicked(bool);
    void MainZoneScene3BtnClicked(bool);
    void MainZoneScene4BtnClicked(bool);
    void MainZoneVolumeSetChanged(int);
    void Zone2VolumeSetChanged(int);
    void VolumeBarMovementTimerExpired();
    void Zone2InputSelectionChanged();
    void Zone2LockVolumeChanged(bool checked);
};

#endif // AVRECEIVERGUI_H
