Browse Source

Implement option to disable selections

Sometimes you don't want the user to be able to highlight certain rows.

Contributes to issue CURA-8686.
Ghostkeeper 3 years ago
parent
commit
a4ef86609f
2 changed files with 6 additions and 0 deletions
  1. 3 0
      plugins/DigitalLibrary/resources/qml/Table.qml
  2. 3 0
      resources/qml/TableView.qml

+ 3 - 0
plugins/DigitalLibrary/resources/qml/Table.qml

@@ -24,6 +24,7 @@ Item
     property alias model: tableView.model //A TableModel to display in this table. To use a ListModel for the rows, use "rows: listModel.items"
     property int currentRow: -1 //The selected row index.
     property var onDoubleClicked: function(row) {} //Something to execute when double clicked. Accepts one argument: The index of the row that was clicked on.
+    property bool allowSelection: true //Whether to allow the user to select items.
 
     Row
     {
@@ -134,6 +135,8 @@ Item
             MouseArea
             {
                 anchors.fill: parent
+
+                enabled: tableScrollView.allowSelection
                 onClicked:
                 {
                     tableScrollView.currentRow = row; //Select this row.

+ 3 - 0
resources/qml/TableView.qml

@@ -24,6 +24,7 @@ Item
     property alias model: tableView.model //A TableModel to display in this table. To use a ListModel for the rows, use "rows: listModel.items"
     property int currentRow: -1 //The selected row index.
     property var onDoubleClicked: function(row) {} //Something to execute when double clicked. Accepts one argument: The index of the row that was clicked on.
+    property bool allowSelection: true //Whether to allow the user to select items.
 
     Row
     {
@@ -134,6 +135,8 @@ Item
             MouseArea
             {
                 anchors.fill: parent
+
+                enabled: tableScrollView.allowSelection
                 onClicked:
                 {
                     tableScrollView.currentRow = row; //Select this row.