forked from quickshell/quickshell
175 lines
3.5 KiB
QML
175 lines
3.5 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
import Quickshell
|
|
import Quickshell.Widgets
|
|
|
|
FloatingWindow {
|
|
color: contentItem.palette.window
|
|
|
|
ColumnLayout {
|
|
anchors.fill: parent
|
|
|
|
Item {
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
|
|
Rectangle {
|
|
anchors.centerIn: parent
|
|
width: stretchCb.checked ? wrapperWidthSlider.value : implicitWidth
|
|
height: stretchCb.checked ? wrapperHeightSlider.value : implicitHeight
|
|
border.color: "black"
|
|
|
|
MarginWrapperManager {
|
|
margin: marginSlider.value
|
|
extraMargin: extraMarginSlider.value
|
|
resizeChild: resizeCb.checked
|
|
topMargin: separateMarginsCb.checked ? topMarginSlider.value : undefined
|
|
bottomMargin: separateMarginsCb.checked ? bottomMarginSlider.value : undefined
|
|
leftMargin: separateMarginsCb.checked ? leftMarginSlider.value : undefined
|
|
rightMargin: separateMarginsCb.checked ? rightMarginSlider.value : undefined
|
|
implicitWidth: parentImplicitSizeCb.checked ? parentImplicitWidthSlider.value : undefined
|
|
implicitHeight: parentImplicitSizeCb.checked ? parentImplicitHeightSlider.value : undefined
|
|
}
|
|
|
|
Rectangle {
|
|
color: "green"
|
|
implicitWidth: implicitWidthSlider.value
|
|
implicitHeight: implicitHeightSlider.value
|
|
}
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
CheckBox {
|
|
id: stretchCb
|
|
text: "Stretch"
|
|
}
|
|
|
|
CheckBox {
|
|
id: resizeCb
|
|
text: "Resize Child"
|
|
}
|
|
|
|
CheckBox {
|
|
id: separateMarginsCb
|
|
text: "Individual Margins"
|
|
}
|
|
|
|
CheckBox {
|
|
id: parentImplicitSizeCb
|
|
text: "Parent Implicit Size"
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
Label { text: "Stretch Width" }
|
|
Slider {
|
|
id: wrapperWidthSlider
|
|
Layout.fillWidth: true
|
|
from: 0; to: 300; value: 200
|
|
}
|
|
|
|
Label { text: "Stretch Height" }
|
|
Slider {
|
|
id: wrapperHeightSlider
|
|
Layout.fillWidth: true
|
|
from: 0; to: 300; value: 200
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
Label { text: "Implicit Width" }
|
|
Slider {
|
|
id: implicitWidthSlider
|
|
Layout.fillWidth: true
|
|
from: 0; to: 200; value: 100
|
|
}
|
|
|
|
Label { text: "Implicit Height" }
|
|
Slider {
|
|
id: implicitHeightSlider
|
|
Layout.fillWidth: true
|
|
from: 0; to: 200; value: 100
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
Label { text: "Parent Implicit Width" }
|
|
Slider {
|
|
id: parentImplicitWidthSlider
|
|
Layout.fillWidth: true
|
|
from: 0; to: 300; value: 200
|
|
}
|
|
|
|
Label { text: "Parent Implicit Height" }
|
|
Slider {
|
|
id: parentImplicitHeightSlider
|
|
Layout.fillWidth: true
|
|
from: 0; to: 300; value: 200
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
Label { text: "Margin" }
|
|
Slider {
|
|
id: marginSlider
|
|
Layout.fillWidth: true
|
|
from: -100; to: 200; value: 50
|
|
}
|
|
|
|
Label { text: "Extra" }
|
|
Slider {
|
|
id: extraMarginSlider
|
|
Layout.fillWidth: true
|
|
from: -100; to: 200; value: 0
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
Label { text: "Top Margin" }
|
|
Slider {
|
|
id: topMarginSlider
|
|
Layout.fillWidth: true
|
|
from: -100; to: 200; value: 50
|
|
}
|
|
|
|
Label { text: "Bottom Margin" }
|
|
Slider {
|
|
id: bottomMarginSlider
|
|
Layout.fillWidth: true
|
|
from: -100; to: 200; value: 50
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Layout.fillWidth: true
|
|
|
|
Label { text: "Left Margin" }
|
|
Slider {
|
|
id: leftMarginSlider
|
|
Layout.fillWidth: true
|
|
from: -100; to: 200; value: 50
|
|
}
|
|
|
|
Label { text: "Right Margin" }
|
|
Slider {
|
|
id: rightMarginSlider
|
|
Layout.fillWidth: true
|
|
from: -100; to: 200; value: 50
|
|
}
|
|
}
|
|
}
|
|
}
|