1
0
Fork 0

core/reloader: wrap QQuickItem root nodes in a floating window

Useful for testing
This commit is contained in:
outfoxxed 2024-11-22 20:18:04 -08:00
parent c21df95087
commit 57a5d8e1ed
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E
2 changed files with 12 additions and 1 deletions

View file

@ -8,9 +8,11 @@
#include <qobject.h>
#include <qqmlcomponent.h>
#include <qqmlengine.h>
#include <qquickitem.h>
#include <qtmetamacros.h>
#include <qurl.h>
#include "../window/floatingwindow.hpp"
#include "generation.hpp"
#include "qmlglobal.hpp"
#include "scan.hpp"
@ -73,6 +75,15 @@ void RootWrapper::reloadGraph(bool hard) {
return;
}
if (auto* item = qobject_cast<QQuickItem*>(newRoot)) {
auto* window = new FloatingWindowInterface();
item->setParent(window);
item->setParentItem(window->contentItem());
window->setWidth(static_cast<int>(item->width()));
window->setHeight(static_cast<int>(item->height()));
newRoot = window;
}
generation->root = newRoot;
component.completeCreate();

View file

@ -8,7 +8,7 @@
#include "qmlglobal.hpp"
#include "reload.hpp"
///! Root config element
///! Optional root config element, allowing some settings to be specified inline.
class ShellRoot: public ReloadPropagator {
Q_OBJECT;
Q_PROPERTY(QuickshellSettings* settings READ settings CONSTANT);