Modif du contrôle du volume de AvReceiverGui
Fuck-up de Windows
This commit is contained in:
@@ -8,6 +8,10 @@ CAvReceiverGui::CAvReceiverGui(QWidget *parent) :
|
||||
ui(new Ui::CAvReceiverGui)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
mVolumeBarMovementTimer = new QTimer();
|
||||
mVolumeBarMovementTimer->setInterval(500);
|
||||
mVolumeBarMovementTimer->setSingleShot(true);
|
||||
connect(mVolumeBarMovementTimer,SIGNAL(timeout()),this,SLOT(VolumeBarMovementTimerExpired()));
|
||||
|
||||
connect(ui->mSpkBCheckBox,SIGNAL(clicked(bool)),this,SLOT(SpeakerBRadioClicked(bool)));
|
||||
connect(ui->mSpkACheckBox,SIGNAL(clicked(bool)),this,SLOT(SpeakerARadioClicked(bool)));
|
||||
@@ -15,13 +19,14 @@ CAvReceiverGui::CAvReceiverGui(QWidget *parent) :
|
||||
connect(ui->MainZoneScene2Btn,SIGNAL(clicked(bool)),this,SLOT(MainZoneScene2BtnClicked(bool)));
|
||||
connect(ui->MainZoneScene3Btn,SIGNAL(clicked(bool)),this,SLOT(MainZoneScene3BtnClicked(bool)));
|
||||
connect(ui->MainZoneScene4Btn,SIGNAL(clicked(bool)),this,SLOT(MainZoneScene4BtnClicked(bool)));
|
||||
connect(ui->mMainZoneVolumeSldBar,SIGNAL(sliderMoved(int)),this,SLOT(MainZoneVolumeSetChanged()));
|
||||
connect(ui->mZone2VolumeSldBar,SIGNAL(sliderMoved(int)),this,SLOT(Zone2VolumeSetChanged()));
|
||||
connect(ui->mMainZoneVolumeSldBar,SIGNAL(valueChanged(int)),this,SLOT(MainZoneVolumeSetChanged(int)));
|
||||
connect(ui->mZone2VolumeSldBar,SIGNAL(valueChanged(int)),this,SLOT(Zone2VolumeSetChanged(int)));
|
||||
}
|
||||
|
||||
CAvReceiverGui::~CAvReceiverGui()
|
||||
{
|
||||
delete ui;
|
||||
delete mVolumeBarMovementTimer;
|
||||
}
|
||||
|
||||
void CAvReceiverGui::SpeakerBRadioClicked(bool checked)
|
||||
@@ -85,8 +90,11 @@ int CAvReceiverGui::UpdateReceiverStatus(CAvReceiverMainStatus Status, CAvReceiv
|
||||
|
||||
ui->mRcvrStatusLabel->setText(StatusText);
|
||||
|
||||
if(ui->mMainZoneVolumeSldBar->isSliderDown() == false)
|
||||
if(/*ui->mMainZoneVolumeSldBar->isSliderDown() == false && */mVolumeBarMovementTimer->isActive() == false)
|
||||
{
|
||||
ui->mMainZoneVolumeSldBar->setValue(ConvertVolumeToBarPosition(Status.mMainVolume));
|
||||
ui->mMainZoneSliderValueLbl->setText("");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -139,8 +147,11 @@ int CAvReceiverGui::UpdateReceiverStatus(CAvReceiverMainStatus Status, CAvReceiv
|
||||
|
||||
ui->mZone2StatusLabel->setText(StatusText);
|
||||
|
||||
if(ui->mZone2VolumeSldBar->isSliderDown() == false)
|
||||
if(/*ui->mZone2VolumeSldBar->isSliderDown() == false && */mVolumeBarMovementTimer->isActive() == false)
|
||||
{
|
||||
ui->mZone2VolumeSldBar->setValue(ConvertVolumeToBarPosition(Zone2Status.mMainVolume));
|
||||
ui->mZone2SliderValueLbl->setText("");
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
@@ -179,19 +190,28 @@ float CAvReceiverGui::ConvertBarPositionToVolume(int position)
|
||||
return Volume;
|
||||
}
|
||||
|
||||
void CAvReceiverGui::MainZoneVolumeSetChanged()
|
||||
void CAvReceiverGui::MainZoneVolumeSetChanged(int value)
|
||||
{
|
||||
int BarPosition = ui->mMainZoneVolumeSldBar->value();
|
||||
float Volume = ConvertBarPositionToVolume(BarPosition);
|
||||
|
||||
ui->mMainZoneSliderValueLbl->setText(QString("%1").arg(Volume));
|
||||
mProgramHandle->MainZoneVolumeChanged(Volume);
|
||||
mVolumeBarMovementTimer->start();
|
||||
}
|
||||
|
||||
void CAvReceiverGui::Zone2VolumeSetChanged()
|
||||
void CAvReceiverGui::Zone2VolumeSetChanged(int value)
|
||||
{
|
||||
int BarPosition = ui->mZone2VolumeSldBar->value();
|
||||
float Volume = ConvertBarPositionToVolume(BarPosition);
|
||||
|
||||
|
||||
ui->mZone2SliderValueLbl->setText(QString("%1").arg(Volume));
|
||||
mProgramHandle->Zone2VolumeChanged(Volume);
|
||||
mVolumeBarMovementTimer->start();
|
||||
|
||||
}
|
||||
|
||||
void CAvReceiverGui::VolumeBarMovementTimerExpired()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <QWidget>
|
||||
class CAvReceiver;
|
||||
#include "AvReceiverData.h"
|
||||
#include <QTimer>
|
||||
|
||||
namespace Ui {
|
||||
class CAvReceiverGui;
|
||||
@@ -22,6 +23,7 @@ public:
|
||||
int UpdateReceiverStatus(CAvReceiverMainStatus Status, CAvReceiverMainStatus Zone2Status);
|
||||
int ConvertVolumeToBarPosition(float Volume);
|
||||
float ConvertBarPositionToVolume(int position);
|
||||
QTimer *mVolumeBarMovementTimer;
|
||||
|
||||
private:
|
||||
Ui::CAvReceiverGui *ui;
|
||||
@@ -33,8 +35,9 @@ public slots:
|
||||
void MainZoneScene2BtnClicked(bool);
|
||||
void MainZoneScene3BtnClicked(bool);
|
||||
void MainZoneScene4BtnClicked(bool);
|
||||
void MainZoneVolumeSetChanged();
|
||||
void Zone2VolumeSetChanged();
|
||||
void MainZoneVolumeSetChanged(int);
|
||||
void Zone2VolumeSetChanged(int);
|
||||
void VolumeBarMovementTimerExpired();
|
||||
};
|
||||
|
||||
#endif // AVRECEIVERGUI_H
|
||||
|
||||
@@ -169,9 +169,9 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>500</x>
|
||||
<y>110</y>
|
||||
<width>16</width>
|
||||
<height>160</height>
|
||||
<y>119</y>
|
||||
<width>20</width>
|
||||
<height>151</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
@@ -181,6 +181,38 @@
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mMainZoneSliderValueLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>180</x>
|
||||
<y>100</y>
|
||||
<width>47</width>
|
||||
<height>14</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="mZone2SliderValueLbl">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>490</x>
|
||||
<y>100</y>
|
||||
<width>51</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TextLabel</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
Reference in New Issue
Block a user