Autoformatting + converted a bunch console.log to logger, hiding some extra logging
This commit is contained in:
parent
c3515ddcc0
commit
a7b7c03877
11 changed files with 341 additions and 329 deletions
|
|
@ -114,7 +114,7 @@ NBox {
|
|||
id: widgetItem
|
||||
required property int index
|
||||
required property string modelData
|
||||
|
||||
|
||||
width: widgetContent.implicitWidth + 16 * scaling
|
||||
height: 40 * scaling
|
||||
radius: Style.radiusL * scaling
|
||||
|
|
@ -127,7 +127,7 @@ NBox {
|
|||
Drag.active: mouseArea.drag.active
|
||||
Drag.hotSpot.x: width / 2
|
||||
Drag.hotSpot.y: height / 2
|
||||
|
||||
|
||||
// Store the widget index for drag operations
|
||||
property int widgetIndex: index
|
||||
|
||||
|
|
@ -173,40 +173,40 @@ NBox {
|
|||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
drag.target: parent
|
||||
|
||||
|
||||
onPressed: {
|
||||
// Check if the click is on the close button area
|
||||
const closeButtonX = widgetContent.x + widgetContent.width - 20 * scaling
|
||||
const closeButtonY = widgetContent.y
|
||||
const closeButtonWidth = 20 * scaling
|
||||
const closeButtonHeight = 20 * scaling
|
||||
|
||||
if (mouseX >= closeButtonX && mouseX <= closeButtonX + closeButtonWidth &&
|
||||
mouseY >= closeButtonY && mouseY <= closeButtonY + closeButtonHeight) {
|
||||
|
||||
if (mouseX >= closeButtonX && mouseX <= closeButtonX + closeButtonWidth && mouseY >= closeButtonY
|
||||
&& mouseY <= closeButtonY + closeButtonHeight) {
|
||||
// Click is on the close button, don't start drag
|
||||
mouse.accepted = false
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Logger.log("NWidgetCard", `Started dragging widget: ${modelData} at index ${index}`)
|
||||
// Bring to front when starting drag
|
||||
widgetItem.z = 1000
|
||||
}
|
||||
|
||||
|
||||
onReleased: {
|
||||
Logger.log("NWidgetCard", `Released widget: ${modelData} at index ${index}`)
|
||||
// Reset z-index when drag ends
|
||||
widgetItem.z = 0
|
||||
|
||||
|
||||
// Get the global mouse position
|
||||
const globalDropX = mouseArea.mouseX + widgetItem.x + widgetFlow.x
|
||||
const globalDropY = mouseArea.mouseY + widgetItem.y + widgetFlow.y
|
||||
|
||||
|
||||
// Find which widget the drop position is closest to
|
||||
let targetIndex = -1
|
||||
let minDistance = Infinity
|
||||
|
||||
for (let i = 0; i < widgetModel.length; i++) {
|
||||
|
||||
for (var i = 0; i < widgetModel.length; i++) {
|
||||
if (i !== index) {
|
||||
// Get the position of other widgets
|
||||
const otherWidget = widgetFlow.children[i]
|
||||
|
|
@ -214,13 +214,11 @@ NBox {
|
|||
// Calculate the center of the other widget
|
||||
const otherCenterX = otherWidget.x + otherWidget.width / 2 + widgetFlow.x
|
||||
const otherCenterY = otherWidget.y + otherWidget.height / 2 + widgetFlow.y
|
||||
|
||||
|
||||
// Calculate distance to the center of this widget
|
||||
const distance = Math.sqrt(
|
||||
Math.pow(globalDropX - otherCenterX, 2) +
|
||||
Math.pow(globalDropY - otherCenterY, 2)
|
||||
)
|
||||
|
||||
const distance = Math.sqrt(Math.pow(globalDropX - otherCenterX,
|
||||
2) + Math.pow(globalDropY - otherCenterY, 2))
|
||||
|
||||
if (distance < minDistance) {
|
||||
minDistance = distance
|
||||
targetIndex = otherWidget.widgetIndex
|
||||
|
|
@ -228,12 +226,15 @@ NBox {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Only reorder if we found a valid target and it's different from current position
|
||||
if (targetIndex !== -1 && targetIndex !== index) {
|
||||
const fromIndex = index
|
||||
const toIndex = targetIndex
|
||||
Logger.log("NWidgetCard", `Dropped widget from index ${fromIndex} to position ${toIndex} (distance: ${minDistance.toFixed(2)})`)
|
||||
Logger.log(
|
||||
"NWidgetCard",
|
||||
`Dropped widget from index ${fromIndex} to position ${toIndex} (distance: ${minDistance.toFixed(
|
||||
2)})`)
|
||||
reorderWidget(sectionName.toLowerCase(), fromIndex, toIndex)
|
||||
} else {
|
||||
Logger.log("NWidgetCard", `No valid drop target found for widget at index ${index}`)
|
||||
|
|
@ -244,29 +245,29 @@ NBox {
|
|||
}
|
||||
}
|
||||
|
||||
// Drop zone at the beginning (positioned absolutely)
|
||||
DropArea {
|
||||
id: startDropZone
|
||||
width: 40 * scaling
|
||||
height: 40 * scaling
|
||||
x: widgetFlow.x
|
||||
y: widgetFlow.y + (widgetFlow.height - height) / 2
|
||||
keys: ["widget"]
|
||||
z: 1001 // Above the Flow
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: startDropZone.containsDrag ? Color.applyOpacity(Color.mPrimary, "20") : Color.transparent
|
||||
border.color: startDropZone.containsDrag ? Color.mPrimary : Color.transparent
|
||||
border.width: startDropZone.containsDrag ? 2 : 0
|
||||
radius: Style.radiusS * scaling
|
||||
}
|
||||
|
||||
onEntered: function(drag) {
|
||||
// Drop zone at the beginning (positioned absolutely)
|
||||
DropArea {
|
||||
id: startDropZone
|
||||
width: 40 * scaling
|
||||
height: 40 * scaling
|
||||
x: widgetFlow.x
|
||||
y: widgetFlow.y + (widgetFlow.height - height) / 2
|
||||
keys: ["widget"]
|
||||
z: 1001 // Above the Flow
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: startDropZone.containsDrag ? Color.applyOpacity(Color.mPrimary, "20") : Color.transparent
|
||||
border.color: startDropZone.containsDrag ? Color.mPrimary : Color.transparent
|
||||
border.width: startDropZone.containsDrag ? 2 : 0
|
||||
radius: Style.radiusS * scaling
|
||||
}
|
||||
|
||||
onEntered: function (drag) {
|
||||
Logger.log("NWidgetCard", "Entered start drop zone")
|
||||
}
|
||||
|
||||
onDropped: function(drop) {
|
||||
|
||||
onDropped: function (drop) {
|
||||
Logger.log("NWidgetCard", "Dropped on start zone")
|
||||
if (drop.source && drop.source.widgetIndex !== undefined) {
|
||||
const fromIndex = drop.source.widgetIndex
|
||||
|
|
@ -279,29 +280,29 @@ NBox {
|
|||
}
|
||||
}
|
||||
|
||||
// Drop zone at the end (positioned absolutely)
|
||||
DropArea {
|
||||
id: endDropZone
|
||||
width: 40 * scaling
|
||||
height: 40 * scaling
|
||||
x: widgetFlow.x + widgetFlow.width - width
|
||||
y: widgetFlow.y + (widgetFlow.height - height) / 2
|
||||
keys: ["widget"]
|
||||
z: 1001 // Above the Flow
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: endDropZone.containsDrag ? Color.applyOpacity(Color.mPrimary, "20") : Color.transparent
|
||||
border.color: endDropZone.containsDrag ? Color.mPrimary : Color.transparent
|
||||
border.width: endDropZone.containsDrag ? 2 : 0
|
||||
radius: Style.radiusS * scaling
|
||||
}
|
||||
|
||||
onEntered: function(drag) {
|
||||
// Drop zone at the end (positioned absolutely)
|
||||
DropArea {
|
||||
id: endDropZone
|
||||
width: 40 * scaling
|
||||
height: 40 * scaling
|
||||
x: widgetFlow.x + widgetFlow.width - width
|
||||
y: widgetFlow.y + (widgetFlow.height - height) / 2
|
||||
keys: ["widget"]
|
||||
z: 1001 // Above the Flow
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: endDropZone.containsDrag ? Color.applyOpacity(Color.mPrimary, "20") : Color.transparent
|
||||
border.color: endDropZone.containsDrag ? Color.mPrimary : Color.transparent
|
||||
border.width: endDropZone.containsDrag ? 2 : 0
|
||||
radius: Style.radiusS * scaling
|
||||
}
|
||||
|
||||
onEntered: function (drag) {
|
||||
Logger.log("NWidgetCard", "Entered end drop zone")
|
||||
}
|
||||
|
||||
onDropped: function(drop) {
|
||||
|
||||
onDropped: function (drop) {
|
||||
Logger.log("NWidgetCard", "Dropped on end zone")
|
||||
if (drop.source && drop.source.widgetIndex !== undefined) {
|
||||
const fromIndex = drop.source.widgetIndex
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue