fix(storybook): make it possible to inspect popups
add a kbd shortcut (Ctrl+Shift+I) to be able to invoke the "Inspect" feature for Popup based components; as clicking the "Inspect" button in the status bar closes the popup itself
This commit is contained in:
parent
ff98144a56
commit
5b94cad94e
|
@ -26,6 +26,42 @@ ApplicationWindow {
|
||||||
palette.base: Theme.palette.indirectColor1
|
palette.base: Theme.palette.indirectColor1
|
||||||
font.pixelSize: 13
|
font.pixelSize: 13
|
||||||
|
|
||||||
|
QtObject {
|
||||||
|
id: d
|
||||||
|
|
||||||
|
function activateInspection(item) {
|
||||||
|
inspectionWindow.inspect(item)
|
||||||
|
inspectionWindow.show()
|
||||||
|
inspectionWindow.requestActivate()
|
||||||
|
}
|
||||||
|
|
||||||
|
function performInspection() {
|
||||||
|
const getItems = typeName =>
|
||||||
|
InspectionUtils.findItemsByTypeName(
|
||||||
|
viewLoader.item, typeName)
|
||||||
|
const items = [
|
||||||
|
...getItems(root.currentPage),
|
||||||
|
...getItems("Custom" + root.currentPage)
|
||||||
|
]
|
||||||
|
|
||||||
|
const lca = InspectionUtils.lowestCommonAncestor(
|
||||||
|
items, viewLoader.item)
|
||||||
|
|
||||||
|
if (!!lca && lca.Overlay.overlay.children.length > 0) {
|
||||||
|
activateInspection(lca.Overlay.overlay.children[0])
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lca) {
|
||||||
|
activateInspection(lca.parent.contentItem === lca
|
||||||
|
? lca.parent : lca)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
nothingToInspectDialog.open()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
PagesModel {
|
PagesModel {
|
||||||
id: pagesModel
|
id: pagesModel
|
||||||
}
|
}
|
||||||
|
@ -175,37 +211,7 @@ ApplicationWindow {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function activateInspection(item) {
|
onInspectClicked: d.performInspection()
|
||||||
inspectionWindow.inspect(item)
|
|
||||||
inspectionWindow.show()
|
|
||||||
inspectionWindow.requestActivate()
|
|
||||||
}
|
|
||||||
|
|
||||||
onInspectClicked: {
|
|
||||||
const getItems = typeName =>
|
|
||||||
InspectionUtils.findItemsByTypeName(
|
|
||||||
viewLoader.item, typeName)
|
|
||||||
const items = [
|
|
||||||
...getItems(root.currentPage),
|
|
||||||
...getItems("Custom" + root.currentPage)
|
|
||||||
]
|
|
||||||
|
|
||||||
const lca = InspectionUtils.lowestCommonAncestor(
|
|
||||||
items, viewLoader.item)
|
|
||||||
|
|
||||||
if (lca) {
|
|
||||||
activateInspection(lca.parent.contentItem === lca
|
|
||||||
? lca.parent : lca)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Overlay.overlay.children.length > 0) {
|
|
||||||
activateInspection(Overlay.overlay.children[0])
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
nothingToInspectDialog.open()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -304,4 +310,10 @@ Tips:
|
||||||
property alias hotReloading: hotReloaderControls.enabled
|
property alias hotReloading: hotReloaderControls.enabled
|
||||||
property alias figmaToken: settingsLayout.figmaToken
|
property alias figmaToken: settingsLayout.figmaToken
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Shortcut {
|
||||||
|
sequence: "Ctrl+Shift+I"
|
||||||
|
context: Qt.ApplicationShortcut
|
||||||
|
onActivated: d.performInspection()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ ToolBar {
|
||||||
ToolSeparator {}
|
ToolSeparator {}
|
||||||
|
|
||||||
ToolButton {
|
ToolButton {
|
||||||
text: "Inspect"
|
text: "Inspect (Ctrl+Shift+I)"
|
||||||
|
|
||||||
Layout.rightMargin: parent.spacing
|
Layout.rightMargin: parent.spacing
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue