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