NTextInput: simplified code in an attempt to fix text selection issues with mouse.
Not fixed yet, but I know where the conflict is!
This commit is contained in:
parent
56fedcf495
commit
3140039ccb
5 changed files with 81 additions and 92 deletions
|
|
@ -243,15 +243,9 @@ NPanel {
|
||||||
anchors.margins: Style.marginL * scaling
|
anchors.margins: Style.marginL * scaling
|
||||||
spacing: Style.marginM * scaling
|
spacing: Style.marginM * scaling
|
||||||
|
|
||||||
Item {
|
|
||||||
id: searchInputWrap
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.preferredHeight: Math.round(Style.barHeight * scaling)
|
|
||||||
|
|
||||||
NTextInput {
|
NTextInput {
|
||||||
id: searchInput
|
id: searchInput
|
||||||
anchors.fill: parent
|
Layout.fillWidth: true
|
||||||
inputMaxWidth: Number.MAX_SAFE_INTEGER
|
|
||||||
|
|
||||||
fontSize: Style.fontSizeL * scaling
|
fontSize: Style.fontSizeL * scaling
|
||||||
fontWeight: Style.fontWeightSemiBold
|
fontWeight: Style.fontWeightSemiBold
|
||||||
|
|
@ -291,7 +285,6 @@ NPanel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Results list
|
// Results list
|
||||||
ListView {
|
ListView {
|
||||||
|
|
|
||||||
|
|
@ -477,8 +477,7 @@ NPanel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceComponent: ColumnLayout {
|
sourceComponent: ScrollView {
|
||||||
ScrollView {
|
|
||||||
id: scrollView
|
id: scrollView
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
|
|
@ -505,4 +504,3 @@ NPanel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,11 @@ ColumnLayout {
|
||||||
fallbackIcon: "person"
|
fallbackIcon: "person"
|
||||||
borderColor: Color.mPrimary
|
borderColor: Color.mPrimary
|
||||||
borderWidth: Math.max(1, Style.borderM * scaling)
|
borderWidth: Math.max(1, Style.borderM * scaling)
|
||||||
|
Layout.alignment: Qt.AlignTop
|
||||||
}
|
}
|
||||||
|
|
||||||
NTextInput {
|
NTextInput {
|
||||||
|
Layout.fillWidth: true
|
||||||
label: `${Quickshell.env("USER") || "user"}'s profile picture`
|
label: `${Quickshell.env("USER") || "user"}'s profile picture`
|
||||||
description: "Your profile picture that appears throughout the interface."
|
description: "Your profile picture that appears throughout the interface."
|
||||||
text: Settings.data.general.avatarImage
|
text: Settings.data.general.avatarImage
|
||||||
|
|
|
||||||
|
|
@ -278,7 +278,6 @@ ColumnLayout {
|
||||||
NTextInput {
|
NTextInput {
|
||||||
label: "Custom Interval"
|
label: "Custom Interval"
|
||||||
description: "Enter time as HH:MM (e.g., 01:30)."
|
description: "Enter time as HH:MM (e.g., 01:30)."
|
||||||
inputMaxWidth: 100 * scaling
|
|
||||||
text: {
|
text: {
|
||||||
const s = Settings.data.wallpaper.randomIntervalSec
|
const s = Settings.data.wallpaper.randomIntervalSec
|
||||||
const h = Math.floor(s / 3600)
|
const h = Math.floor(s / 3600)
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,6 @@ ColumnLayout {
|
||||||
property string description: ""
|
property string description: ""
|
||||||
property bool readOnly: false
|
property bool readOnly: false
|
||||||
property bool enabled: true
|
property bool enabled: true
|
||||||
property int inputMaxWidth: Math.round(420 * scaling)
|
|
||||||
property color labelColor: Color.mOnSurface
|
property color labelColor: Color.mOnSurface
|
||||||
property color descriptionColor: Color.mOnSurfaceVariant
|
property color descriptionColor: Color.mOnSurfaceVariant
|
||||||
property string fontFamily: Settings.data.ui.fontDefault
|
property string fontFamily: Settings.data.ui.fontDefault
|
||||||
|
|
@ -26,7 +25,6 @@ ColumnLayout {
|
||||||
signal editingFinished
|
signal editingFinished
|
||||||
|
|
||||||
spacing: Style.marginS * scaling
|
spacing: Style.marginS * scaling
|
||||||
implicitHeight: frame.height
|
|
||||||
|
|
||||||
NLabel {
|
NLabel {
|
||||||
label: root.label
|
label: root.label
|
||||||
|
|
@ -34,6 +32,7 @@ ColumnLayout {
|
||||||
labelColor: root.labelColor
|
labelColor: root.labelColor
|
||||||
descriptionColor: root.descriptionColor
|
descriptionColor: root.descriptionColor
|
||||||
visible: root.label !== "" || root.description !== ""
|
visible: root.label !== "" || root.description !== ""
|
||||||
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Container
|
// Container
|
||||||
|
|
@ -42,50 +41,48 @@ ColumnLayout {
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.minimumWidth: 80 * scaling
|
Layout.minimumWidth: 80 * scaling
|
||||||
Layout.maximumWidth: root.inputMaxWidth
|
|
||||||
|
|
||||||
implicitWidth: parent.width
|
|
||||||
implicitHeight: Style.baseWidgetSize * 1.1 * scaling
|
implicitHeight: Style.baseWidgetSize * 1.1 * scaling
|
||||||
|
|
||||||
radius: Style.radiusM * scaling
|
radius: Style.radiusM * scaling
|
||||||
color: Color.mSurface
|
color: Color.mSurface
|
||||||
border.color: Color.mOutline
|
border.color: input.activeFocus ? Color.mSecondary : Color.mOutline
|
||||||
border.width: Math.max(1, Style.borderS * scaling)
|
border.width: Math.max(1, Style.borderS * scaling)
|
||||||
|
|
||||||
// Focus ring
|
|
||||||
Rectangle {
|
|
||||||
anchors.fill: parent
|
|
||||||
radius: frame.radius
|
|
||||||
color: Color.transparent
|
|
||||||
border.color: input.activeFocus ? Color.mSecondary : Color.transparent
|
|
||||||
border.width: input.activeFocus ? Math.max(1, Style.borderS * scaling) : 0
|
|
||||||
|
|
||||||
Behavior on border.color {
|
Behavior on border.color {
|
||||||
ColorAnimation {
|
ColorAnimation {
|
||||||
duration: Style.animationFast
|
duration: Style.animationFast
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
RowLayout {
|
|
||||||
anchors.fill: parent
|
|
||||||
anchors.leftMargin: Style.marginM * scaling
|
|
||||||
anchors.rightMargin: Style.marginM * scaling
|
|
||||||
spacing: Style.marginS * scaling
|
|
||||||
|
|
||||||
TextField {
|
TextField {
|
||||||
id: input
|
id: input
|
||||||
Layout.fillWidth: true
|
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.leftMargin: Style.marginM * scaling
|
||||||
|
anchors.rightMargin: Style.marginM * scaling
|
||||||
|
|
||||||
|
verticalAlignment: TextInput.AlignVCenter
|
||||||
|
|
||||||
echoMode: TextInput.Normal
|
echoMode: TextInput.Normal
|
||||||
readOnly: root.readOnly
|
readOnly: root.readOnly
|
||||||
enabled: root.enabled
|
enabled: root.enabled
|
||||||
color: Color.mOnSurface
|
color: Color.mOnSurface
|
||||||
placeholderTextColor: Qt.alpha(Color.mOnSurfaceVariant, 0.6)
|
placeholderTextColor: Qt.alpha(Color.mOnSurfaceVariant, 0.6)
|
||||||
|
|
||||||
|
selectByMouse: true
|
||||||
|
|
||||||
|
topPadding: 0
|
||||||
|
bottomPadding: 0
|
||||||
|
leftPadding: 0
|
||||||
|
rightPadding: 0
|
||||||
|
|
||||||
background: null
|
background: null
|
||||||
font.family: fontFamily
|
|
||||||
font.pointSize: fontSize
|
font.family: root.fontFamily
|
||||||
font.weight: fontWeight
|
font.pointSize: root.fontSize
|
||||||
|
font.weight: root.fontWeight
|
||||||
|
|
||||||
onEditingFinished: root.editingFinished()
|
onEditingFinished: root.editingFinished()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue