Skip to content

Commit 455be5a

Browse files
committed
[models] update FontNameModel flags method to address qabstractmodelitemtester fail
1 parent c6cdd7d commit 455be5a

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/slice/models.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,14 @@ def headerData(self, section, orientation, role):
146146
return "Instance Values"
147147

148148
def flags(self, index):
149+
# Note: index validity checks in this block address qabstractitemmodeltester error:
150+
# QtWarningMsg: FAIL! flags == Qt::ItemIsDropEnabled || flags == 0 () returned FALSE (qabstractitemmodeltester.cpp:329)
151+
149152
# all indices are editable in this table
150-
return super().flags(index) | Qt.ItemIsEditable
153+
if index.isValid():
154+
return super().flags(index) | Qt.ItemIsEditable
155+
else:
156+
return super().flags(index)
151157

152158
def get_version(self):
153159
return self.font_version.split(";")[0]

tests/test_models_fontname.py

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from pathlib import Path
2+
3+
from PyQt5.QtWidgets import QTableView
4+
5+
from slice.models import FontNameModel, FontModel
6+
7+
8+
def get_font_model():
9+
return FontModel(Path("tests/assets/fonts/Recursive-VF.subset.ttf").resolve())
10+
11+
12+
def test_fontname_model_default(qtbot, qtmodeltester):
13+
tableview = QTableView()
14+
model = FontNameModel()
15+
tableview.setModel(model)
16+
qtbot.addWidget(tableview)
17+
# check model with default instantiation
18+
qtmodeltester.check(model)

0 commit comments

Comments
 (0)