added timer for volume changes
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
|
|
||||||
|
#include <QTimer>
|
||||||
#include <qnetwork.h>
|
#include <qnetwork.h>
|
||||||
#include <QtNetwork/QNetworkReply>
|
#include <QtNetwork/QNetworkReply>
|
||||||
|
|
||||||
@@ -16,6 +17,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||||||
ui->txt_address->setText(DEFAULT_ADDRESS);
|
ui->txt_address->setText(DEFAULT_ADDRESS);
|
||||||
mAddress = ui->txt_address->text();
|
mAddress = ui->txt_address->text();
|
||||||
|
|
||||||
|
connect(&mTimer, &QTimer::timeout, this, &MainWindow::sendVolume);
|
||||||
|
mTimer.setSingleShot(true);
|
||||||
|
|
||||||
// load initial data
|
// load initial data
|
||||||
sendCommand("<YAMAHA_AV cmd=\"GET\"><System><Power_Control><Power>GetParam</Power></Power_Control></System></YAMAHA_AV>");
|
sendCommand("<YAMAHA_AV cmd=\"GET\"><System><Power_Control><Power>GetParam</Power></Power_Control></System></YAMAHA_AV>");
|
||||||
sendCommand("<YAMAHA_AV cmd=\"GET\"><Main_Zone><Volume><Lvl>GetParam</Lvl></Volume></Main_Zone></YAMAHA_AV>");
|
sendCommand("<YAMAHA_AV cmd=\"GET\"><Main_Zone><Volume><Lvl>GetParam</Lvl></Volume></Main_Zone></YAMAHA_AV>");
|
||||||
@@ -36,6 +40,7 @@ void MainWindow::sendCommand(QString cmd)
|
|||||||
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
|
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
|
||||||
networkManager->post(request, cmd.toUtf8());
|
networkManager->post(request, cmd.toUtf8());
|
||||||
connect(networkManager, &QNetworkAccessManager::finished, this, &MainWindow::replyFinished);
|
connect(networkManager, &QNetworkAccessManager::finished, this, &MainWindow::replyFinished);
|
||||||
|
networkManager->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::replyFinished(QNetworkReply* reply)
|
void MainWindow::replyFinished(QNetworkReply* reply)
|
||||||
@@ -108,10 +113,25 @@ void MainWindow::on_btn_onoff_clicked()
|
|||||||
updateUi();
|
updateUi();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_dial_valueChanged(int value)
|
||||||
|
{
|
||||||
|
int d = value % 10;
|
||||||
|
qDebug() << d;
|
||||||
|
if (!( d == -5 || d == 0 ))
|
||||||
|
value -= d;
|
||||||
|
|
||||||
|
ui->lbl_volume->setText(QString::number(value));
|
||||||
|
mVolume = value;
|
||||||
|
mTimer.start(WAITTIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void yremote::MainWindow::on_dial_valueChanged(int value)
|
void MainWindow::sendVolume()
|
||||||
{
|
{
|
||||||
ui->lbl_volume->setText(QString::number(value));
|
// sendCommand("<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>"
|
||||||
sendCommand("<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Volume><Lvl><Val>" + QString::number(value) + "</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>");
|
// + QString::number(mVolume)
|
||||||
|
// + "</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume></Main_Zone></YAMAHA_AV>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define MAINWINDOW_H
|
#define MAINWINDOW_H
|
||||||
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
|
#include <QTimer>
|
||||||
#include "QtNetwork/QNetworkAccessManager"
|
#include "QtNetwork/QNetworkAccessManager"
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
@@ -18,9 +19,6 @@ public:
|
|||||||
explicit MainWindow(QWidget *parent = 0);
|
explicit MainWindow(QWidget *parent = 0);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
|
|
||||||
protected:
|
|
||||||
void func();
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btn_onoff_clicked();
|
void on_btn_onoff_clicked();
|
||||||
void replyFinished(QNetworkReply *reply);
|
void replyFinished(QNetworkReply *reply);
|
||||||
@@ -32,12 +30,15 @@ private:
|
|||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
|
|
||||||
QString mAddress;
|
QString mAddress;
|
||||||
|
QTimer mTimer;
|
||||||
bool mPowered = false;
|
bool mPowered = false;
|
||||||
int mVolume = 0;
|
int mVolume = 0;
|
||||||
|
const int WAITTIME = 300;
|
||||||
|
|
||||||
|
|
||||||
void sendCommand(QString cmd);
|
void sendCommand(QString cmd);
|
||||||
void updateUi();
|
void updateUi();
|
||||||
|
void sendVolume();
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user