mirror of
https://github.com/barry-ran/QtScrcpy.git
synced 2025-07-29 12:18:39 +00:00
update:将控制功能移植到controller中
This commit is contained in:
parent
94162fe4e0
commit
b2c4da7243
6 changed files with 175 additions and 166 deletions
|
@ -1,4 +1,5 @@
|
||||||
#include <QCoreApplication>
|
#include <QApplication>
|
||||||
|
#include <QClipboard>
|
||||||
|
|
||||||
#include "controller.h"
|
#include "controller.h"
|
||||||
#include "videosocket.h"
|
#include "videosocket.h"
|
||||||
|
@ -43,6 +44,116 @@ void Controller::test(QRect rc)
|
||||||
postControlMsg(controlMsg);
|
postControlMsg(controlMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Controller::postTurnOn()
|
||||||
|
{
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_BACK_OR_SCREEN_ON);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postGoHome()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_HOME);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postGoMenu()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_MENU);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postGoBack()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_BACK);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postAppSwitch()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_APP_SWITCH);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postPower()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_POWER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postVolumeUp()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_VOLUME_UP);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postVolumeDown()
|
||||||
|
{
|
||||||
|
postKeyCodeClick(AKEYCODE_VOLUME_DOWN);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::expandNotificationPanel()
|
||||||
|
{
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_EXPAND_NOTIFICATION_PANEL);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::collapseNotificationPanel()
|
||||||
|
{
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_COLLAPSE_NOTIFICATION_PANEL);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::requestDeviceClipboard()
|
||||||
|
{
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_GET_CLIPBOARD);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::setDeviceClipboard()
|
||||||
|
{
|
||||||
|
QClipboard *board = QApplication::clipboard();
|
||||||
|
QString text = board->text();
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_SET_CLIPBOARD);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
controlMsg->setSetClipboardMsgData(text);
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::clipboardPaste()
|
||||||
|
{
|
||||||
|
QClipboard *board = QApplication::clipboard();
|
||||||
|
QString text = board->text();
|
||||||
|
postTextInput(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::postTextInput(QString& text)
|
||||||
|
{
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_INJECT_TEXT);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
controlMsg->setInjectTextMsgData(text);
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller::setScreenPowerMode(ControlMsg::ScreenPowerMode mode)
|
||||||
|
{
|
||||||
|
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_SET_SCREEN_POWER_MODE);
|
||||||
|
if (!controlMsg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
controlMsg->setSetScreenPowerModeData(mode);
|
||||||
|
postControlMsg(controlMsg);
|
||||||
|
}
|
||||||
|
|
||||||
void Controller::mouseEvent(const QMouseEvent *from, const QSize &frameSize, const QSize &showSize)
|
void Controller::mouseEvent(const QMouseEvent *from, const QSize &frameSize, const QSize &showSize)
|
||||||
{
|
{
|
||||||
if (m_inputConvert) {
|
if (m_inputConvert) {
|
||||||
|
@ -87,3 +198,20 @@ bool Controller::sendControl(const QByteArray &buffer)
|
||||||
}
|
}
|
||||||
return len == buffer.length() ? true : false;
|
return len == buffer.length() ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Controller::postKeyCodeClick(AndroidKeycode keycode)
|
||||||
|
{
|
||||||
|
ControlMsg* controlEventDown = new ControlMsg(ControlMsg::CMT_INJECT_KEYCODE);
|
||||||
|
if (!controlEventDown) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
controlEventDown->setInjectKeycodeMsgData(AKEY_EVENT_ACTION_DOWN, keycode, AMETA_NONE);
|
||||||
|
postControlMsg(controlEventDown);
|
||||||
|
|
||||||
|
ControlMsg* controlEventUp = new ControlMsg(ControlMsg::CMT_INJECT_KEYCODE);
|
||||||
|
if (!controlEventUp) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
controlEventUp->setInjectKeycodeMsgData(AKEY_EVENT_ACTION_UP, keycode, AMETA_NONE);
|
||||||
|
postControlMsg(controlEventUp);
|
||||||
|
}
|
||||||
|
|
|
@ -15,10 +15,27 @@ public:
|
||||||
Controller(QObject* parent = Q_NULLPTR);
|
Controller(QObject* parent = Q_NULLPTR);
|
||||||
virtual ~Controller();
|
virtual ~Controller();
|
||||||
|
|
||||||
void setControlSocket(QTcpSocket* controlSocket);
|
void setControlSocket(QTcpSocket* controlSocket);
|
||||||
void postControlMsg(ControlMsg* controlMsg);
|
void postControlMsg(ControlMsg* controlMsg);
|
||||||
void test(QRect rc);
|
void test(QRect rc);
|
||||||
|
|
||||||
|
// turn the screen on if it was off, press BACK otherwise
|
||||||
|
void postTurnOn();
|
||||||
|
void postGoHome();
|
||||||
|
void postGoMenu();
|
||||||
|
void postGoBack();
|
||||||
|
void postAppSwitch();
|
||||||
|
void postPower();
|
||||||
|
void postVolumeUp();
|
||||||
|
void postVolumeDown();
|
||||||
|
void expandNotificationPanel();
|
||||||
|
void collapseNotificationPanel();
|
||||||
|
void requestDeviceClipboard();
|
||||||
|
void setDeviceClipboard();
|
||||||
|
void clipboardPaste();
|
||||||
|
void postTextInput(QString& text);
|
||||||
|
void setScreenPowerMode(ControlMsg::ScreenPowerMode mode);
|
||||||
|
|
||||||
// for input convert
|
// for input convert
|
||||||
void mouseEvent(const QMouseEvent* from, const QSize& frameSize, const QSize& showSize);
|
void mouseEvent(const QMouseEvent* from, const QSize& frameSize, const QSize& showSize);
|
||||||
void wheelEvent(const QWheelEvent* from, const QSize& frameSize, const QSize& showSize);
|
void wheelEvent(const QWheelEvent* from, const QSize& frameSize, const QSize& showSize);
|
||||||
|
@ -32,6 +49,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool sendControl(const QByteArray& buffer);
|
bool sendControl(const QByteArray& buffer);
|
||||||
|
void postKeyCodeClick(AndroidKeycode keycode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<QTcpSocket> m_controlSocket;
|
QPointer<QTcpSocket> m_controlSocket;
|
||||||
|
|
|
@ -242,12 +242,13 @@ void Dialog::on_alwaysTopCheck_stateChanged(int arg1)
|
||||||
|
|
||||||
void Dialog::on_closeScreenCheck_stateChanged(int arg1)
|
void Dialog::on_closeScreenCheck_stateChanged(int arg1)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(arg1);
|
||||||
if (!m_videoForm) {
|
if (!m_videoForm) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ui->closeScreenCheck->isChecked()) {
|
if (ui->closeScreenCheck->isChecked()) {
|
||||||
m_videoForm->setScreenPowerMode(ControlMsg::SPM_OFF);
|
m_videoForm->getController()->setScreenPowerMode(ControlMsg::SPM_OFF);
|
||||||
} else {
|
} else {
|
||||||
m_videoForm->setScreenPowerMode(ControlMsg::SPM_NORMAL);
|
m_videoForm->getController()->setScreenPowerMode(ControlMsg::SPM_NORMAL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,62 +82,62 @@ void ToolForm::on_fullScreenBtn_clicked()
|
||||||
void ToolForm::on_returnBtn_clicked()
|
void ToolForm::on_returnBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postGoBack();
|
m_videoForm->getController()->postGoBack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_homeBtn_clicked()
|
void ToolForm::on_homeBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postGoHome();
|
m_videoForm->getController()->postGoHome();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_menuBtn_clicked()
|
void ToolForm::on_menuBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postGoMenu();
|
m_videoForm->getController()->postGoMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_appSwitchBtn_clicked()
|
void ToolForm::on_appSwitchBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postAppSwitch();
|
m_videoForm->getController()->postAppSwitch();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_powerBtn_clicked()
|
void ToolForm::on_powerBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postPower();
|
m_videoForm->getController()->postPower();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_volumeUpBtn_clicked()
|
void ToolForm::on_volumeUpBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postVolumeUp();
|
m_videoForm->getController()->postVolumeUp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_volumeDownBtn_clicked()
|
void ToolForm::on_volumeDownBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->postVolumeDown();
|
m_videoForm->getController()->postVolumeDown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_closeScreenBtn_clicked()
|
void ToolForm::on_closeScreenBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->setScreenPowerMode(ControlMsg::SPM_OFF);
|
m_videoForm->getController()->setScreenPowerMode(ControlMsg::SPM_OFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToolForm::on_expandNotifyBtn_clicked()
|
void ToolForm::on_expandNotifyBtn_clicked()
|
||||||
{
|
{
|
||||||
if (m_videoForm) {
|
if (m_videoForm) {
|
||||||
m_videoForm->expandNotificationPanel();
|
m_videoForm->getController()->expandNotificationPanel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
#include <QMimeData>
|
#include <QMimeData>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QClipboard>
|
|
||||||
|
|
||||||
#include "videoform.h"
|
#include "videoform.h"
|
||||||
#include "recorder.h"
|
#include "recorder.h"
|
||||||
|
@ -191,7 +190,7 @@ void VideoForm::initSignals()
|
||||||
m_controller->setControlSocket(m_server->getControlSocket());
|
m_controller->setControlSocket(m_server->getControlSocket());
|
||||||
|
|
||||||
if (m_closeScreen) {
|
if (m_closeScreen) {
|
||||||
setScreenPowerMode(ControlMsg::SPM_OFF);
|
m_controller->setScreenPowerMode(ControlMsg::SPM_OFF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -221,10 +220,10 @@ void VideoForm::initSignals()
|
||||||
ui->videoWidget->setFrameSize(QSize(frame->width, frame->height));
|
ui->videoWidget->setFrameSize(QSize(frame->width, frame->height));
|
||||||
ui->videoWidget->updateTextures(frame->data[0], frame->data[1], frame->data[2], frame->linesize[0], frame->linesize[1], frame->linesize[2]);
|
ui->videoWidget->updateTextures(frame->data[0], frame->data[1], frame->data[2], frame->linesize[0], frame->linesize[1], frame->linesize[2]);
|
||||||
m_vb->unLock();
|
m_vb->unLock();
|
||||||
},Qt::QueuedConnection);
|
},Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoForm::showToolFrom(bool show)
|
void VideoForm::showToolForm(bool show)
|
||||||
{
|
{
|
||||||
if (!m_toolForm) {
|
if (!m_toolForm) {
|
||||||
m_toolForm = new ToolForm(this, ToolForm::AP_OUTSIDE_RIGHT);
|
m_toolForm = new ToolForm(this, ToolForm::AP_OUTSIDE_RIGHT);
|
||||||
|
@ -304,7 +303,7 @@ void VideoForm::switchFullScreen()
|
||||||
//show();
|
//show();
|
||||||
#endif
|
#endif
|
||||||
updateStyleSheet(height() > width());
|
updateStyleSheet(height() > width());
|
||||||
showToolFrom(true);
|
showToolForm(true);
|
||||||
#ifdef Q_OS_WIN32
|
#ifdef Q_OS_WIN32
|
||||||
::SetThreadExecutionState(ES_CONTINUOUS);
|
::SetThreadExecutionState(ES_CONTINUOUS);
|
||||||
#endif
|
#endif
|
||||||
|
@ -314,7 +313,7 @@ void VideoForm::switchFullScreen()
|
||||||
#ifdef Q_OS_OSX
|
#ifdef Q_OS_OSX
|
||||||
//setWindowFlags(windowFlags() & ~Qt::FramelessWindowHint);
|
//setWindowFlags(windowFlags() & ~Qt::FramelessWindowHint);
|
||||||
#endif
|
#endif
|
||||||
showToolFrom(false);
|
showToolForm(false);
|
||||||
layout()->setContentsMargins(0, 0, 0, 0);
|
layout()->setContentsMargins(0, 0, 0, 0);
|
||||||
showFullScreen();
|
showFullScreen();
|
||||||
|
|
||||||
|
@ -325,110 +324,7 @@ void VideoForm::switchFullScreen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoForm::postGoMenu()
|
|
||||||
{
|
|
||||||
postKeyCodeClick(AKEYCODE_MENU);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postGoBack()
|
|
||||||
{
|
|
||||||
postKeyCodeClick(AKEYCODE_BACK);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postAppSwitch()
|
|
||||||
{
|
|
||||||
postKeyCodeClick(AKEYCODE_APP_SWITCH);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postPower()
|
|
||||||
{
|
|
||||||
postKeyCodeClick(AKEYCODE_POWER);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postVolumeUp()
|
|
||||||
{
|
|
||||||
postKeyCodeClick(AKEYCODE_VOLUME_UP);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postVolumeDown()
|
|
||||||
{
|
|
||||||
postKeyCodeClick(AKEYCODE_VOLUME_DOWN);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postTurnOn()
|
|
||||||
{
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_BACK_OR_SCREEN_ON);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::expandNotificationPanel()
|
|
||||||
{
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_EXPAND_NOTIFICATION_PANEL);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::collapseNotificationPanel()
|
|
||||||
{
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_COLLAPSE_NOTIFICATION_PANEL);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::requestDeviceClipboard()
|
|
||||||
{
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_GET_CLIPBOARD);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::setDeviceClipboard()
|
|
||||||
{
|
|
||||||
QClipboard *board = QApplication::clipboard();
|
|
||||||
QString text = board->text();
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_SET_CLIPBOARD);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
controlMsg->setSetClipboardMsgData(text);
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::clipboardPaste()
|
|
||||||
{
|
|
||||||
QClipboard *board = QApplication::clipboard();
|
|
||||||
QString text = board->text();
|
|
||||||
postTextInput(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postTextInput(QString& text)
|
|
||||||
{
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_INJECT_TEXT);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
controlMsg->setInjectTextMsgData(text);
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::setScreenPowerMode(ControlMsg::ScreenPowerMode mode)
|
|
||||||
{
|
|
||||||
ControlMsg* controlMsg = new ControlMsg(ControlMsg::CMT_SET_SCREEN_POWER_MODE);
|
|
||||||
if (!controlMsg) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
controlMsg->setSetScreenPowerModeData(mode);
|
|
||||||
m_controller->postControlMsg(controlMsg);
|
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::staysOnTop(bool top)
|
void VideoForm::staysOnTop(bool top)
|
||||||
{
|
{
|
||||||
|
@ -445,26 +341,9 @@ void VideoForm::staysOnTop(bool top)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoForm::postGoHome()
|
Controller *VideoForm::getController()
|
||||||
{
|
{
|
||||||
postKeyCodeClick(AKEYCODE_HOME);
|
return m_controller;
|
||||||
}
|
|
||||||
|
|
||||||
void VideoForm::postKeyCodeClick(AndroidKeycode keycode)
|
|
||||||
{
|
|
||||||
ControlMsg* controlEventDown = new ControlMsg(ControlMsg::CMT_INJECT_KEYCODE);
|
|
||||||
if (!controlEventDown) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
controlEventDown->setInjectKeycodeMsgData(AKEY_EVENT_ACTION_DOWN, keycode, AMETA_NONE);
|
|
||||||
m_controller->postControlMsg(controlEventDown);
|
|
||||||
|
|
||||||
ControlMsg* controlEventUp = new ControlMsg(ControlMsg::CMT_INJECT_KEYCODE);
|
|
||||||
if (!controlEventUp) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
controlEventUp->setInjectKeycodeMsgData(AKEY_EVENT_ACTION_UP, keycode, AMETA_NONE);
|
|
||||||
m_controller->postControlMsg(controlEventUp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VideoForm::mousePressEvent(QMouseEvent *event)
|
void VideoForm::mousePressEvent(QMouseEvent *event)
|
||||||
|
@ -524,13 +403,13 @@ void VideoForm::keyPressEvent(QKeyEvent *event)
|
||||||
switchFullScreen();
|
switchFullScreen();
|
||||||
}
|
}
|
||||||
if (event->key() == Qt::Key_C && (event->modifiers() & Qt::ControlModifier)) {
|
if (event->key() == Qt::Key_C && (event->modifiers() & Qt::ControlModifier)) {
|
||||||
requestDeviceClipboard();
|
m_controller->requestDeviceClipboard();
|
||||||
}
|
}
|
||||||
if (event->key() == Qt::Key_V && (event->modifiers() & Qt::ControlModifier)) {
|
if (event->key() == Qt::Key_V && (event->modifiers() & Qt::ControlModifier)) {
|
||||||
if (event->modifiers() & Qt::ShiftModifier) {
|
if (event->modifiers() & Qt::ShiftModifier) {
|
||||||
setDeviceClipboard();
|
m_controller->setDeviceClipboard();
|
||||||
} else {
|
} else {
|
||||||
clipboardPaste();
|
m_controller->clipboardPaste();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -558,7 +437,7 @@ void VideoForm::showEvent(QShowEvent *event)
|
||||||
{
|
{
|
||||||
Q_UNUSED(event);
|
Q_UNUSED(event);
|
||||||
if (!isFullScreen()) {
|
if (!isFullScreen()) {
|
||||||
showToolFrom();
|
showToolForm();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,33 +25,16 @@ public:
|
||||||
explicit VideoForm(const QString& serial, quint16 maxSize = 720, quint32 bitRate = 8000000, const QString& fileName = "", bool closeScreen = false, QWidget *parent = 0);
|
explicit VideoForm(const QString& serial, quint16 maxSize = 720, quint32 bitRate = 8000000, const QString& fileName = "", bool closeScreen = false, QWidget *parent = 0);
|
||||||
~VideoForm();
|
~VideoForm();
|
||||||
|
|
||||||
void switchFullScreen();
|
void switchFullScreen();
|
||||||
void postGoMenu();
|
|
||||||
void postGoHome();
|
|
||||||
void postGoBack();
|
|
||||||
void postAppSwitch();
|
|
||||||
void postPower();
|
|
||||||
void postVolumeUp();
|
|
||||||
void postVolumeDown();
|
|
||||||
// turn the screen on if it was off, press BACK otherwise
|
|
||||||
void postTurnOn();
|
|
||||||
void expandNotificationPanel();
|
|
||||||
void collapseNotificationPanel();
|
|
||||||
void requestDeviceClipboard();
|
|
||||||
void setDeviceClipboard();
|
|
||||||
void clipboardPaste();
|
|
||||||
void postTextInput(QString& text);
|
|
||||||
void setScreenPowerMode(ControlMsg::ScreenPowerMode mode);
|
|
||||||
|
|
||||||
void staysOnTop(bool top = true);
|
void staysOnTop(bool top = true);
|
||||||
|
Controller* getController();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateShowSize(const QSize &newSize);
|
void updateShowSize(const QSize &newSize);
|
||||||
void updateStyleSheet(bool vertical);
|
void updateStyleSheet(bool vertical);
|
||||||
void initUI();
|
void initUI();
|
||||||
void initSignals();
|
void initSignals();
|
||||||
void showToolFrom(bool show = true);
|
void showToolForm(bool show = true);
|
||||||
void postKeyCodeClick(AndroidKeycode keycode);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void mousePressEvent(QMouseEvent *event);
|
void mousePressEvent(QMouseEvent *event);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue