Fix Qt.UserRole access warning

This commit is contained in:
Veronica Berglyd Olsen
2023-06-05 00:08:11 +02:00
parent 033b9f2a59
commit 2f0ac4fe17
12 changed files with 51 additions and 41 deletions
+4 -2
View File
@@ -41,6 +41,8 @@ logger = logging.getLogger(__name__)
class GuiDocMerge(QDialog):
D_HANDLE = Qt.ItemDataRole.UserRole
def __init__(self, mainGui, sHandle, itemList):
super().__init__(parent=mainGui)
@@ -122,7 +124,7 @@ class GuiDocMerge(QDialog):
for i in range(self.listBox.count()):
item = self.listBox.item(i)
if item is not None and item.checkState() == Qt.Checked:
finalItems.append(item.data(Qt.UserRole))
finalItems.append(item.data(self.D_HANDLE))
self._data["moveToTrash"] = self.trashSwitch.isChecked()
self._data["finalItems"] = finalItems
@@ -166,7 +168,7 @@ class GuiDocMerge(QDialog):
newItem = QListWidgetItem()
newItem.setIcon(itemIcon)
newItem.setText(nwItem.itemName)
newItem.setData(Qt.UserRole, tHandle)
newItem.setData(self.D_HANDLE, tHandle)
newItem.setCheckState(Qt.Checked)
self.listBox.addItem(newItem)
+3 -3
View File
@@ -41,9 +41,9 @@ logger = logging.getLogger(__name__)
class GuiDocSplit(QDialog):
LINE_ROLE = Qt.UserRole
LEVEL_ROLE = Qt.UserRole + 1
LABEL_ROLE = Qt.UserRole + 2
LINE_ROLE = Qt.ItemDataRole.UserRole
LEVEL_ROLE = Qt.ItemDataRole.UserRole + 1
LABEL_ROLE = Qt.ItemDataRole.UserRole + 2
def __init__(self, mainGui, sHandle):
super().__init__(parent=mainGui)
+8 -6
View File
@@ -53,6 +53,8 @@ class GuiProjectLoad(QDialog):
C_COUNT = 1
C_TIME = 2
D_PATH = Qt.ItemDataRole.UserRole
def __init__(self, mainGui):
super().__init__(parent=mainGui)
@@ -167,7 +169,7 @@ class GuiProjectLoad(QDialog):
selItems = self.listBox.selectedItems()
if selItems:
self.openPath = selItems[0].data(self.C_NAME, Qt.UserRole)
self.openPath = selItems[0].data(self.C_NAME, self.D_PATH)
self.openState = self.OPEN_STATE
self.accept()
@@ -178,7 +180,7 @@ class GuiProjectLoad(QDialog):
"""
selList = self.listBox.selectedItems()
if selList:
self.selPath.setText(selList[0].data(self.C_NAME, Qt.UserRole))
self.selPath.setText(selList[0].data(self.C_NAME, self.D_PATH))
return
def _doBrowse(self):
@@ -232,7 +234,7 @@ class GuiProjectLoad(QDialog):
)
if msgYes:
CONFIG.recentProjects.remove(
selList[0].data(self.C_NAME, Qt.UserRole)
selList[0].data(self.C_NAME, self.D_PATH)
)
self._populateList()
@@ -274,12 +276,12 @@ class GuiProjectLoad(QDialog):
newItem = QTreeWidgetItem([""]*4)
newItem.setIcon(self.C_NAME, nwxIcon)
newItem.setText(self.C_NAME, title)
newItem.setData(self.C_NAME, Qt.UserRole, path)
newItem.setData(self.C_NAME, self.D_PATH, path)
newItem.setText(self.C_COUNT, formatInt(words))
newItem.setText(self.C_TIME, datetime.fromtimestamp(time).strftime("%x %X"))
newItem.setTextAlignment(self.C_NAME, Qt.AlignLeft | Qt.AlignVCenter)
newItem.setTextAlignment(self.C_NAME, Qt.AlignLeft | Qt.AlignVCenter)
newItem.setTextAlignment(self.C_COUNT, Qt.AlignRight | Qt.AlignVCenter)
newItem.setTextAlignment(self.C_TIME, Qt.AlignRight | Qt.AlignVCenter)
newItem.setTextAlignment(self.C_TIME, Qt.AlignRight | Qt.AlignVCenter)
newItem.setFont(self.C_TIME, self.mainTheme.guiFontFixed)
self.listBox.addTopLevelItem(newItem)
+3 -3
View File
@@ -277,9 +277,9 @@ class GuiProjectEditStatus(QWidget):
COL_LABEL = 0
COL_USAGE = 1
KEY_ROLE = Qt.UserRole
COL_ROLE = Qt.UserRole + 1
NUM_ROLE = Qt.UserRole + 2
KEY_ROLE = Qt.ItemDataRole.UserRole
COL_ROLE = Qt.ItemDataRole.UserRole + 1
NUM_ROLE = Qt.ItemDataRole.UserRole + 2
def __init__(self, projGui, isStatus):
super().__init__(parent=projGui)
+4 -2
View File
@@ -42,6 +42,8 @@ class GuiQuoteSelect(QDialog):
selectedQuote = ""
D_KEY = Qt.ItemDataRole.UserRole
def __init__(self, parent=None, currentQuote='"'):
super().__init__(parent=parent)
@@ -75,7 +77,7 @@ class GuiQuoteSelect(QDialog):
theText = "[ %s ] %s" % (sKey, trConst(sLabel))
minSize = max(minSize, qMetrics.boundingRect(theText).width())
qtItem = QListWidgetItem(theText)
qtItem.setData(Qt.UserRole, sKey)
qtItem.setData(self.D_KEY, sKey)
self.listBox.addItem(qtItem)
if sKey == currentQuote:
self.listBox.setCurrentItem(qtItem)
@@ -111,7 +113,7 @@ class GuiQuoteSelect(QDialog):
"""
selItems = self.listBox.selectedItems()
if selItems:
theSymbol = selItems[0].data(Qt.UserRole)
theSymbol = selItems[0].data(self.D_KEY)
self.previewLabel.setText(theSymbol)
self.selectedQuote = theSymbol
return
+16 -14
View File
@@ -383,14 +383,16 @@ class GuiNovelToolBar(QWidget):
class GuiNovelTree(QTreeWidget):
C_DATA = 0
C_TITLE = 0
C_WORDS = 1
C_EXTRA = 2
C_MORE = 3
D_HANDLE = Qt.UserRole
D_TITLE = Qt.UserRole + 1
D_KEY = Qt.UserRole + 2
D_HANDLE = Qt.ItemDataRole.UserRole
D_TITLE = Qt.ItemDataRole.UserRole + 1
D_KEY = Qt.ItemDataRole.UserRole + 2
D_EXTRA = Qt.ItemDataRole.UserRole + 3
def __init__(self, novelView):
super().__init__(parent=novelView)
@@ -527,7 +529,7 @@ class GuiNovelTree(QTreeWidget):
selItem = self.selectedItems()
titleKey = None
if selItem:
titleKey = selItem[0].data(self.C_TITLE, self.D_KEY)
titleKey = selItem[0].data(self.C_DATA, self.D_KEY)
self._populateTree(rootHandle)
self.theProject.data.setLastHandle(rootHandle, "novelTree")
@@ -564,8 +566,8 @@ class GuiNovelTree(QTreeWidget):
selList = self.selectedItems()
trItem = selList[0] if selList else self.currentItem()
if isinstance(trItem, QTreeWidgetItem):
tHandle = trItem.data(self.C_TITLE, self.D_HANDLE)
sTitle = trItem.data(self.C_TITLE, self.D_TITLE)
tHandle = trItem.data(self.C_DATA, self.D_HANDLE)
sTitle = trItem.data(self.C_DATA, self.D_TITLE)
return tHandle, sTitle
return None, None
@@ -596,7 +598,7 @@ class GuiNovelTree(QTreeWidget):
for i in range(self.topLevelItemCount()):
tItem = self.topLevelItem(i)
if tItem is not None:
if tItem.data(self.C_TITLE, self.D_HANDLE) == tHandle:
if tItem.data(self.C_DATA, self.D_HANDLE) == tHandle:
tItem.setBackground(self.C_TITLE, self.palette().alternateBase())
tItem.setBackground(self.C_WORDS, self.palette().alternateBase())
tItem.setBackground(self.C_EXTRA, self.palette().alternateBase())
@@ -659,7 +661,7 @@ class GuiNovelTree(QTreeWidget):
for i in range(self.topLevelItemCount()):
trItem = self.topLevelItem(i)
if isinstance(trItem, QTreeWidgetItem):
lastText = trItem.data(self.C_EXTRA, Qt.UserRole)
lastText = trItem.data(self.C_DATA, self.D_EXTRA)
trItem.setText(self.C_EXTRA, fMetric.elidedText(lastText, Qt.ElideRight, eliW))
return
@@ -672,8 +674,8 @@ class GuiNovelTree(QTreeWidget):
"""The user clicked on an item in the tree.
"""
if mIndex.column() == self.C_MORE:
tHandle = mIndex.siblingAtColumn(self.C_TITLE).data(self.D_HANDLE)
sTitle = mIndex.siblingAtColumn(self.C_TITLE).data(self.D_TITLE)
tHandle = mIndex.siblingAtColumn(self.C_DATA).data(self.D_HANDLE)
sTitle = mIndex.siblingAtColumn(self.C_DATA).data(self.D_TITLE)
tipPos = self.mapToGlobal(self.visualRect(mIndex).topRight())
self._popMetaBox(tipPos, tHandle, sTitle)
return
@@ -715,9 +717,9 @@ class GuiNovelTree(QTreeWidget):
continue
newItem = QTreeWidgetItem()
newItem.setData(self.C_TITLE, self.D_HANDLE, tHandle)
newItem.setData(self.C_TITLE, self.D_TITLE, sTitle)
newItem.setData(self.C_TITLE, self.D_KEY, tKey)
newItem.setData(self.C_DATA, self.D_HANDLE, tHandle)
newItem.setData(self.C_DATA, self.D_TITLE, sTitle)
newItem.setData(self.C_DATA, self.D_KEY, tKey)
newItem.setTextAlignment(self.C_WORDS, Qt.AlignRight)
self._updateTreeItemValues(newItem, novIdx, tHandle, sTitle)
@@ -748,7 +750,7 @@ class GuiNovelTree(QTreeWidget):
lastText, toolTip = self._getLastColumnText(tHandle, sTitle)
elideText = self.fontMetrics().elidedText(lastText, Qt.ElideRight, mW)
trItem.setText(self.C_EXTRA, elideText)
trItem.setData(self.C_EXTRA, Qt.UserRole, lastText)
trItem.setData(self.C_DATA, self.D_EXTRA, lastText)
trItem.setToolTip(self.C_EXTRA, toolTip)
return
+2 -2
View File
@@ -360,8 +360,8 @@ class GuiOutlineTree(QTreeWidget):
nwOutline.SYNOP: False,
}
D_HANDLE = Qt.UserRole
D_TITLE = Qt.UserRole + 1
D_HANDLE = Qt.ItemDataRole.UserRole
D_TITLE = Qt.ItemDataRole.UserRole + 1
hiddenStateChanged = pyqtSignal()
activeItemChanged = pyqtSignal(str, str)
+2 -2
View File
@@ -449,8 +449,8 @@ class GuiProjectTree(QTreeWidget):
C_ACTIVE = 2
C_STATUS = 3
D_HANDLE = Qt.UserRole
D_WORDS = Qt.UserRole + 1
D_HANDLE = Qt.ItemDataRole.UserRole
D_WORDS = Qt.ItemDataRole.UserRole + 1
def __init__(self, projView):
super().__init__(parent=projView)
+4 -2
View File
@@ -61,6 +61,8 @@ class GuiManuscript(QDialog):
a document directly to disk.
"""
D_KEY = Qt.ItemDataRole.UserRole
def __init__(self, mainGui: GuiMain):
super().__init__(parent=mainGui)
@@ -318,7 +320,7 @@ class GuiManuscript(QDialog):
"""Get the currently selected build."""
bItems = self.buildList.selectedItems()
if bItems:
build = self._builds.getBuild(bItems[0].data(Qt.UserRole))
build = self._builds.getBuild(bItems[0].data(self.D_KEY))
if isinstance(build, BuildSettings):
return build
return None
@@ -364,7 +366,7 @@ class GuiManuscript(QDialog):
for key, name in self._builds.builds():
bItem = QListWidgetItem()
bItem.setText(name)
bItem.setData(Qt.UserRole, key)
bItem.setData(self.D_KEY, key)
self.buildList.addItem(bItem)
self._buildMap[key] = bItem
return
+2 -2
View File
@@ -285,8 +285,8 @@ class _FilterTab(QWidget):
C_ACTIVE = 1
C_STATUS = 2
D_HANDLE = Qt.UserRole
D_FILE = Qt.UserRole + 1
D_HANDLE = Qt.ItemDataRole.UserRole
D_FILE = Qt.ItemDataRole.UserRole + 1
F_NONE = 0
F_FILTERED = 1
+2 -2
View File
@@ -52,8 +52,8 @@ def testDlgMerge_Main(qtbot, nwGUI, projPath, mockRnd):
itemOne = nwMerge.listBox.item(0)
itemTwo = nwMerge.listBox.item(1)
assert itemOne.data(Qt.UserRole) == C.hChapterDoc
assert itemTwo.data(Qt.UserRole) == C.hSceneDoc
assert itemOne.data(Qt.ItemDataRole.UserRole) == C.hChapterDoc
assert itemTwo.data(Qt.ItemDataRole.UserRole) == C.hSceneDoc
assert itemOne.checkState() == Qt.Checked
assert itemTwo.checkState() == Qt.Checked
+1 -1
View File
@@ -51,7 +51,7 @@ def testDlgLoadProject_Main(qtbot, monkeypatch, nwGUI, projPath):
assert recentCount > 0
selItem = nwLoad.listBox.topLevelItem(0)
selPath = selItem.data(nwLoad.C_NAME, Qt.UserRole)
selPath = selItem.data(nwLoad.C_NAME, Qt.ItemDataRole.UserRole)
assert isinstance(selItem, QTreeWidgetItem)
nwLoad.selPath.setText("")