examples: Port MyViewFactory to new design

It was commented out still
This commit is contained in:
Sergio Martins
2022-06-13 22:31:13 +01:00
parent 4dab634abf
commit 59013303ac
10 changed files with 197 additions and 218 deletions

View File

@@ -14,7 +14,8 @@
#pragma once
#include <kddockwidgets/private/widgets/TitleBarWidget_p.h>
#include <kddockwidgets/views/TitleBar_qtwidgets.h>
#include "controllers/TitleBar.h"
/**
* @brief Shows how to implement a custom titlebar which uses "Qt StyleSheets".
@@ -37,20 +38,21 @@
* - KDDockWidgets::TitleBarWidget::isFocused is a property, there for needs to workaround the
* above bug by unsetting the sheet and setting it again.
*/
class MyTitleBar_CSS : public KDDockWidgets::TitleBarWidget
class MyTitleBar_CSS : public KDDockWidgets::Views::TitleBar_qtwidgets
{
public:
explicit MyTitleBar_CSS(KDDockWidgets::Frame *frame)
: KDDockWidgets::TitleBarWidget(frame)
explicit MyTitleBar_CSS(KDDockWidgets::Controllers::TitleBar *controller,
View *parent = nullptr)
: KDDockWidgets::Views::TitleBar_qtwidgets(controller, parent)
{
init();
initStyleSheet();
connect(controller, &KDDockWidgets::Controllers::TitleBar::isFocusedChanged, this, [this] {
// Workaround QTBUG-51236, this makes the [isFocused=true] syntax useful
setStyleSheet(QString());
initStyleSheet();
});
}
explicit MyTitleBar_CSS(KDDockWidgets::FloatingWindow *fw)
: KDDockWidgets::TitleBarWidget(fw)
{
init();
}
~MyTitleBar_CSS() override;
@@ -67,16 +69,6 @@ public:
"background: green"
"}"));
}
void init()
{
initStyleSheet();
connect(this, &KDDockWidgets::TitleBar::isFocusedChanged, this, [this] {
// Workaround QTBUG-51236, this makes the [isFocused=true] syntax useful
setStyleSheet(QString());
initStyleSheet();
});
}
};
MyTitleBar_CSS::~MyTitleBar_CSS()