Skip to content

Commit 97d0739

Browse files
committed
Fix regression in ValueEditor
Fix #5068 Fix #5066
1 parent bf60a8d commit 97d0739

File tree

9 files changed

+32
-32
lines changed

9 files changed

+32
-32
lines changed

src/app/models/key-models/hashkey.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ HashKeyModel::HashKeyModel(QSharedPointer<RedisClient::Connection> connection,
99
QString HashKeyModel::type() { return "hash"; }
1010

1111
QStringList HashKeyModel::getColumnNames() {
12-
return QStringList() << "row"
12+
return QStringList() << "rowNumber"
1313
<< "key"
1414
<< "value";
1515
}
1616

1717
QHash<int, QByteArray> HashKeyModel::getRoles() {
1818
QHash<int, QByteArray> roles;
19-
roles[Roles::RowNumber] = "row";
19+
roles[Roles::RowNumber] = "rowNumber";
2020
roles[Roles::Key] = "key";
2121
roles[Roles::Value] = "value";
2222
return roles;

src/app/models/key-models/listlikekey.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ ListLikeKeyModel::ListLikeKeyModel(
66
: KeyModel(connection, fullPath, dbIndex, ttl, rowsCountCmd, rowsLoadCmd) {}
77

88
QStringList ListLikeKeyModel::getColumnNames() {
9-
return QStringList() << "row"
9+
return QStringList() << "rowNumber"
1010
<< "value";
1111
}
1212

1313
QHash<int, QByteArray> ListLikeKeyModel::getRoles() {
1414
QHash<int, QByteArray> roles;
1515
roles[Roles::Value] = "value";
16-
roles[Roles::RowNumber] = "row";
16+
roles[Roles::RowNumber] = "rowNumber";
1717
return roles;
1818
}
1919

src/app/models/key-models/sortedsetkey.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ SortedSetKeyModel::SortedSetKeyModel(
1010
QString SortedSetKeyModel::type() { return "zset"; }
1111

1212
QStringList SortedSetKeyModel::getColumnNames() {
13-
return QStringList() << "row"
13+
return QStringList() << "rowNumber"
1414
<< "value"
1515
<< "score";
1616
}
1717

1818
QHash<int, QByteArray> SortedSetKeyModel::getRoles() {
1919
QHash<int, QByteArray> roles;
20-
roles[Roles::RowNumber] = "row";
20+
roles[Roles::RowNumber] = "rowNumber";
2121
roles[Roles::Value] = "value";
2222
roles[Roles::Score] = "score";
2323
return roles;

src/app/models/key-models/stream.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ StreamKeyModel::StreamKeyModel(
99
QString StreamKeyModel::type() { return "stream"; }
1010

1111
QStringList StreamKeyModel::getColumnNames() {
12-
return QStringList() << "row"
12+
return QStringList() << "rowNumber"
1313
<< "id"
1414
<< "value";
1515
}
1616

1717
QHash<int, QByteArray> StreamKeyModel::getRoles() {
1818
QHash<int, QByteArray> roles;
19-
roles[Roles::RowNumber] = "row";
19+
roles[Roles::RowNumber] = "rowNumber";
2020
roles[Roles::ID] = "id";
2121
roles[Roles::Value] = "value";
2222
return roles;

src/modules/common/sortfilterproxymodel.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,15 +96,6 @@ int SortFilterProxyModel::getOriginalRowIndex(int i)
9696
return mapToSource(proxyIndex).row();
9797
}
9898

99-
int SortFilterProxyModel::getProxyRowIndex(int i)
100-
{
101-
if (!sourceModel())
102-
return -1;
103-
104-
QModelIndex originalIndex = sourceModel()->index(i, 0);
105-
return mapFromSource(originalIndex).row();
106-
}
107-
10899
int SortFilterProxyModel::roleKey(const QByteArray &role) const
109100
{
110101
QHash<int, QByteArray> roles = roleNames();

src/modules/common/sortfilterproxymodel.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ class SortFilterProxyModel : public QSortFilterProxyModel, public QQmlParserStat
5050
void classBegin();
5151
void componentComplete();
5252

53-
Q_INVOKABLE int getOriginalRowIndex(int i);
54-
Q_INVOKABLE int getProxyRowIndex(int i);
53+
Q_INVOKABLE int getOriginalRowIndex(int i);
5554

5655
signals:
5756
void filterStringChanged();

src/qml/value-editor/ValueTable.qml

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@ Item {
5050

5151
BetterLabel {
5252
anchors.centerIn: parent
53-
text: modelData
53+
text: {
54+
if (modelData === "rowNumber") {
55+
return "#";
56+
} else {
57+
return modelData
58+
}
59+
}
5460
color: sysPalette.windowText
5561
}
5662

@@ -183,6 +189,7 @@ Item {
183189
reuseItems: false
184190
model: searchModel ? searchModel : null
185191

192+
// Proxy model row index from 0 to maxItemsOnPage
186193
property int currentRow: -1
187194
property var searchField
188195
property var currentStart: 0
@@ -266,14 +273,18 @@ Item {
266273
DelegateChoice {
267274
column: 0
268275

276+
277+
// NOTE: rowNumber - key model zero based index from 0 to rowsCount
278+
// NOTE: row - from 0 to pageSize
279+
269280
ValueTableCell {
270281
objectName: "rdm_value_table_cell_col1"
271282
implicitWidth: table.firstColumnWidth
272283
implicitHeight: 30
273-
text: Number(row) + 1
274-
selected: table.model.getOriginalRowIndex(table.currentRow) === row
284+
text: Number(rowNumber) + 1
285+
selected: table.currentRow === row
275286
onClicked: {
276-
table.currentRow = table.model.getProxyRowIndex(row)
287+
table.currentRow = row
277288
table.forceActiveFocus()
278289
}
279290
}
@@ -287,12 +298,9 @@ Item {
287298
implicitWidth: table.valueColumnWidth
288299
implicitHeight: 30
289300
text: renderText(display)
290-
selected: table.model.getOriginalRowIndex(table.currentRow) === row
301+
selected: table.currentRow === row
291302
onClicked: {
292-
table.currentRow = table.model.getProxyRowIndex(row)
293-
294-
console.log(table.model.getProxyRowIndex(row), row)
295-
303+
table.currentRow = row
296304
table.forceActiveFocus()
297305
}
298306
}
@@ -306,9 +314,9 @@ Item {
306314
implicitWidth: table.valueColumnWidth
307315
implicitHeight: 30
308316

309-
selected: table.model.getOriginalRowIndex(table.currentRow) === row
317+
selected: table.currentRow === row
310318
onClicked: {
311-
table.currentRow = table.model.getProxyRowIndex(row)
319+
table.currentRow = row
312320
table.forceActiveFocus()
313321
}
314322

@@ -430,7 +438,7 @@ Item {
430438
onCurrentRowChanged: {
431439
console.log("Current row in table changed: ", currentRow)
432440
if (currentRow >= 0) {
433-
valueEditor.loadRowValue(table.model.getOriginalRowIndex(currentRow))
441+
valueEditor.loadRowValue(currentStart + table.model.getOriginalRowIndex(currentRow))
434442
}
435443
}
436444
}

src/qml/value-editor/ValueTableActions.qml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ ColumnLayout {
113113

114114
console.log("removing row", table.currentRow)
115115

116-
deleteRowConfirmation.rowToDelete = table.currentRow
116+
deleteRowConfirmation.rowToDelete = table.model.getOriginalRowIndex(table.currentRow)
117117
deleteRowConfirmation.open()
118118
}
119119

src/qml/value-editor/ValueTabs.qml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,8 @@ Repeater {
349349

350350
Loader {
351351
id: valueEditor
352+
objectName: "rdm_value_editor_loader"
353+
352354
Layout.topMargin: 5
353355
Layout.fillWidth: true
354356
Layout.fillHeight: true

0 commit comments

Comments
 (0)