Squashed commit of the following:

commit 60c0f65c5e3c2faf1f7b0ae10b4131dabbcf715b
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Wed Feb 15 22:34:16 2023 -0800

    mainwindow: don't close last timeline panel when removing sequence

commit bc892810d67c1dd4f9c0639767c563681f29701d
Merge: 69051a120 aef08f8cd
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Tue Feb 14 17:05:25 2023 -0800

    Merge branch 'master' into kddockwidgets

commit 69051a120b8423d0ad7b38def2f7555d323cd74d
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Tue Feb 14 15:29:24 2023 -0800

    finished kddockwidgets integration

commit 9a39dbeade871a0b9454b424c7f7a7482671d40b
Author: itsmattkc <34096995+itsmattkc@users.noreply.github.com>
Date:   Tue Feb 14 11:54:25 2023 -0800

    switch to kddockwidgets
This commit is contained in:
itsmattkc
2023-02-16 00:44:08 -08:00
parent 9a87b197b3
commit 25b6b07a06
49 changed files with 252 additions and 331 deletions
+8 -27
View File
@@ -32,17 +32,16 @@
namespace olive {
#define super QDockWidget
#define super KDDockWidgets::DockWidget
PanelWidget::PanelWidget(const QString &object_name, QWidget *parent) :
super(parent),
PanelWidget::PanelWidget(const QString &object_name) :
super(object_name),
border_visible_(false),
signal_instead_of_close_(false)
{
setObjectName(object_name);
setFocusPolicy(Qt::ClickFocus);
connect(this, &PanelWidget::visibilityChanged, this, &PanelWidget::PanelVisibilityChanged);
connect(this, &PanelWidget::shown, this, static_cast<void(PanelWidget::*)()>(&PanelWidget::setFocus));
PanelManager::instance()->RegisterPanel(this);
}
@@ -52,17 +51,6 @@ PanelWidget::~PanelWidget()
PanelManager::instance()->UnregisterPanel(this);
}
void PanelWidget::SetMovementLocked(bool locked)
{
if (locked) {
// Disable moving on QDockWidget
setFeatures(features() & ~QDockWidget::DockWidgetMovable);
} else {
// Re-enable moving on QDockWidget
setFeatures(features() | QDockWidget::DockWidgetMovable);
}
}
void PanelWidget::SetBorderVisible(bool enabled)
{
border_visible_ = enabled;
@@ -110,16 +98,9 @@ void PanelWidget::UpdateTitle()
// If there's no subtitle, just use the title. Otherwise, we set a formatted combination of the two that can
// differ based on translation
if (subtitle_.isEmpty()) {
setWindowTitle(title_);
this->setTitle(title_);
} else {
setWindowTitle(tr("%1: %2").arg(title_, subtitle_));
}
}
void PanelWidget::PanelVisibilityChanged(bool e)
{
if (e) {
setFocus();
this->setTitle(tr("%1: %2").arg(title_, subtitle_));
}
}
@@ -134,7 +115,7 @@ void PanelWidget::closeEvent(QCloseEvent *event)
event->ignore();
emit CloseRequested();
} else {
QDockWidget::closeEvent(event);
super::closeEvent(event);
}
}
@@ -143,7 +124,7 @@ void PanelWidget::changeEvent(QEvent *e)
if (e->type() == QEvent::LanguageChange) {
Retranslate();
}
QDockWidget::changeEvent(e);
super::changeEvent(e);
}
void PanelWidget::Retranslate()