From 0f0c9eacb1110fabc4a365740f463b2c5e88ff1e Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 21 Feb 2023 16:47:30 +0100 Subject: [PATCH] Rename custom to extensions to avoid import issues --- novelwriter/dialogs/docmerge.py | 4 +-- novelwriter/dialogs/docsplit.py | 4 +-- novelwriter/dialogs/preferences.py | 6 ++-- novelwriter/dialogs/projdetails.py | 4 +-- novelwriter/dialogs/projsettings.py | 6 ++-- .../{custom => extensions}/__init__.py | 0 .../{custom => extensions}/configlayout.py | 0 .../{custom => extensions}/pageddialog.py | 0 .../{custom => extensions}/pagedsidebar.py | 29 ++++++++++++++++--- novelwriter/{custom => extensions}/switch.py | 0 novelwriter/tools/build.py | 2 +- novelwriter/tools/lipsum.py | 2 +- novelwriter/tools/projwizard.py | 2 +- novelwriter/tools/writingstats.py | 2 +- 14 files changed, 41 insertions(+), 20 deletions(-) rename novelwriter/{custom => extensions}/__init__.py (100%) rename novelwriter/{custom => extensions}/configlayout.py (100%) rename novelwriter/{custom => extensions}/pageddialog.py (100%) rename novelwriter/{custom => extensions}/pagedsidebar.py (64%) rename novelwriter/{custom => extensions}/switch.py (100%) diff --git a/novelwriter/dialogs/docmerge.py b/novelwriter/dialogs/docmerge.py index 30e42345..db2099e0 100644 --- a/novelwriter/dialogs/docmerge.py +++ b/novelwriter/dialogs/docmerge.py @@ -33,8 +33,8 @@ from PyQt5.QtWidgets import ( QListWidget, QListWidgetItem, QVBoxLayout, ) -from novelwriter.custom.switch import NSwitch -from novelwriter.custom.configlayout import NHelpLabel +from novelwriter.extensions.switch import NSwitch +from novelwriter.extensions.configlayout import NHelpLabel logger = logging.getLogger(__name__) diff --git a/novelwriter/dialogs/docsplit.py b/novelwriter/dialogs/docsplit.py index 6e534390..f4fb8327 100644 --- a/novelwriter/dialogs/docsplit.py +++ b/novelwriter/dialogs/docsplit.py @@ -33,8 +33,8 @@ from PyQt5.QtWidgets import ( QListWidgetItem, QDialogButtonBox, QLabel, QGridLayout ) -from novelwriter.custom.switch import NSwitch -from novelwriter.custom.configlayout import NHelpLabel +from novelwriter.extensions.switch import NSwitch +from novelwriter.extensions.configlayout import NHelpLabel logger = logging.getLogger(__name__) diff --git a/novelwriter/dialogs/preferences.py b/novelwriter/dialogs/preferences.py index fff952ad..c450e455 100644 --- a/novelwriter/dialogs/preferences.py +++ b/novelwriter/dialogs/preferences.py @@ -33,10 +33,10 @@ from PyQt5.QtWidgets import ( QLineEdit, QFileDialog, QFontDialog, QDoubleSpinBox ) -from novelwriter.custom.switch import NSwitch -from novelwriter.custom.pageddialog import NPagedDialog -from novelwriter.custom.configlayout import NConfigLayout from novelwriter.dialogs.quotes import GuiQuoteSelect +from novelwriter.extensions.switch import NSwitch +from novelwriter.extensions.pageddialog import NPagedDialog +from novelwriter.extensions.configlayout import NConfigLayout logger = logging.getLogger(__name__) diff --git a/novelwriter/dialogs/projdetails.py b/novelwriter/dialogs/projdetails.py index 02a31478..d286b044 100644 --- a/novelwriter/dialogs/projdetails.py +++ b/novelwriter/dialogs/projdetails.py @@ -36,9 +36,9 @@ from PyQt5.QtWidgets import ( from novelwriter.common import formatTime, numberToRoman from novelwriter.constants import nwUnicode -from novelwriter.custom.switch import NSwitch -from novelwriter.custom.pageddialog import NPagedDialog from novelwriter.gui.components import NovelSelector +from novelwriter.extensions.switch import NSwitch +from novelwriter.extensions.pageddialog import NPagedDialog logger = logging.getLogger(__name__) diff --git a/novelwriter/dialogs/projsettings.py b/novelwriter/dialogs/projsettings.py index b406701f..11fc0e00 100644 --- a/novelwriter/dialogs/projsettings.py +++ b/novelwriter/dialogs/projsettings.py @@ -35,9 +35,9 @@ from PyQt5.QtWidgets import ( from novelwriter.enum import nwAlert from novelwriter.common import simplified -from novelwriter.custom.switch import NSwitch -from novelwriter.custom.pageddialog import NPagedDialog -from novelwriter.custom.configlayout import NConfigLayout +from novelwriter.extensions.switch import NSwitch +from novelwriter.extensions.pageddialog import NPagedDialog +from novelwriter.extensions.configlayout import NConfigLayout logger = logging.getLogger(__name__) diff --git a/novelwriter/custom/__init__.py b/novelwriter/extensions/__init__.py similarity index 100% rename from novelwriter/custom/__init__.py rename to novelwriter/extensions/__init__.py diff --git a/novelwriter/custom/configlayout.py b/novelwriter/extensions/configlayout.py similarity index 100% rename from novelwriter/custom/configlayout.py rename to novelwriter/extensions/configlayout.py diff --git a/novelwriter/custom/pageddialog.py b/novelwriter/extensions/pageddialog.py similarity index 100% rename from novelwriter/custom/pageddialog.py rename to novelwriter/extensions/pageddialog.py diff --git a/novelwriter/custom/pagedsidebar.py b/novelwriter/extensions/pagedsidebar.py similarity index 64% rename from novelwriter/custom/pagedsidebar.py rename to novelwriter/extensions/pagedsidebar.py index 485d71a7..e4c70348 100644 --- a/novelwriter/custom/pagedsidebar.py +++ b/novelwriter/extensions/pagedsidebar.py @@ -25,7 +25,7 @@ along with this program. If not, see . """ from PyQt5.QtCore import Qt -from PyQt5.QtWidgets import QToolBar, QToolButton +from PyQt5.QtWidgets import QActionGroup, QSizePolicy, QToolBar, QToolButton, QWidget class NPagedSideBar(QToolBar): @@ -34,21 +34,38 @@ class NPagedSideBar(QToolBar): super().__init__(parent=parent) self._buttons = [] + self._actions = [] + self._group = QActionGroup(self) + self._group.setExclusive(True) self.setMovable(False) self.setOrientation(Qt.Vertical) + stretch = QWidget(self) + stretch.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) + self._stretchAction = self.addWidget(stretch) + return - def addLabel(self, text): + def addLabel(self, text, height): """Add a new label to the toolbar. """ return - def addButton(self, text): + def addButton(self, text, height): """Add a new button to the toolbar. """ - return + button = NToolLabelButton(self) + button.setFixedHeight(height) + button.setText(text) + + action = self.insertWidget(self._stretchAction, button) + self._group.addAction(action) + + self._buttons.append(button) + self._actions.append(action) + + return action # END Class NPagedSideBar @@ -57,6 +74,10 @@ class NToolLabelButton(QToolButton): def __init__(self, parent): super().__init__(parent=parent) + + self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed) + self.setCheckable(True) + return # END Class NToolLabelButton diff --git a/novelwriter/custom/switch.py b/novelwriter/extensions/switch.py similarity index 100% rename from novelwriter/custom/switch.py rename to novelwriter/extensions/switch.py diff --git a/novelwriter/tools/build.py b/novelwriter/tools/build.py index c1cdf291..b90893b2 100644 --- a/novelwriter/tools/build.py +++ b/novelwriter/tools/build.py @@ -50,7 +50,7 @@ from novelwriter.constants import nwConst, nwFiles from novelwriter.core.tomd import ToMarkdown from novelwriter.core.toodt import ToOdt from novelwriter.core.tohtml import ToHtml -from novelwriter.custom.switch import NSwitch +from novelwriter.extensions.switch import NSwitch logger = logging.getLogger(__name__) diff --git a/novelwriter/tools/lipsum.py b/novelwriter/tools/lipsum.py index e4db9f66..1047dd60 100644 --- a/novelwriter/tools/lipsum.py +++ b/novelwriter/tools/lipsum.py @@ -34,7 +34,7 @@ from PyQt5.QtWidgets import ( ) from novelwriter.common import readTextFile -from novelwriter.custom.switch import NSwitch +from novelwriter.extensions.switch import NSwitch logger = logging.getLogger(__name__) diff --git a/novelwriter/tools/projwizard.py b/novelwriter/tools/projwizard.py index 8fdf2c8c..da6a0578 100644 --- a/novelwriter/tools/projwizard.py +++ b/novelwriter/tools/projwizard.py @@ -34,7 +34,7 @@ from PyQt5.QtWidgets import ( ) from novelwriter.common import makeFileNameSafe -from novelwriter.custom.switch import NSwitch +from novelwriter.extensions.switch import NSwitch logger = logging.getLogger(__name__) diff --git a/novelwriter/tools/writingstats.py b/novelwriter/tools/writingstats.py index 93da7f63..cb2edcf8 100644 --- a/novelwriter/tools/writingstats.py +++ b/novelwriter/tools/writingstats.py @@ -41,7 +41,7 @@ from novelwriter.enum import nwAlert from novelwriter.error import formatException from novelwriter.common import formatTime, checkInt, checkIntTuple, minmax from novelwriter.constants import nwConst, nwFiles -from novelwriter.custom.switch import NSwitch +from novelwriter.extensions.switch import NSwitch logger = logging.getLogger(__name__)