add 0011-15-kylin-video.patch
This commit is contained in:
parent
c95f22fedd
commit
726681eb10
210
0011-15-kylin-video.patch
Normal file
210
0011-15-kylin-video.patch
Normal file
@ -0,0 +1,210 @@
|
||||
From: =?utf-8?b?5YiY6IGq?= <liucong1@kylinos.cn>
|
||||
Date: Fri, 19 May 2023 09:16:59 +0000
|
||||
Subject: =?utf-8?q?!15_kylin-video_Merge_pull_request_!15_from_=E6=88=8E?=
|
||||
=?utf-8?q?=E6=9C=89=E4=B8=BD/openkylin/yangtze?=
|
||||
|
||||
---
|
||||
src/widget/eventpasswidget.cpp | 37 +++++++++++++++++++++++++++++++++++++
|
||||
src/widget/eventpasswidget.h | 5 ++++-
|
||||
src/widget/playglwidget.cpp | 37 +++++++++++++++++++++++++++++++++++++
|
||||
src/widget/playglwidget.h | 5 ++++-
|
||||
4 files changed, 82 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/widget/eventpasswidget.cpp b/src/widget/eventpasswidget.cpp
|
||||
index ebe6f39..c74cc14 100644
|
||||
--- a/src/widget/eventpasswidget.cpp
|
||||
+++ b/src/widget/eventpasswidget.cpp
|
||||
@@ -95,6 +95,7 @@ void EventPassWidget::mousePressEvent(QMouseEvent *e)
|
||||
|
||||
// 右键点击触发显示菜单
|
||||
if (e->button() == Qt::LeftButton) {
|
||||
+ m_isMousePressed = true;
|
||||
m_timePressStart = QDateTime::currentMSecsSinceEpoch();
|
||||
}
|
||||
return QWidget::mousePressEvent(e);
|
||||
@@ -102,6 +103,7 @@ void EventPassWidget::mousePressEvent(QMouseEvent *e)
|
||||
|
||||
void EventPassWidget::mouseReleaseEvent(QMouseEvent *e)
|
||||
{
|
||||
+ m_isMousePressed = false;
|
||||
// 左键离开触发暂停,如果左键按得时间很长就不触发了,不然会和触摸屏长按冲突
|
||||
if (e->button() == Qt::LeftButton && (QDateTime::currentMSecsSinceEpoch() - m_timePressStart) < 500) {
|
||||
if (!m_mouseUsed)
|
||||
@@ -115,6 +117,27 @@ void EventPassWidget::mouseReleaseEvent(QMouseEvent *e)
|
||||
|
||||
void EventPassWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
{
|
||||
+ if (m_isMousePressed) {
|
||||
+ m_posCurrent = e->pos();
|
||||
+
|
||||
+ int xc = abs(m_posCurrent.x() - m_posLast.x());
|
||||
+ int yc = abs(m_posCurrent.y() - m_posLast.y());
|
||||
+ if (xc < yc) {
|
||||
+ m_volumeChange = yc * 200 / height();
|
||||
+ //符合音量调节
|
||||
+ if (m_volumeChange > 0) {
|
||||
+ if (m_posCurrent.y() - m_posLast.y() > 2) {
|
||||
+ g_user_signal->setVolumeDown(m_volumeChange);
|
||||
+ m_posLast = m_posCurrent;
|
||||
+ }
|
||||
+ else {
|
||||
+ g_user_signal->setVolumeUp(m_volumeChange);
|
||||
+ m_posLast = m_posCurrent;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
m_isMouseEnter = true;
|
||||
m_checkMouseTimer->stop();
|
||||
setCursor(QCursor(Qt::ArrowCursor));
|
||||
@@ -135,6 +158,19 @@ void EventPassWidget::mouseDoubleClickEvent(QMouseEvent *e)
|
||||
return QWidget::mouseDoubleClickEvent(e);
|
||||
}
|
||||
|
||||
+void EventPassWidget::wheelEvent(QWheelEvent *e)
|
||||
+{
|
||||
+ // 鼠标滚轮和触控板双指滑动调节音量
|
||||
+ int wheel_distance = e->delta();
|
||||
+ if (abs(wheel_distance) / 120 == 1) {
|
||||
+ if (wheel_distance > 0)
|
||||
+ g_user_signal->setVolumeUp(5);
|
||||
+ else
|
||||
+ g_user_signal->setVolumeDown(5);
|
||||
+ }
|
||||
+ return QWidget::wheelEvent(e);
|
||||
+}
|
||||
+
|
||||
void EventPassWidget::enterEvent(QEvent *e)
|
||||
{
|
||||
m_isMouseEnter = true;
|
||||
@@ -144,6 +180,7 @@ void EventPassWidget::enterEvent(QEvent *e)
|
||||
void EventPassWidget::leaveEvent(QEvent *e)
|
||||
{
|
||||
m_isMouseEnter = false;
|
||||
+ m_isMousePressed = false;
|
||||
if(g_playstate > 0)
|
||||
m_checkMouseTimer->start();
|
||||
|
||||
diff --git a/src/widget/eventpasswidget.h b/src/widget/eventpasswidget.h
|
||||
index e1dfe6e..95bc7a2 100644
|
||||
--- a/src/widget/eventpasswidget.h
|
||||
+++ b/src/widget/eventpasswidget.h
|
||||
@@ -27,7 +27,9 @@ private:
|
||||
|
||||
bool m_mouseUsed,
|
||||
m_isMouseEnter,
|
||||
- m_hasVideo;
|
||||
+ m_dbClicked,
|
||||
+ m_hasVideo,
|
||||
+ m_isMousePressed = false;
|
||||
|
||||
int m_volumeChange;
|
||||
|
||||
@@ -46,6 +48,7 @@ protected:
|
||||
void mouseReleaseEvent(QMouseEvent *e) override;
|
||||
void mouseMoveEvent(QMouseEvent *e) override;
|
||||
void mouseDoubleClickEvent(QMouseEvent *e) override;
|
||||
+ void wheelEvent(QWheelEvent *e) override;
|
||||
void enterEvent(QEvent *e) override;
|
||||
void leaveEvent(QEvent *e) override;
|
||||
bool event(QEvent *e) override;
|
||||
diff --git a/src/widget/playglwidget.cpp b/src/widget/playglwidget.cpp
|
||||
index d39a800..00533e0 100644
|
||||
--- a/src/widget/playglwidget.cpp
|
||||
+++ b/src/widget/playglwidget.cpp
|
||||
@@ -159,6 +159,7 @@ void PlayGLWidget::videIdChange(int vid)
|
||||
|
||||
void PlayGLWidget::mousePressEvent(QMouseEvent *e)
|
||||
{
|
||||
+ m_isMousePressed = true;
|
||||
m_mousePosPressed = e->pos();
|
||||
m_posStart = e->pos();
|
||||
m_posLast = e->pos();
|
||||
@@ -172,6 +173,7 @@ void PlayGLWidget::mousePressEvent(QMouseEvent *e)
|
||||
|
||||
void PlayGLWidget::mouseReleaseEvent(QMouseEvent *e)
|
||||
{
|
||||
+ m_isMousePressed = false;
|
||||
// 左键离开触发暂停,如果左键按得时间很长就不触发了,不然会和触摸屏长按冲突
|
||||
if (e->button() == Qt::LeftButton && (QDateTime::currentMSecsSinceEpoch() - m_timePressStart) < 500) {
|
||||
if (!m_mouseUsed)
|
||||
@@ -185,6 +187,27 @@ void PlayGLWidget::mouseReleaseEvent(QMouseEvent *e)
|
||||
|
||||
void PlayGLWidget::mouseMoveEvent(QMouseEvent *e)
|
||||
{
|
||||
+ if (m_isMousePressed) {
|
||||
+ m_posCurrent = e->pos();
|
||||
+
|
||||
+ int xc = abs(m_posCurrent.x() - m_posLast.x());
|
||||
+ int yc = abs(m_posCurrent.y() - m_posLast.y());
|
||||
+ if (xc < yc) {
|
||||
+ m_volumeChange = yc * 200 / height();
|
||||
+ //符合音量调节
|
||||
+ if (m_volumeChange > 0) {
|
||||
+ if (m_posCurrent.y() - m_posLast.y() > 2) {
|
||||
+ g_user_signal->setVolumeDown(m_volumeChange);
|
||||
+ m_posLast = m_posCurrent;
|
||||
+ }
|
||||
+ else {
|
||||
+ g_user_signal->setVolumeUp(m_volumeChange);
|
||||
+ m_posLast = m_posCurrent;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
m_isMouseEnter = true;
|
||||
m_checkMouseTimer->stop();
|
||||
setCursor(QCursor(Qt::ArrowCursor));
|
||||
@@ -205,6 +228,19 @@ void PlayGLWidget::mouseDoubleClickEvent(QMouseEvent *e)
|
||||
return QOpenGLWidget::mouseDoubleClickEvent(e);
|
||||
}
|
||||
|
||||
+void PlayGLWidget::wheelEvent(QWheelEvent *e)
|
||||
+{
|
||||
+ // 鼠标滚轮和触控板双指滑动调节音量
|
||||
+ int wheel_distance = e->delta();
|
||||
+ if (abs(wheel_distance) / 120 == 1) {
|
||||
+ if (wheel_distance > 0)
|
||||
+ g_user_signal->setVolumeUp(5);
|
||||
+ else
|
||||
+ g_user_signal->setVolumeDown(5);
|
||||
+ }
|
||||
+ return QOpenGLWidget::wheelEvent(e);
|
||||
+}
|
||||
+
|
||||
void PlayGLWidget::enterEvent(QEvent *e)
|
||||
{
|
||||
m_isMouseEnter = true;
|
||||
@@ -213,6 +249,7 @@ void PlayGLWidget::enterEvent(QEvent *e)
|
||||
|
||||
void PlayGLWidget::leaveEvent(QEvent *e)
|
||||
{
|
||||
+ m_isMousePressed = false;
|
||||
m_isMouseEnter = false;
|
||||
if(g_playstate > 0)
|
||||
m_checkMouseTimer->start();
|
||||
diff --git a/src/widget/playglwidget.h b/src/widget/playglwidget.h
|
||||
index a82fac7..72498e9 100644
|
||||
--- a/src/widget/playglwidget.h
|
||||
+++ b/src/widget/playglwidget.h
|
||||
@@ -52,7 +52,9 @@ private:
|
||||
|
||||
bool m_mouseUsed,
|
||||
m_isMouseEnter,
|
||||
- m_hasVideo;
|
||||
+ m_dbClicked,
|
||||
+ m_hasVideo,
|
||||
+ m_isMousePressed = false;
|
||||
|
||||
int m_volumeChange;
|
||||
|
||||
@@ -71,6 +73,7 @@ protected:
|
||||
void mouseReleaseEvent(QMouseEvent *e) override;
|
||||
void mouseMoveEvent(QMouseEvent *e) override;
|
||||
void mouseDoubleClickEvent(QMouseEvent *e) override;
|
||||
+ void wheelEvent(QWheelEvent *e) override;
|
||||
void enterEvent(QEvent *e) override;
|
||||
void leaveEvent(QEvent *e) override;
|
||||
bool event(QEvent *e) override;
|
||||
@ -1,6 +1,6 @@
|
||||
Name: kylin-video
|
||||
Version: 3.1.4
|
||||
Release: 4
|
||||
Release: 5
|
||||
Summary: A powerful video player
|
||||
License: GPL-2.0+
|
||||
URL: https://gitee.com/openkylin/kylin-video
|
||||
@ -8,6 +8,7 @@ Source0: kylin-video-3.1.4.tar.gz
|
||||
Patch01: 0001-fix-compile-error-of-kylin-video.patch
|
||||
Patch02: 0002-Repair-the-user-guide-does-not-work.patch
|
||||
Patch03: 0003-fix-build-error-of-kylin-video-about-ffmpeg-6.1.patch
|
||||
Patch04: 0011-15-kylin-video.patch
|
||||
|
||||
BuildRequires: ffmpeg-devel
|
||||
BuildRequires: libcrystalhd-devel
|
||||
@ -43,12 +44,13 @@ It supports both x86 and ARM platform, and supports most of the audio and video
|
||||
%patch01 -p1
|
||||
%patch02 -p1
|
||||
%patch03 -p1
|
||||
%patch04 -p1
|
||||
|
||||
%build
|
||||
mkdir qmake-build
|
||||
pushd qmake-build
|
||||
%{qmake_qt5} ..
|
||||
%{make_build} -j4
|
||||
%{make_build}
|
||||
popd
|
||||
|
||||
%install
|
||||
@ -65,6 +67,9 @@ popd
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Apr 24 2024 peijiankang <peijiankang@kylinos.cn> - 3.1.4-5
|
||||
- add 0011-15-kylin-video.patch
|
||||
|
||||
* Wed Apr 10 2024 peijiankang <peijiankang@kylinos.cn> - 3.1.4-4
|
||||
- add 0003-fix-build-error-of-kylin-video-about-ffmpeg-6.1.patch
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user