forked from quickshell/quickshell
core/reloader: wrap QQuickItem root nodes in a floating window
Useful for testing
This commit is contained in:
parent
c21df95087
commit
57a5d8e1ed
src/core
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue