mirror of
https://github.com/QuasarApp/ViewSolutions.git
synced 2025-05-14 18:39:43 +00:00
fix view image button
This commit is contained in:
parent
9ebd46b46d
commit
5044b1b5bb
@ -5,13 +5,13 @@
|
|||||||
//# of this license document, but changing it is not allowed.
|
//# of this license document, but changing it is not allowed.
|
||||||
//#
|
//#
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.14
|
import QtQuick.Layouts
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import QtQuick.Controls.Material 2.15
|
import QtQuick.Controls.Material
|
||||||
import QtQuick.Controls.Universal 2.15
|
import QtQuick.Controls.Universal
|
||||||
|
|
||||||
Item {
|
Control {
|
||||||
id: root
|
id: root
|
||||||
property string source: ""
|
property string source: ""
|
||||||
property alias imagesource: sourceImg
|
property alias imagesource: sourceImg
|
||||||
@ -27,7 +27,7 @@ Item {
|
|||||||
|
|
||||||
property color textColor: Material.color(Material.Grey)
|
property color textColor: Material.color(Material.Grey)
|
||||||
|
|
||||||
property color background: colorPicker.pick(source)
|
property color backgroundColor: colorPicker.pick(source)
|
||||||
property color selectedColor: "#5de2ff"
|
property color selectedColor: "#5de2ff"
|
||||||
property color borderColor: "#00000000"
|
property color borderColor: "#00000000"
|
||||||
property color hoverColor: "#00000000"
|
property color hoverColor: "#00000000"
|
||||||
@ -39,12 +39,12 @@ Item {
|
|||||||
|
|
||||||
function onStatusChanged(status) {
|
function onStatusChanged(status) {
|
||||||
if (status === Image.Ready) {
|
if (status === Image.Ready) {
|
||||||
root.background = colorPicker.pick(source);
|
root.backgroundColor = colorPicker.pick(source);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Item {
|
contentItem: Control {
|
||||||
id: privateData
|
id: privateData
|
||||||
property int rootMinSize: Math.min(root.height, root.width)
|
property int rootMinSize: Math.min(root.height, root.width)
|
||||||
anchors.margins: (root.hover && !presed)? rootMinSize * 0.01: rootMinSize * 0.1
|
anchors.margins: (root.hover && !presed)? rootMinSize * 0.01: rootMinSize * 0.1
|
||||||
@ -60,13 +60,31 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
anchors.fill: parent
|
Behavior on rx {
|
||||||
Rectangle {
|
NumberAnimation {
|
||||||
id: background
|
easing.type: Easing.OutExpo
|
||||||
color: root.background
|
duration: 550
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Behavior on ry {
|
||||||
|
NumberAnimation {
|
||||||
|
easing.type: Easing.OutExpo
|
||||||
|
duration: 550
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Behavior on rz {
|
||||||
|
NumberAnimation {
|
||||||
|
easing.type: Easing.OutExpo
|
||||||
|
duration: 550
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
color: root.backgroundColor
|
||||||
border.color: (root.hover)? root.hoverColor: root.selected? root.selectedColor: "#00000000"
|
border.color: (root.hover)? root.hoverColor: root.selected? root.selectedColor: "#00000000"
|
||||||
border.width: 4
|
border.width: 4
|
||||||
anchors.fill: parent
|
|
||||||
radius: border.width * 2
|
radius: border.width * 2
|
||||||
|
|
||||||
Behavior on border.color {
|
Behavior on border.color {
|
||||||
@ -82,16 +100,18 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
contentItem: ColumnLayout {
|
||||||
Image {
|
Image {
|
||||||
id: sourceImg
|
id: sourceImg
|
||||||
source: root.source
|
source: root.source
|
||||||
|
|
||||||
clip: true
|
clip: true
|
||||||
fillMode: Image.PreserveAspectCrop
|
fillMode: Image.PreserveAspectCrop
|
||||||
|
mipmap: true
|
||||||
|
smooth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.margins: 5
|
Layout.margins: 4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -100,16 +120,13 @@ Item {
|
|||||||
Label {
|
Label {
|
||||||
text: root.text
|
text: root.text
|
||||||
visible: text.length
|
visible: text.length
|
||||||
Layout.preferredHeight: root.height * 0.1
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
color: textColor
|
color: root.textColor
|
||||||
font.pixelSize: root.height * 0.09
|
font: root.font
|
||||||
font.bold: true
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
|
||||||
}
|
}
|
||||||
anchors.fill: parent
|
|
||||||
}
|
}
|
||||||
|
|
||||||
transform: [
|
transform: [
|
||||||
@ -145,11 +162,11 @@ Item {
|
|||||||
hoverEnabled: true;
|
hoverEnabled: true;
|
||||||
|
|
||||||
onEntered: {
|
onEntered: {
|
||||||
hover = true
|
root.hover = true
|
||||||
}
|
}
|
||||||
|
|
||||||
onExited: {
|
onExited: {
|
||||||
hover = false;
|
root.hover = false;
|
||||||
privateData.ry = 0
|
privateData.ry = 0
|
||||||
privateData.rx = 0
|
privateData.rx = 0
|
||||||
|
|
||||||
@ -157,19 +174,19 @@ Item {
|
|||||||
|
|
||||||
onPositionChanged: (mouse) => {
|
onPositionChanged: (mouse) => {
|
||||||
let fromCenter = root.width / 2
|
let fromCenter = root.width / 2
|
||||||
privateData.ry = -((mouse.x - fromCenter) / (fromCenter * 0.05)) * power
|
privateData.ry = -((mouse.x - fromCenter) / (fromCenter * 0.05)) * root.power
|
||||||
|
|
||||||
fromCenter = root.height / 2
|
fromCenter = root.height / 2
|
||||||
privateData.rx = ((mouse.y - fromCenter) / (fromCenter * 0.05)) * power
|
privateData.rx = ((mouse.y - fromCenter) / (fromCenter * 0.05)) * root.power
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onPressed: {
|
onPressed: {
|
||||||
presed = true;
|
root.presed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
onReleased: (mouse) => {
|
onReleased: (mouse) => {
|
||||||
presed = false;
|
root.presed = false;
|
||||||
|
|
||||||
root.clicked(mouse)
|
root.clicked(mouse)
|
||||||
}
|
}
|
||||||
|
@ -37,8 +37,7 @@ class VIEWSOLUTION_EXPORT iGUITokensModel: public QObject, public iModel
|
|||||||
Q_PROPERTY(QColor color_border_primary READ color_border_primary CONSTANT FINAL)
|
Q_PROPERTY(QColor color_border_primary READ color_border_primary CONSTANT FINAL)
|
||||||
Q_PROPERTY(QColor color_border_secondary READ color_border_secondary CONSTANT FINAL)
|
Q_PROPERTY(QColor color_border_secondary READ color_border_secondary CONSTANT FINAL)
|
||||||
Q_PROPERTY(QColor color_border_disabled READ color_border_disabled CONSTANT FINAL)
|
Q_PROPERTY(QColor color_border_disabled READ color_border_disabled CONSTANT FINAL)
|
||||||
Q_PROPERTY(QColor color_devider_dark READ color_devider_dark CONSTANT FINAL)
|
Q_PROPERTY(QColor color_devider READ color_devider CONSTANT FINAL)
|
||||||
Q_PROPERTY(QColor color_devider_white READ color_devider_white CONSTANT FINAL)
|
|
||||||
|
|
||||||
//states_colors_constants:
|
//states_colors_constants:
|
||||||
Q_PROPERTY(QColor pressed_focused READ pressed_focused CONSTANT FINAL)
|
Q_PROPERTY(QColor pressed_focused READ pressed_focused CONSTANT FINAL)
|
||||||
@ -89,8 +88,7 @@ public:
|
|||||||
virtual QColor color_border_primary() const = 0;
|
virtual QColor color_border_primary() const = 0;
|
||||||
virtual QColor color_border_secondary() const = 0;
|
virtual QColor color_border_secondary() const = 0;
|
||||||
virtual QColor color_border_disabled() const = 0;
|
virtual QColor color_border_disabled() const = 0;
|
||||||
virtual QColor color_devider_dark() const = 0;
|
virtual QColor color_devider() const = 0;
|
||||||
virtual QColor color_devider_white() const = 0;
|
|
||||||
|
|
||||||
virtual QColor pressed_focused() const = 0;
|
virtual QColor pressed_focused() const = 0;
|
||||||
virtual QColor hover() const = 0;
|
virtual QColor hover() const = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user