feat(widget): 增加测试Widget用于测试新功能

This commit is contained in:
hewenfei 2023-09-14 16:15:45 +08:00
parent 75027dce8b
commit 0ddafd5297
7 changed files with 87 additions and 28 deletions

View File

@ -2,6 +2,7 @@
#include <QGuiApplication>
#include <QQuickView>
#include <QList>
#include "widget.h"
#include "widget-loader.h"
@ -14,6 +15,8 @@ int main(int argc, char *argv[])
QStringList widgets;
// widgets << "org.ukui.panel.taskmanager";
// widgets << "org.ukui.panel.test";
widgets << "org.ukui.menu.starter";
widgets << "org.ukui.panel.widget.test";
auto view = new QQuickView;
view->setResizeMode(QQuickView::SizeRootObjectToView);
@ -21,22 +24,26 @@ int main(int argc, char *argv[])
view->setColor(QColor(Qt::transparent));
view->setSource(QUrl("qrc:///main.qml"));
QList<UkuiPanel::Widget *> widgetList;
UkuiPanel::WidgetLoader loader;
for (const auto &id : widgets) {
UkuiPanel::Widget *widget = loader.loadWidget(id);
if (!widget) {
return 0;
continue;
}
widgetList << widget;
UkuiPanel::WidgetItem *widgetItem = UkuiPanel::WidgetItem::itemForWidget(widget);
if (!widgetItem) {
return 0;
continue;
}
widgetItem->setParentItem(view->rootObject());
}
qDebug() << "Main Url:" << widget->content().fileUrl("Main");
qDebug() << "WidgetItem:" << widgetItem->property("widget") << widgetItem->parent();
for (const auto &widget : widgetList) {
qDebug() << "Widget main url:" << widget->content().fileUrl("Main");
qDebug() << "Widget id:" << widget->id() << "; Has error:" << widget->hasUiError() << widget->uiError() << "\n";
}
view->show();

View File

@ -1,28 +1,5 @@
import QtQuick 2.15
import org.ukui.panel.publicItems 1.0
Rectangle {
color: "transparent"
Image{
id: image
width: 1600
height: 900
source: "file:///home/zpf/图片/wallhaven-2y9r39.png"
}
BlurItem{
x: 100
y: 100
width: 500
height: 500
blurRadius: 40
samples: 81
source: image
Drag.active: dragArea.drag.active
MouseArea {
id: dragArea
anchors.fill: parent
drag.target: parent
}
}
color: "#E1E4EA"
}

View File

@ -4,3 +4,4 @@ project(widgets VERSION 4.1)
add_subdirectory(ukui-task-manager)
add_subdirectory(ukui-system-tray)
add_subdirectory(ukui-menu-starter)
add_subdirectory(ukui-panel-widget-test)

View File

@ -0,0 +1,3 @@
cmake_minimum_required(VERSION 3.16)
install(DIRECTORY "widget/" DESTINATION "/usr/share/ukui-panel/widgets/org.ukui.panel.widget.test")

View File

@ -0,0 +1,23 @@
{
"Authors": [
{
"Name": "zpf",
"Email": "zpf@kylinos.cn"
}
],
"Id": "org.ukui.panel.widget.test",
"Icon": "ukui-panel",
"Name": "Widget test tool",
"Name[zh_CN]": "组件测试工具",
"Tooltip": "Widget test tool",
"Tooltip[zh_CN]": "组件测试工具",
"Description": "Widget test tool",
"Description[zh_CN]": "组件测试工具",
"Version": "1.0",
"Website": "https://ukui.org",
"BugReport": "https://gitee.com/openkylin/ukui-panel/issues",
"Contents": {
"Main": "ui/main.qml"
}
}

View File

@ -0,0 +1,28 @@
import QtQuick 2.15
import org.ukui.panel.publicItems 1.0
Rectangle {
color: "transparent"
Image {
id: image
width: 1600
height: 900
source: "file:///usr/share/backgrounds/2-openkylin.jpg"
}
BlurItem {
x: 100
y: 100
width: 500
height: 500
radius: 40
samples: 81
source: image
Drag.active: dragArea.drag.active
MouseArea {
id: dragArea
anchors.fill: parent
drag.target: parent
}
}
}

View File

@ -0,0 +1,20 @@
import QtQuick 2.15
import QtQuick.Layouts 1.15
import org.ukui.panel.widgets 1.0
import org.ukui.menu.starter 1.0
WidgetItem {
width: 600
height: 600
Layout.objectName: "layout"
Layout.fillHeight: true
Layout.minimumHeight: height
Layout.preferredHeight: height
Layout.preferredWidth: width
BlurImageTest {
anchors.fill: parent
}
}