2020-05-19 19:49:52 +00:00
|
|
|
import QtQuick 2.7
|
|
|
|
|
|
|
|
import QtQuick.Controls 2.13
|
|
|
|
import QtQuick.Controls.Styles 1.4
|
|
|
|
import QtGraphicalEffects 1.12
|
|
|
|
import "." as Widgets
|
2020-05-19 20:25:56 +00:00
|
|
|
import "theme"
|
2020-05-19 19:49:52 +00:00
|
|
|
|
|
|
|
|
|
|
|
// ButtonTextField integrates a text field and a button
|
|
|
|
TextField {
|
|
|
|
id: tf
|
2020-08-28 22:08:33 +00:00
|
|
|
color: Theme.textfieldTextColor
|
2020-05-19 19:49:52 +00:00
|
|
|
font.pixelSize: Theme.secondaryTextSize * gcd.themeScale
|
|
|
|
width: parent.width - 20
|
2020-05-26 22:11:43 +00:00
|
|
|
|
2020-11-20 00:15:50 +00:00
|
|
|
// IMPORTANT: Setting a dynamic height on the internal button widget caused it to crash on Android when
|
|
|
|
// resized (smaller), so we set an explicit height on TextField which seems to resolve the issue.
|
|
|
|
height: font.pixelSize + 20
|
2020-05-19 19:49:52 +00:00
|
|
|
property string icon
|
|
|
|
property string button_text
|
|
|
|
signal clicked
|
|
|
|
smooth: true
|
|
|
|
property color dropShadowColor: Theme.dropShadowColor
|
|
|
|
|
|
|
|
background: Rectangle {
|
|
|
|
radius: 10
|
2020-08-28 22:08:33 +00:00
|
|
|
color: Theme.textfieldBackgroundColor
|
|
|
|
border.color: Theme.textfieldBorderColor
|
2020-05-19 19:49:52 +00:00
|
|
|
layer.enabled: true
|
|
|
|
layer.effect: DropShadow {
|
|
|
|
transparentBorder: true
|
|
|
|
horizontalOffset: 4
|
|
|
|
verticalOffset: 4
|
|
|
|
samples:10
|
|
|
|
color: tf.dropShadowColor
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Widgets.Button {
|
|
|
|
icon: ""
|
|
|
|
text: button_text
|
|
|
|
anchors { top: parent.top; right: parent.right }
|
|
|
|
override_radius: 10
|
2020-05-26 22:11:43 +00:00
|
|
|
height: parent.height;
|
2020-05-19 19:49:52 +00:00
|
|
|
|
2020-08-28 22:08:33 +00:00
|
|
|
inactiveColor: Theme.textfieldButtonColor
|
|
|
|
activeColor: Theme.textfieldButtonColor
|
|
|
|
textColor: Theme.textfieldButtonTextColor
|
|
|
|
|
2020-05-19 19:49:52 +00:00
|
|
|
onClicked: {
|
|
|
|
parent.focus = true;
|
|
|
|
parent.clicked();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|