Update FFmpeg handling and focus management

Refactor FFmpeg frame processing and improve focus management in panels. Add memory sanitization for debug builds and update KDDockWidgets integration.
This commit is contained in:
2025-11-23 16:35:09 +08:00
parent 2ea53667c0
commit 1e33a31b73
15 changed files with 75 additions and 27 deletions
+13 -3
View File
@@ -21,18 +21,23 @@
#ifndef PANEL_WIDGET_H
#define PANEL_WIDGET_H
#include "KDDockWidgets/src/core/Window_p.h"
#include "KDDockWidgets/src/qtwidgets/views/TabBar.h"
#include <kddockwidgets/DockWidget.h>
#include <QEvent>
#include "common/define.h"
#include <QTabWidget>
namespace olive
{
/**
* @brief A widget that is always dockable within the MainWindow.
*/
class PanelWidget : public KDDockWidgets::DockWidget {
class PanelWidget : public KDDockWidgets::QtWidgets::DockWidget {
Q_OBJECT
public:
/**
@@ -279,7 +284,8 @@ public:
signals:
void CloseRequested();
void shown(Qt::FocusReason reason);
void hidden();
protected:
/**
* @brief paintEvent
@@ -323,7 +329,7 @@ protected slots:
* String to set the subtitle to
*/
void SetSubtitle(const QString &t);
protected slots:
private:
/**
* @brief Internal function that sets the QDockWidget's window title whenever the title/subtitle change.
@@ -339,6 +345,10 @@ private:
bool border_visible_;
bool signal_instead_of_close_;
QMetaObject::Connection m_tabBarConnection;
QMetaObject::Connection m_windowConnection;
bool m_lastVisibleState = false;
};
}