Update dialog buttons on all dialogs and tools

This commit is contained in:
Veronica Berglyd Olsen
2025-10-25 23:38:19 +02:00
parent 1b0c339845
commit c9c2b35455
16 changed files with 193 additions and 130 deletions
+7 -3
View File
@@ -33,10 +33,11 @@ from PyQt6.QtWidgets import (
from novelwriter import CONFIG, SHARED
from novelwriter.common import readTextFile
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.configlayout import NColorLabel
from novelwriter.extensions.modified import NDialog
from novelwriter.extensions.versioninfo import VersionInfoWidget
from novelwriter.types import QtAlignRightTop, QtDialogClose, QtHexArgb
from novelwriter.types import QtAlignRightTop, QtHexArgb
if TYPE_CHECKING:
from PyQt6.QtGui import QCloseEvent
@@ -82,8 +83,11 @@ class GuiAbout(NDialog):
self.txtCredits.setViewportMargins(0, 8, 8, 0)
# Buttons
self.btnBox = QDialogButtonBox(QtDialogClose, self)
self.btnBox.rejected.connect(self.reject)
self.btnClose = SHARED.theme.getStandardButton(nwStandardButton.CLOSE, self)
self.btnClose.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnClose, QDialogButtonBox.ButtonRole.RejectRole)
# Assemble
self.innerBox = QVBoxLayout()
+15 -8
View File
@@ -33,10 +33,11 @@ from PyQt6.QtWidgets import (
)
from novelwriter import SHARED
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.configlayout import NColorLabel
from novelwriter.extensions.modified import NDialog
from novelwriter.extensions.switch import NSwitch
from novelwriter.types import QtAccepted, QtDialogCancel, QtDialogOk, QtDialogReset, QtUserRole
from novelwriter.types import QtAccepted, QtUserRole
logger = logging.getLogger(__name__)
@@ -85,13 +86,19 @@ class GuiDocMerge(NDialog):
self.optBox.setColumnStretch(2, 1)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogOk | QtDialogCancel, self)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.btnOk = SHARED.theme.getStandardButton(nwStandardButton.OK, self)
self.btnOk.clicked.connect(self.accept)
self.resetButton = self.buttonBox.addButton(QtDialogReset)
if self.resetButton:
self.resetButton.clicked.connect(self._resetList)
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
self.btnCancel.clicked.connect(self.reject)
self.btnReset = SHARED.theme.getStandardButton(nwStandardButton.RESET, self)
self.btnReset.clicked.connect(self._resetList)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnOk, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
self.btnBox.addButton(self.btnReset, QDialogButtonBox.ButtonRole.ResetRole)
# Assemble
self.outerBox = QVBoxLayout()
@@ -103,7 +110,7 @@ class GuiDocMerge(NDialog):
self.outerBox.addSpacing(8)
self.outerBox.addLayout(self.optBox)
self.outerBox.addSpacing(12)
self.outerBox.addWidget(self.buttonBox)
self.outerBox.addWidget(self.btnBox)
self.setLayout(self.outerBox)
# Load Content
+12 -5
View File
@@ -33,10 +33,11 @@ from PyQt6.QtWidgets import (
)
from novelwriter import SHARED
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.configlayout import NColorLabel
from novelwriter.extensions.modified import NComboBox, NDialog
from novelwriter.extensions.switch import NSwitch
from novelwriter.types import QtAccepted, QtDialogCancel, QtDialogOk, QtUserRole
from novelwriter.types import QtAccepted, QtUserRole
logger = logging.getLogger(__name__)
@@ -117,9 +118,15 @@ class GuiDocSplit(NDialog):
self.optBox.setColumnStretch(3, 1)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogOk | QtDialogCancel, self)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.btnOk = SHARED.theme.getStandardButton(nwStandardButton.OK, self)
self.btnOk.clicked.connect(self.accept)
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
self.btnCancel.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnOk, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
# Assemble
self.outerBox = QVBoxLayout()
@@ -132,7 +139,7 @@ class GuiDocSplit(NDialog):
self.outerBox.addSpacing(8)
self.outerBox.addLayout(self.optBox)
self.outerBox.addSpacing(12)
self.outerBox.addWidget(self.buttonBox)
self.outerBox.addWidget(self.btnBox)
self.setLayout(self.outerBox)
# Load Content
+13 -5
View File
@@ -27,8 +27,10 @@ import logging
from PyQt6.QtWidgets import QDialogButtonBox, QHBoxLayout, QLabel, QLineEdit, QVBoxLayout, QWidget
from novelwriter import SHARED
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.modified import NDialog
from novelwriter.types import QtAccepted, QtDialogCancel, QtDialogOk
from novelwriter.types import QtAccepted
logger = logging.getLogger(__name__)
@@ -54,9 +56,15 @@ class GuiEditLabel(NDialog):
self.lblValue.setBuddy(self.lblValue)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogOk | QtDialogCancel, self)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.btnOk = SHARED.theme.getStandardButton(nwStandardButton.OK, self)
self.btnOk.clicked.connect(self.accept)
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
self.btnCancel.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnOk, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
# Assemble
self.innerBox = QHBoxLayout()
@@ -67,7 +75,7 @@ class GuiEditLabel(NDialog):
self.outerBox = QVBoxLayout()
self.outerBox.setSpacing(12)
self.outerBox.addLayout(self.innerBox, 1)
self.outerBox.addWidget(self.buttonBox, 0)
self.outerBox.addWidget(self.btnBox, 0)
self.setLayout(self.outerBox)
+12 -5
View File
@@ -38,13 +38,14 @@ from novelwriter.common import compact, describeFont, processDialogSymbols, uniq
from novelwriter.config import DEF_GUI_DARK, DEF_GUI_LIGHT, DEF_ICONS, DEF_TREECOL
from novelwriter.constants import nwLabels, nwQuotes, nwUnicode, trConst
from novelwriter.dialogs.quotes import GuiQuoteSelect
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.configlayout import NColorLabel, NScrollableForm
from novelwriter.extensions.modified import (
NComboBox, NDialog, NDoubleSpinBox, NIconToolButton, NSpinBox
)
from novelwriter.extensions.pagedsidebar import NPagedSideBar
from novelwriter.extensions.switch import NSwitch
from novelwriter.types import QtAlignCenter, QtDialogCancel, QtDialogSave
from novelwriter.types import QtAlignCenter
logger = logging.getLogger(__name__)
@@ -89,9 +90,15 @@ class GuiPreferences(NDialog):
self.mainForm.setHelpTextStyle(SHARED.theme.helpText)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogSave | QtDialogCancel, self)
self.buttonBox.accepted.connect(self._doSave)
self.buttonBox.rejected.connect(self.reject)
self.btnSave = SHARED.theme.getStandardButton(nwStandardButton.SAVE, self)
self.btnSave.clicked.connect(self._doSave)
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
self.btnCancel.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnSave, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
# Assemble
self.searchBox = QHBoxLayout()
@@ -107,7 +114,7 @@ class GuiPreferences(NDialog):
self.outerBox = QVBoxLayout()
self.outerBox.addLayout(self.searchBox)
self.outerBox.addLayout(self.mainBox)
self.outerBox.addWidget(self.buttonBox)
self.outerBox.addWidget(self.btnBox)
self.outerBox.setSpacing(8)
self.setLayout(self.outerBox)
+12 -9
View File
@@ -41,15 +41,12 @@ from novelwriter import CONFIG, SHARED
from novelwriter.common import formatFileFilter, qtAddAction, qtLambda, simplified
from novelwriter.constants import nwLabels, trConst
from novelwriter.core.status import CUSTOM_COL, NWStatus, StatusEntry
from novelwriter.enum import nwStatusShape
from novelwriter.enum import nwStandardButton, nwStatusShape
from novelwriter.extensions.configlayout import NColorLabel, NFixedPage, NScrollableForm
from novelwriter.extensions.modified import NComboBox, NDialog, NIconToolButton
from novelwriter.extensions.pagedsidebar import NPagedSideBar
from novelwriter.extensions.switch import NSwitch
from novelwriter.types import (
QtDialogCancel, QtDialogSave, QtSizeMinimum, QtSizeMinimumExpanding,
QtUserRole
)
from novelwriter.types import QtSizeMinimum, QtSizeMinimumExpanding, QtUserRole
logger = logging.getLogger(__name__)
@@ -95,9 +92,15 @@ class GuiProjectSettings(NDialog):
self.sidebar.buttonClicked.connect(self._sidebarClicked)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogSave | QtDialogCancel, self)
self.buttonBox.accepted.connect(self._doSave)
self.buttonBox.rejected.connect(self.reject)
self.btnSave = SHARED.theme.getStandardButton(nwStandardButton.SAVE, self)
self.btnSave.clicked.connect(self._doSave)
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
self.btnCancel.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnSave, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
# Content
SHARED.project.countStatus()
@@ -126,7 +129,7 @@ class GuiProjectSettings(NDialog):
self.outerBox = QVBoxLayout()
self.outerBox.addLayout(self.topBox)
self.outerBox.addLayout(self.mainBox)
self.outerBox.addWidget(self.buttonBox)
self.outerBox.addWidget(self.btnBox)
self.outerBox.setSpacing(8)
self.setLayout(self.outerBox)
+13 -8
View File
@@ -32,12 +32,11 @@ from PyQt6.QtWidgets import (
QListWidgetItem, QVBoxLayout, QWidget
)
from novelwriter import SHARED
from novelwriter.constants import nwQuotes, trConst
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.modified import NDialog
from novelwriter.types import (
QtAccepted, QtAlignCenter, QtAlignTop, QtDialogCancel, QtDialogOk,
QtUserRole
)
from novelwriter.types import QtAccepted, QtAlignCenter, QtAlignTop, QtUserRole
logger = logging.getLogger(__name__)
@@ -91,9 +90,15 @@ class GuiQuoteSelect(NDialog):
self.listBox.setMinimumHeight(150)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogOk | QtDialogCancel, self)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.btnOk = SHARED.theme.getStandardButton(nwStandardButton.OK, self)
self.btnOk.clicked.connect(self.accept)
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
self.btnCancel.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnOk, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
# Assemble
self.labelBox.addWidget(self.previewLabel, 0, QtAlignTop)
@@ -103,7 +108,7 @@ class GuiQuoteSelect(NDialog):
self.innerBox.addWidget(self.listBox)
self.outerBox.addLayout(self.innerBox)
self.outerBox.addWidget(self.buttonBox)
self.outerBox.addWidget(self.btnBox)
self.setLayout(self.outerBox)
+11 -5
View File
@@ -37,9 +37,9 @@ from PyQt6.QtWidgets import (
from novelwriter import CONFIG, SHARED
from novelwriter.common import formatFileFilter
from novelwriter.core.spellcheck import UserDictionary
from novelwriter.enum import nwStandardButton
from novelwriter.extensions.configlayout import NColorLabel
from novelwriter.extensions.modified import NDialog, NIconToolButton
from novelwriter.types import QtDialogClose, QtDialogSave
if TYPE_CHECKING:
from PyQt6.QtGui import QCloseEvent
@@ -110,9 +110,15 @@ class GuiWordList(NDialog):
self.editBox.addWidget(self.delButton, 0)
# Buttons
self.buttonBox = QDialogButtonBox(QtDialogSave | QtDialogClose, self)
self.buttonBox.accepted.connect(self._doSave)
self.buttonBox.rejected.connect(self.reject)
self.btnSave = SHARED.theme.getStandardButton(nwStandardButton.SAVE, self)
self.btnSave.clicked.connect(self._doSave)
self.btnClose = SHARED.theme.getStandardButton(nwStandardButton.CLOSE, self)
self.btnClose.clicked.connect(self.reject)
self.btnBox = QDialogButtonBox(self)
self.btnBox.addButton(self.btnSave, QDialogButtonBox.ButtonRole.AcceptRole)
self.btnBox.addButton(self.btnClose, QDialogButtonBox.ButtonRole.RejectRole)
# Assemble
self.outerBox = QVBoxLayout()
@@ -120,7 +126,7 @@ class GuiWordList(NDialog):
self.outerBox.addWidget(self.listBox, 1)
self.outerBox.addLayout(self.editBox, 0)
self.outerBox.addSpacing(12)
self.outerBox.addWidget(self.buttonBox, 0)
self.outerBox.addWidget(self.btnBox, 0)
self.outerBox.setSpacing(4)
self.setLayout(self.outerBox)