فهرست منبع

Disable MultiEffect on all components for linuxfb compatibility

MultiEffect requires GPU compositing which doesn't work on linuxfb.
Removed from ModernControlButton and TableControlPage.
Also removed Menu transform which wasn't supported.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
tuanchris 1 ماه پیش
والد
کامیت
1a90cfb7ac
2فایلهای تغییر یافته به همراه22 افزوده شده و 23 حذف شده
  1. 19 16
      dune-weaver-touch/qml/components/ModernControlButton.qml
  2. 3 7
      dune-weaver-touch/qml/pages/TableControlPage.qml

+ 19 - 16
dune-weaver-touch/qml/components/ModernControlButton.qml

@@ -1,7 +1,7 @@
 import QtQuick 2.15
 import QtQuick 2.15
 import QtQuick.Controls 2.15
 import QtQuick.Controls 2.15
 import QtQuick.Layouts 1.15
 import QtQuick.Layouts 1.15
-import QtQuick.Effects
+// import QtQuick.Effects  // Disabled - causes issues on linuxfb
 
 
 Rectangle {
 Rectangle {
     property alias text: buttonLabel.text
     property alias text: buttonLabel.text
@@ -9,38 +9,41 @@ Rectangle {
     property color buttonColor: "#2196F3"
     property color buttonColor: "#2196F3"
     property bool enabled: true
     property bool enabled: true
     property int fontSize: 16
     property int fontSize: 16
-    
+
     signal clicked()
     signal clicked()
-    
+
     radius: 12
     radius: 12
     color: enabled ? buttonColor : "#E0E0E0"
     color: enabled ? buttonColor : "#E0E0E0"
     opacity: enabled ? 1.0 : 0.6
     opacity: enabled ? 1.0 : 0.6
-    
+    border.width: 1
+    border.color: Qt.darker(buttonColor, 1.2)
+
     // Gradient effect
     // Gradient effect
     gradient: Gradient {
     gradient: Gradient {
         GradientStop { position: 0; color: Qt.lighter(buttonColor, 1.1) }
         GradientStop { position: 0; color: Qt.lighter(buttonColor, 1.1) }
         GradientStop { position: 1; color: buttonColor }
         GradientStop { position: 1; color: buttonColor }
     }
     }
-    
+
     // Press animation
     // Press animation
     scale: mouseArea.pressed ? 0.95 : (mouseArea.containsMouse ? 1.02 : 1.0)
     scale: mouseArea.pressed ? 0.95 : (mouseArea.containsMouse ? 1.02 : 1.0)
-    
+
     Behavior on scale {
     Behavior on scale {
         NumberAnimation { duration: 150; easing.type: Easing.OutQuad }
         NumberAnimation { duration: 150; easing.type: Easing.OutQuad }
     }
     }
-    
+
     Behavior on color {
     Behavior on color {
         ColorAnimation { duration: 200 }
         ColorAnimation { duration: 200 }
     }
     }
-    
-    // Shadow effect
-    layer.enabled: true
-    layer.effect: MultiEffect {
-        shadowEnabled: true
-        shadowColor: "#25000000"
-        shadowBlur: 0.8
-        shadowVerticalOffset: 2
-    }
+
+    // Shadow effect - disabled on linuxfb (causes rendering issues)
+    // Using border instead for visual separation
+    // layer.enabled: true
+    // layer.effect: MultiEffect {
+    //     shadowEnabled: true
+    //     shadowColor: "#25000000"
+    //     shadowBlur: 0.8
+    //     shadowVerticalOffset: 2
+    // }
     
     
     RowLayout {
     RowLayout {
         anchors.centerIn: parent
         anchors.centerIn: parent

+ 3 - 7
dune-weaver-touch/qml/pages/TableControlPage.qml

@@ -1,7 +1,7 @@
 import QtQuick 2.15
 import QtQuick 2.15
 import QtQuick.Controls 2.15
 import QtQuick.Controls 2.15
 import QtQuick.Layouts 1.15
 import QtQuick.Layouts 1.15
-import QtQuick.Effects
+// import QtQuick.Effects  // Disabled - causes issues on linuxfb
 import "../components"
 import "../components"
 import "../components" as Components
 import "../components" as Components
 
 
@@ -186,12 +186,8 @@ Page {
                                     id: portMenu
                                     id: portMenu
                                     y: parent.height
                                     y: parent.height
 
 
-                                    // Rotate menu for Pi 5 linuxfb
-                                    transform: Rotation {
-                                        angle: typeof rotateDisplay !== 'undefined' && rotateDisplay ? 180 : 0
-                                        origin.x: portMenu.width / 2
-                                        origin.y: portMenu.height / 2
-                                    }
+                                    // Note: Menu rotation for Pi 5 handled differently
+                                    // transform property not well supported on Menu
 
 
                                     Repeater {
                                     Repeater {
                                         model: serialPorts
                                         model: serialPorts