diff --git a/novelwriter/extensions/novelselector.py b/novelwriter/extensions/novelselector.py index 793a475d..44e5bf23 100644 --- a/novelwriter/extensions/novelselector.py +++ b/novelwriter/extensions/novelselector.py @@ -66,14 +66,10 @@ class NovelSelector(QComboBox): def setHandle(self, tHandle: str | None, blockSignal: bool = True) -> None: """Set the currently selected handle.""" - self._blockSignal = blockSignal - if tHandle is None: - index = self.count() - 1 - else: - index = self.findData(tHandle) - if index >= 0: + if (index := self.findData(tHandle) if tHandle else (self.count() - 1)) >= 0: + self._blockSignal = blockSignal self.setCurrentIndex(index) - self._blockSignal = False + self._blockSignal = False return def setIncludeAll(self, value: bool) -> None: diff --git a/novelwriter/extensions/pagedsidebar.py b/novelwriter/extensions/pagedsidebar.py index 185b4d8a..082e8a2a 100644 --- a/novelwriter/extensions/pagedsidebar.py +++ b/novelwriter/extensions/pagedsidebar.py @@ -45,10 +45,9 @@ class NPagedSideBar(QToolBar): def __init__(self, parent: QWidget) -> None: super().__init__(parent=parent) - self._buttons = [] - self._actions = [] self._labelCol = None self._spacerHeight = self.fontMetrics().height() // 2 + self._buttons: dict[int, _NPagedToolButton] = {} self._group = QButtonGroup(self) self._group.setExclusive(True) @@ -95,8 +94,7 @@ class NPagedSideBar(QToolBar): action = self.insertWidget(self._stretchAction, button) self._group.addButton(button, id=buttonId) - self._buttons.append(button) - self._actions.append(action) + self._buttons[buttonId] = button return action diff --git a/novelwriter/tools/noveldetails.py b/novelwriter/tools/noveldetails.py index 9139a655..3fcd54cc 100644 --- a/novelwriter/tools/noveldetails.py +++ b/novelwriter/tools/noveldetails.py @@ -78,7 +78,9 @@ class GuiNovelDetails(QDialog): # Novel Selector self.novelSelector = NovelSelector(self) self.novelSelector.refreshNovelList() - self.novelSelector.setHandle(options.getString("GuiNovelDetails", "novelRoot", "")) + self.novelSelector.setHandle( + options.getString("GuiNovelDetails", "novelRoot", self.novelSelector.firstHandle or "") + ) # SideBar self.sidebar = NPagedSideBar(self) @@ -424,17 +426,6 @@ class _ContentsPage(QWidget): options.setValue("GuiNovelDetails", "clearDouble", self.dblValue.isChecked()) return - def getColumnSizes(self) -> list[int]: - """Return the column widths for the tree columns.""" - retVals = [ - self.tocTree.columnWidth(0), - self.tocTree.columnWidth(1), - self.tocTree.columnWidth(2), - self.tocTree.columnWidth(3), - self.tocTree.columnWidth(4), - ] - return retVals - ## # Public Slots ##