diff --git a/src/controls/TableView.qml b/src/controls/TableView.qml index cf12ed01bc8a3a5a7780c04ab89e6d6c3edd2553..56c27fdebf0b0ee112824abb05e2f08a2baef92a 100644 --- a/src/controls/TableView.qml +++ b/src/controls/TableView.qml @@ -216,7 +216,9 @@ ScrollView { property alias section: listView.section /*! \qmlproperty int TableView::currentRow - The current row index of the view. */ + The current row index of the view. + The default value is \c -1 to indicate that no row is selected. + */ property alias currentRow: listView.currentIndex /*! \qmlsignal TableView::activated() @@ -255,6 +257,7 @@ ScrollView { activeFocusOnTab: true anchors.topMargin: tableHeader.height anchors.fill: parent + currentIndex: -1 flickableDirection: Flickable.HorizontalFlick SystemPalette { diff --git a/tests/auto/controls/data/tableview/table1_qobjectmodel.qml b/tests/auto/controls/data/tableview/table1_qobjectmodel.qml index 4b26f66ddd24c272cac98705e38c4afea080dec7..f058de00cfa59389445eda34f944569ecf72bea2 100644 --- a/tests/auto/controls/data/tableview/table1_qobjectmodel.qml +++ b/tests/auto/controls/data/tableview/table1_qobjectmodel.qml @@ -45,6 +45,7 @@ import QtQuickControlsTests 1.0 TableView { model: TestObject {} height: 70 + currentRow: 0 TableViewColumn { role: "value" width: 100 diff --git a/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml b/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml index bc3da2328c37dfaaa680fda6ec2e75f6acc07756..514a57c821af48f65d09de5ba9f3906973831506 100644 --- a/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml +++ b/tests/auto/controls/data/tableview/table2_qabstractitemmodel.qml @@ -45,6 +45,7 @@ import QtQuickControlsTests 1.0 TableView { model: TestItemModel {} height: 70 + currentRow: 0 TableViewColumn { role: "test" width: 100 diff --git a/tests/auto/controls/data/tableview/table3_qobjectlist.qml b/tests/auto/controls/data/tableview/table3_qobjectlist.qml index f3f64327ed6706d3888a38aeb8b5a4aedfb0f8d3..76008e8f18a98db5bcd44b17ba94473dfa261e19 100644 --- a/tests/auto/controls/data/tableview/table3_qobjectlist.qml +++ b/tests/auto/controls/data/tableview/table3_qobjectlist.qml @@ -44,6 +44,7 @@ import QtQuickControlsTests 1.0 TableView { model: model_qobjectlist + currentRow: 0 height: 70 TableViewColumn { role: "value" diff --git a/tests/auto/controls/data/tableview/table4_qstringlist.qml b/tests/auto/controls/data/tableview/table4_qstringlist.qml index 75840499a1669e0790506e90256426eb41aa95a8..94f86156a08ec27c06bf8f6295df27a96c1308cb 100644 --- a/tests/auto/controls/data/tableview/table4_qstringlist.qml +++ b/tests/auto/controls/data/tableview/table4_qstringlist.qml @@ -45,6 +45,7 @@ import QtQuickControlsTests 1.0 TableView { model: model_qstringlist height: 70 + currentRow: 0 TableViewColumn { width: 100 } diff --git a/tests/auto/controls/data/tableview/table5_listmodel.qml b/tests/auto/controls/data/tableview/table5_listmodel.qml index c0e46abcbbe509ae59678e2e5f3a031cf508b953..e8074201e7fe220a362ea2de71abca0d9cfd2dc9 100644 --- a/tests/auto/controls/data/tableview/table5_listmodel.qml +++ b/tests/auto/controls/data/tableview/table5_listmodel.qml @@ -42,6 +42,7 @@ import QtQuick 2.1 import QtQuick.Controls 1.0 TableView { + currentRow: 0 model: ListModel { ListElement { value: "A" } diff --git a/tests/auto/controls/data/tableview/table6_countmodel.qml b/tests/auto/controls/data/tableview/table6_countmodel.qml index 995de48527868f1b34ec95176fbddd71c7c13938..4a7073d4b3e9684c382f711912f0ff69b0f92329 100644 --- a/tests/auto/controls/data/tableview/table6_countmodel.qml +++ b/tests/auto/controls/data/tableview/table6_countmodel.qml @@ -44,6 +44,7 @@ import QtQuick.Controls 1.0 TableView { model: 3 // qml height: 70 + currentRow: 0 TableViewColumn { width: 100 } diff --git a/tests/auto/controls/data/tableview/table7_arraymodel.qml b/tests/auto/controls/data/tableview/table7_arraymodel.qml index d3483ddcb1b262eb3ef0e57ab12e513aee09bf44..d794e170cba5ad1304977e9b3c958592a596dfe9 100644 --- a/tests/auto/controls/data/tableview/table7_arraymodel.qml +++ b/tests/auto/controls/data/tableview/table7_arraymodel.qml @@ -44,6 +44,7 @@ import QtQuick.Controls 1.0 TableView { model: ["A", "B", "C"] // qml height: 70 + currentRow: 0 TableViewColumn { width: 100 } diff --git a/tests/auto/controls/data/tableview/table8_itemmodel.qml b/tests/auto/controls/data/tableview/table8_itemmodel.qml index 081f1d61b13e16f184ee82f85f09d7caef6b2e88..c39ae5335636d06fc3201041cc4d8b323adc64cf 100644 --- a/tests/auto/controls/data/tableview/table8_itemmodel.qml +++ b/tests/auto/controls/data/tableview/table8_itemmodel.qml @@ -44,6 +44,7 @@ import QtQuick.Controls 1.0 TableView { model: Item { x: 10 }// qml height: 70 + currentRow: 0 TableViewColumn { role: "x" width: 100 diff --git a/tests/auto/controls/data/tst_tableview.qml b/tests/auto/controls/data/tst_tableview.qml index 4bdf15dbcc9b72b62974022e2cf21263d418eee3..b03d58fe00f358a8c7dd744020eb40bc7344e084 100644 --- a/tests/auto/controls/data/tst_tableview.qml +++ b/tests/auto/controls/data/tst_tableview.qml @@ -64,6 +64,29 @@ TestCase { ] } + function test_basic_setup() { + var test_instanceStr = + 'import QtQuick 2.1; \ + import QtQuick.Controls 1.0; \ + TableView { \ + TableViewColumn { \ + } \ + model: 10 \ + }' + + var table = Qt.createQmlObject(test_instanceStr, testCase, '') + compare(table.currentRow, -1) + verify(table.rowCount === 10) + verify (table.currentRowItem === null) + table.currentRow = 0 + verify(table.currentRowItem !== null) + verify (table.currentRow === 0) + table.currentRow = 3 + verify(table.currentRowItem !== null) + verify (table.currentRow === 3) + table.destroy() + } + function test_usingqmlmodel(data) { var component = Qt.createComponent(data.a)