Update dialog buttons on all dialogs and tools
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
+17
-11
@@ -57,17 +57,23 @@ STYLES_MIN_TOOLBUTTON = "minimalToolButton"
|
||||
STYLES_BIG_TOOLBUTTON = "bigToolButton"
|
||||
|
||||
STANDARD_BUTTONS = {
|
||||
nwStandardButton.OK: (QT_TRANSLATE_NOOP("Button", "OK"), "btn_ok", "blue"),
|
||||
nwStandardButton.CANCEL: (QT_TRANSLATE_NOOP("Button", "Cancel"), "btn_cancel", "red"),
|
||||
nwStandardButton.YES: (QT_TRANSLATE_NOOP("Button", "Yes"), "btn_yes", "green"),
|
||||
nwStandardButton.NO: (QT_TRANSLATE_NOOP("Button", "No"), "btn_no", "red"),
|
||||
nwStandardButton.OPEN: (QT_TRANSLATE_NOOP("Button", "Open"), "btn_open", "blue"),
|
||||
nwStandardButton.CLOSE: (QT_TRANSLATE_NOOP("Button", "Close"), "btn_close", "red"),
|
||||
nwStandardButton.BROWSE: (QT_TRANSLATE_NOOP("Button", "Browse"), "btn_browse", "yellow"),
|
||||
nwStandardButton.LIST: (QT_TRANSLATE_NOOP("Button", "List"), "btn_list", "blue"),
|
||||
nwStandardButton.NEW: (QT_TRANSLATE_NOOP("Button", "New"), "btn_new", "green"),
|
||||
nwStandardButton.CREATE: (QT_TRANSLATE_NOOP("Button", "Create"), "btn_create", "yellow"),
|
||||
nwStandardButton.RESET: (QT_TRANSLATE_NOOP("Button", "Reset"), "btn_reset", "green"),
|
||||
nwStandardButton.OK: (QT_TRANSLATE_NOOP("Button", "OK"), "btn_ok", "blue"),
|
||||
nwStandardButton.CANCEL: (QT_TRANSLATE_NOOP("Button", "Cancel"), "btn_cancel", "red"),
|
||||
nwStandardButton.YES: (QT_TRANSLATE_NOOP("Button", "&Yes"), "btn_yes", "green"),
|
||||
nwStandardButton.NO: (QT_TRANSLATE_NOOP("Button", "&No"), "btn_no", "red"),
|
||||
nwStandardButton.OPEN: (QT_TRANSLATE_NOOP("Button", "Open"), "btn_open", "blue"),
|
||||
nwStandardButton.CLOSE: (QT_TRANSLATE_NOOP("Button", "Close"), "btn_close", "faded"),
|
||||
nwStandardButton.SAVE: (QT_TRANSLATE_NOOP("Button", "Save"), "btn_save", "blue"),
|
||||
nwStandardButton.BROWSE: (QT_TRANSLATE_NOOP("Button", "Browse"), "btn_browse", "yellow"),
|
||||
nwStandardButton.LIST: (QT_TRANSLATE_NOOP("Button", "List"), "btn_list", "blue"),
|
||||
nwStandardButton.NEW: (QT_TRANSLATE_NOOP("Button", "New"), "btn_new", "green"),
|
||||
nwStandardButton.CREATE: (QT_TRANSLATE_NOOP("Button", "Create"), "btn_create", "yellow"),
|
||||
nwStandardButton.RESET: (QT_TRANSLATE_NOOP("Button", "Reset"), "btn_reset", "green"),
|
||||
nwStandardButton.INSERT: (QT_TRANSLATE_NOOP("Button", "Insert"), "btn_insert", "blue"),
|
||||
nwStandardButton.APPLY: (QT_TRANSLATE_NOOP("Button", "Apply"), "btn_apply", "blue"),
|
||||
nwStandardButton.BUILD: (QT_TRANSLATE_NOOP("Button", "Build"), "btn_build", "blue"),
|
||||
nwStandardButton.PRINT: (QT_TRANSLATE_NOOP("Button", "Print"), "btn_print", "blue"),
|
||||
nwStandardButton.PREVIEW: (QT_TRANSLATE_NOOP("Button", "Preview"), "btn_preview", "blue"),
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -37,9 +37,10 @@ from PyQt6.QtWidgets import (
|
||||
|
||||
from novelwriter import CONFIG, SHARED
|
||||
from novelwriter.common import formatFileFilter, formatInt, getFileSize, openExternalPath
|
||||
from novelwriter.enum import nwStandardButton
|
||||
from novelwriter.error import formatException
|
||||
from novelwriter.extensions.modified import NIconToolButton, NNonBlockingDialog
|
||||
from novelwriter.types import QtDialogClose, QtHexArgb
|
||||
from novelwriter.types import QtHexArgb
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -110,8 +111,11 @@ class GuiDictionaries(NNonBlockingDialog):
|
||||
self.infoBox.setFrameStyle(QFrame.Shape.NoFrame)
|
||||
|
||||
# Buttons
|
||||
self.buttonBox = QDialogButtonBox(QtDialogClose, self)
|
||||
self.buttonBox.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.AcceptRole)
|
||||
|
||||
# Assemble
|
||||
self.outerBox = QVBoxLayout()
|
||||
@@ -123,7 +127,7 @@ class GuiDictionaries(NNonBlockingDialog):
|
||||
self.outerBox.addLayout(self.inBox, 0)
|
||||
self.outerBox.addWidget(self.infoBox, 1)
|
||||
self.outerBox.addSpacing(8)
|
||||
self.outerBox.addWidget(self.buttonBox, 0)
|
||||
self.outerBox.addWidget(self.btnBox, 0)
|
||||
|
||||
self.setLayout(self.outerBox)
|
||||
|
||||
|
||||
+12
-11
@@ -34,9 +34,10 @@ from PyQt6.QtWidgets import (
|
||||
|
||||
from novelwriter import CONFIG, SHARED
|
||||
from novelwriter.common import readTextFile
|
||||
from novelwriter.enum import nwStandardButton
|
||||
from novelwriter.extensions.modified import NDialog
|
||||
from novelwriter.extensions.switch import NSwitch
|
||||
from novelwriter.types import QtAlignLeft, QtAlignRight, QtDialogClose, QtRoleAction
|
||||
from novelwriter.types import QtAlignLeft, QtAlignRight
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -91,22 +92,22 @@ class GuiLipsum(NDialog):
|
||||
self.innerBox.addLayout(self.formBox)
|
||||
|
||||
# Buttons
|
||||
self.buttonBox = QDialogButtonBox(self)
|
||||
self.buttonBox.rejected.connect(self.reject)
|
||||
self.btnInsert = SHARED.theme.getStandardButton(nwStandardButton.INSERT, self)
|
||||
self.btnInsert.clicked.connect(self._doInsert)
|
||||
self.btnInsert.setAutoDefault(False)
|
||||
|
||||
self.btnClose = self.buttonBox.addButton(QtDialogClose)
|
||||
if self.btnClose:
|
||||
self.btnClose.setAutoDefault(False)
|
||||
self.btnClose = SHARED.theme.getStandardButton(nwStandardButton.CLOSE, self)
|
||||
self.btnClose.clicked.connect(self.reject)
|
||||
self.btnClose.setAutoDefault(False)
|
||||
|
||||
self.btnInsert = self.buttonBox.addButton(self.tr("Insert"), QtRoleAction)
|
||||
if self.btnInsert:
|
||||
self.btnInsert.clicked.connect(self._doInsert)
|
||||
self.btnInsert.setAutoDefault(False)
|
||||
self.btnBox = QDialogButtonBox(self)
|
||||
self.btnBox.addButton(self.btnInsert, QDialogButtonBox.ButtonRole.ApplyRole)
|
||||
self.btnBox.addButton(self.btnClose, QDialogButtonBox.ButtonRole.RejectRole)
|
||||
|
||||
# Assemble
|
||||
self.outerBox = QVBoxLayout()
|
||||
self.outerBox.addLayout(self.innerBox)
|
||||
self.outerBox.addWidget(self.buttonBox)
|
||||
self.outerBox.addWidget(self.btnBox)
|
||||
self.outerBox.setSpacing(16)
|
||||
self.setLayout(self.outerBox)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ from PyQt6.QtCore import QTimer, pyqtSlot
|
||||
from PyQt6.QtWidgets import (
|
||||
QAbstractButton, QAbstractItemView, QDialogButtonBox, QFileDialog,
|
||||
QGridLayout, QHBoxLayout, QLabel, QLineEdit, QListWidget, QListWidgetItem,
|
||||
QPushButton, QSplitter, QVBoxLayout, QWidget
|
||||
QSplitter, QVBoxLayout, QWidget
|
||||
)
|
||||
|
||||
from novelwriter import SHARED
|
||||
@@ -40,10 +40,10 @@ from novelwriter.common import makeFileNameSafe, openExternalPath
|
||||
from novelwriter.constants import nwLabels
|
||||
from novelwriter.core.docbuild import NWBuildDocument
|
||||
from novelwriter.core.item import NWItem
|
||||
from novelwriter.enum import nwBuildFmt
|
||||
from novelwriter.extensions.modified import NDialog, NIconToolButton
|
||||
from novelwriter.enum import nwBuildFmt, nwStandardButton
|
||||
from novelwriter.extensions.modified import NDialog, NIconToolButton, NPushButton
|
||||
from novelwriter.extensions.progressbars import NProgressSimple
|
||||
from novelwriter.types import QtAlignCenter, QtDialogClose, QtRoleAction, QtRoleReject, QtUserRole
|
||||
from novelwriter.types import QtAlignCenter, QtRoleAction, QtRoleReject, QtUserRole
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from PyQt6.QtGui import QCloseEvent
|
||||
@@ -178,25 +178,19 @@ class GuiManuscriptBuild(NDialog):
|
||||
self.buildBox.setVerticalSpacing(4)
|
||||
|
||||
# Dialog Buttons
|
||||
self.buttonBox = QDialogButtonBox(self)
|
||||
|
||||
self.btnOpen = QPushButton(
|
||||
SHARED.theme.getIcon("browse", "yellow"), self.tr("Open Folder"), self
|
||||
)
|
||||
self.btnOpen.setIconSize(bSz)
|
||||
self.btnOpen = NPushButton(self, self.tr("Open Folder"), bSz, "browse", "yellow")
|
||||
self.btnOpen.setAutoDefault(False)
|
||||
self.buttonBox.addButton(self.btnOpen, QtRoleAction)
|
||||
|
||||
self.btnBuild = QPushButton(
|
||||
SHARED.theme.getIcon("sb_build", "blue"), self.tr("&Build"), self
|
||||
)
|
||||
self.btnBuild.setIconSize(bSz)
|
||||
self.btnBuild = SHARED.theme.getStandardButton(nwStandardButton.BUILD, self)
|
||||
self.btnBuild.setAutoDefault(True)
|
||||
self.buttonBox.addButton(self.btnBuild, QtRoleAction)
|
||||
|
||||
self.btnClose = self.buttonBox.addButton(QtDialogClose)
|
||||
if self.btnClose:
|
||||
self.btnClose.setAutoDefault(False)
|
||||
self.btnClose = SHARED.theme.getStandardButton(nwStandardButton.CLOSE, self)
|
||||
self.btnClose.setAutoDefault(False)
|
||||
|
||||
self.btnBox = QDialogButtonBox(self)
|
||||
self.btnBox.addButton(self.btnOpen, QtRoleAction)
|
||||
self.btnBox.addButton(self.btnBuild, QtRoleAction)
|
||||
self.btnBox.addButton(self.btnClose, QtRoleReject)
|
||||
|
||||
# Assemble GUI
|
||||
# ============
|
||||
@@ -223,7 +217,7 @@ class GuiManuscriptBuild(NDialog):
|
||||
self.outerBox.addSpacing(4)
|
||||
self.outerBox.addLayout(self.buildBox, 0)
|
||||
self.outerBox.addSpacing(16)
|
||||
self.outerBox.addWidget(self.buttonBox, 0)
|
||||
self.outerBox.addWidget(self.btnBox, 0)
|
||||
self.outerBox.setSpacing(0)
|
||||
|
||||
self.setLayout(self.outerBox)
|
||||
@@ -239,7 +233,7 @@ class GuiManuscriptBuild(NDialog):
|
||||
# Signals
|
||||
self.btnReset.clicked.connect(self._doResetBuildName)
|
||||
self.btnBrowse.clicked.connect(self._doSelectPath)
|
||||
self.buttonBox.clicked.connect(self._dialogButtonClicked)
|
||||
self.btnBox.clicked.connect(self._dialogButtonClicked)
|
||||
self.listFormats.itemSelectionChanged.connect(self._resetProgress)
|
||||
|
||||
logger.debug("Ready: GuiManuscriptBuild")
|
||||
@@ -266,7 +260,7 @@ class GuiManuscriptBuild(NDialog):
|
||||
@pyqtSlot("QAbstractButton*")
|
||||
def _dialogButtonClicked(self, button: QAbstractButton) -> None:
|
||||
"""Handle button clicks from the dialog button box."""
|
||||
role = self.buttonBox.buttonRole(button)
|
||||
role = self.btnBox.buttonRole(button)
|
||||
if role == QtRoleAction:
|
||||
if button == self.btnBuild:
|
||||
self._runBuild()
|
||||
|
||||
@@ -36,9 +36,9 @@ from PyQt6.QtGui import (
|
||||
from PyQt6.QtPrintSupport import QPrinter, QPrintPreviewDialog
|
||||
from PyQt6.QtWidgets import (
|
||||
QAbstractItemView, QApplication, QFormLayout, QGridLayout, QHBoxLayout,
|
||||
QLabel, QListWidget, QListWidgetItem, QPushButton, QSplitter,
|
||||
QStackedWidget, QTabWidget, QTextBrowser, QTreeWidget, QTreeWidgetItem,
|
||||
QVBoxLayout, QWidget
|
||||
QLabel, QListWidget, QListWidgetItem, QSplitter, QStackedWidget,
|
||||
QTabWidget, QTextBrowser, QTreeWidget, QTreeWidgetItem, QVBoxLayout,
|
||||
QWidget
|
||||
)
|
||||
|
||||
from novelwriter import CONFIG, SHARED
|
||||
@@ -46,6 +46,7 @@ from novelwriter.common import fuzzyTime, qtLambda
|
||||
from novelwriter.constants import nwHeadFmt, nwLabels, nwStats, nwUnicode, trStats
|
||||
from novelwriter.core.buildsettings import BuildCollection, BuildSettings
|
||||
from novelwriter.core.docbuild import NWBuildDocument
|
||||
from novelwriter.enum import nwStandardButton
|
||||
from novelwriter.extensions.modified import NIconToggleButton, NIconToolButton, NToolDialog
|
||||
from novelwriter.extensions.progressbars import NProgressCircle
|
||||
from novelwriter.extensions.switch import NSwitch
|
||||
@@ -171,16 +172,16 @@ class GuiManuscript(NToolDialog):
|
||||
# Process Controls
|
||||
# ================
|
||||
|
||||
self.btnPreview = QPushButton(self.tr("Preview"), self)
|
||||
self.btnPreview = SHARED.theme.getStandardButton(nwStandardButton.PREVIEW, self)
|
||||
self.btnPreview.clicked.connect(self._generatePreview)
|
||||
|
||||
self.btnPrint = QPushButton(self.tr("Print"), self)
|
||||
self.btnPrint = SHARED.theme.getStandardButton(nwStandardButton.PRINT, self)
|
||||
self.btnPrint.clicked.connect(self._printDocument)
|
||||
|
||||
self.btnBuild = QPushButton(self.tr("Build"), self)
|
||||
self.btnBuild = SHARED.theme.getStandardButton(nwStandardButton.BUILD, self)
|
||||
self.btnBuild.clicked.connect(self._buildManuscript)
|
||||
|
||||
self.btnClose = QPushButton(self.tr("Close"), self)
|
||||
self.btnClose = SHARED.theme.getStandardButton(nwStandardButton.CLOSE, self)
|
||||
self.btnClose.clicked.connect(qtLambda(self.close))
|
||||
|
||||
self.processBox = QGridLayout()
|
||||
|
||||
@@ -40,6 +40,7 @@ from novelwriter import CONFIG, SHARED
|
||||
from novelwriter.common import describeFont, fontMatcher, qtAddAction, qtLambda
|
||||
from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, nwUnicode, trConst
|
||||
from novelwriter.core.buildsettings import BuildSettings, FilterMode
|
||||
from novelwriter.enum import nwStandardButton
|
||||
from novelwriter.extensions.configlayout import (
|
||||
NColorLabel, NFixedPage, NScrollableForm, NScrollablePage
|
||||
)
|
||||
@@ -50,9 +51,8 @@ from novelwriter.extensions.pagedsidebar import NPagedSideBar
|
||||
from novelwriter.extensions.switch import NSwitch
|
||||
from novelwriter.extensions.switchbox import NSwitchBox
|
||||
from novelwriter.types import (
|
||||
QtAlignCenter, QtAlignLeft, QtDialogApply, QtDialogClose, QtDialogSave,
|
||||
QtHeaderFixed, QtHeaderStretch, QtRoleAccept, QtRoleApply, QtRoleReject,
|
||||
QtUserRole
|
||||
QtAlignCenter, QtAlignLeft, QtHeaderFixed, QtHeaderStretch, QtRoleAccept,
|
||||
QtRoleApply, QtRoleReject, QtUserRole
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
@@ -125,8 +125,15 @@ class GuiBuildSettings(NToolDialog):
|
||||
self.toolStack.addWidget(self.optTabFormatting)
|
||||
|
||||
# Buttons
|
||||
self.buttonBox = QDialogButtonBox(QtDialogApply | QtDialogSave | QtDialogClose, self)
|
||||
self.buttonBox.clicked.connect(self._dialogButtonClicked)
|
||||
self.btnApply = SHARED.theme.getStandardButton(nwStandardButton.APPLY, self)
|
||||
self.btnSave = SHARED.theme.getStandardButton(nwStandardButton.SAVE, self)
|
||||
self.btnCancel = SHARED.theme.getStandardButton(nwStandardButton.CANCEL, self)
|
||||
|
||||
self.btnBox = QDialogButtonBox(self)
|
||||
self.btnBox.addButton(self.btnApply, QDialogButtonBox.ButtonRole.ApplyRole)
|
||||
self.btnBox.addButton(self.btnSave, QDialogButtonBox.ButtonRole.AcceptRole)
|
||||
self.btnBox.addButton(self.btnCancel, QDialogButtonBox.ButtonRole.RejectRole)
|
||||
self.btnBox.clicked.connect(self._dialogButtonClicked)
|
||||
|
||||
# Assemble
|
||||
self.topBox = QHBoxLayout()
|
||||
@@ -143,7 +150,7 @@ class GuiBuildSettings(NToolDialog):
|
||||
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(12)
|
||||
|
||||
self.setLayout(self.outerBox)
|
||||
@@ -205,7 +212,7 @@ class GuiBuildSettings(NToolDialog):
|
||||
@pyqtSlot("QAbstractButton*")
|
||||
def _dialogButtonClicked(self, button: QAbstractButton) -> None:
|
||||
"""Handle button clicks from the dialog button box."""
|
||||
role = self.buttonBox.buttonRole(button)
|
||||
role = self.btnBox.buttonRole(button)
|
||||
if role == QtRoleApply:
|
||||
self._applyChanges()
|
||||
self._emitBuildData()
|
||||
|
||||
@@ -38,12 +38,13 @@ from PyQt6.QtWidgets import (
|
||||
from novelwriter import SHARED
|
||||
from novelwriter.common import formatTime, numberToRoman
|
||||
from novelwriter.constants import nwUnicode
|
||||
from novelwriter.enum import nwStandardButton
|
||||
from novelwriter.extensions.configlayout import NColorLabel, NFixedPage, NScrollablePage
|
||||
from novelwriter.extensions.modified import NNonBlockingDialog
|
||||
from novelwriter.extensions.novelselector import NovelSelector
|
||||
from novelwriter.extensions.pagedsidebar import NPagedSideBar
|
||||
from novelwriter.extensions.switch import NSwitch
|
||||
from novelwriter.types import QtAlignRight, QtDecoration, QtDialogClose
|
||||
from novelwriter.types import QtAlignRight, QtDecoration
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from PyQt6.QtGui import QCloseEvent
|
||||
@@ -102,8 +103,11 @@ class GuiNovelDetails(NNonBlockingDialog):
|
||||
self.mainStack.addWidget(self.contentsPage)
|
||||
|
||||
# Buttons
|
||||
self.buttonBox = QDialogButtonBox(QtDialogClose, self)
|
||||
self.buttonBox.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.topBox = QHBoxLayout()
|
||||
@@ -119,7 +123,7 @@ class GuiNovelDetails(NNonBlockingDialog):
|
||||
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)
|
||||
|
||||
@@ -39,13 +39,11 @@ from PyQt6.QtWidgets import (
|
||||
from novelwriter import CONFIG, SHARED
|
||||
from novelwriter.common import checkInt, checkIntTuple, formatTime, minmax, qtLambda
|
||||
from novelwriter.constants import nwConst
|
||||
from novelwriter.enum import nwStandardButton
|
||||
from novelwriter.error import formatException
|
||||
from novelwriter.extensions.modified import NToolDialog
|
||||
from novelwriter.extensions.modified import NPushButton, NToolDialog
|
||||
from novelwriter.extensions.switch import NSwitch
|
||||
from novelwriter.types import (
|
||||
QtAlignLeftMiddle, QtAlignRight, QtAlignRightMiddle, QtDecoration,
|
||||
QtDialogClose, QtRoleAction
|
||||
)
|
||||
from novelwriter.types import QtAlignLeftMiddle, QtAlignRight, QtAlignRightMiddle, QtDecoration
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from novelwriter.guimain import GuiMain
|
||||
@@ -182,6 +180,7 @@ class GuiWritingStats(NToolDialog):
|
||||
|
||||
# Filter Options
|
||||
iPx = SHARED.theme.baseIconHeight
|
||||
bSz = SHARED.theme.buttonIconSize
|
||||
|
||||
self.filterForm = QGridLayout(self)
|
||||
self.filterForm.setRowStretch(6, 1)
|
||||
@@ -276,6 +275,10 @@ class GuiWritingStats(NToolDialog):
|
||||
self.optsBox.addWidget(self.histMax, 0)
|
||||
|
||||
# Buttons
|
||||
self.btnClose = SHARED.theme.getStandardButton(nwStandardButton.CLOSE, self)
|
||||
self.btnClose.clicked.connect(self._doClose)
|
||||
self.btnClose.setAutoDefault(False)
|
||||
|
||||
self.saveJSON = QAction(self.tr("JSON Data File (.json)"), self)
|
||||
self.saveJSON.triggered.connect(qtLambda(self._saveData, self.FMT_JSON))
|
||||
|
||||
@@ -286,17 +289,13 @@ class GuiWritingStats(NToolDialog):
|
||||
self.saveMenu.addAction(self.saveJSON)
|
||||
self.saveMenu.addAction(self.saveCSV)
|
||||
|
||||
self.buttonBox = QDialogButtonBox(self)
|
||||
self.buttonBox.rejected.connect(self._doClose)
|
||||
self.btnSave = NPushButton(self, self.tr("Save As"), bSz, "btn_save", "blue")
|
||||
self.btnSave.setAutoDefault(False)
|
||||
self.btnSave.setMenu(self.saveMenu)
|
||||
|
||||
self.btnClose = self.buttonBox.addButton(QtDialogClose)
|
||||
if self.btnClose:
|
||||
self.btnClose.setAutoDefault(False)
|
||||
|
||||
self.btnSave = self.buttonBox.addButton(self.tr("Save As"), QtRoleAction)
|
||||
if self.btnSave:
|
||||
self.btnSave.setAutoDefault(False)
|
||||
self.btnSave.setMenu(self.saveMenu)
|
||||
self.btnBox = QDialogButtonBox(self)
|
||||
self.btnBox.addButton(self.btnClose, QDialogButtonBox.ButtonRole.RejectRole)
|
||||
self.btnBox.addButton(self.btnSave, QDialogButtonBox.ButtonRole.ActionRole)
|
||||
|
||||
# Assemble
|
||||
self.outerBox = QGridLayout()
|
||||
@@ -304,7 +303,7 @@ class GuiWritingStats(NToolDialog):
|
||||
self.outerBox.addLayout(self.optsBox, 1, 0, 1, 2)
|
||||
self.outerBox.addWidget(self.infoBox, 2, 0)
|
||||
self.outerBox.addWidget(self.filterBox, 2, 1)
|
||||
self.outerBox.addWidget(self.buttonBox, 3, 0, 1, 2)
|
||||
self.outerBox.addWidget(self.btnBox, 3, 0, 1, 2)
|
||||
self.outerBox.setRowStretch(0, 1)
|
||||
|
||||
self.setLayout(self.outerBox)
|
||||
|
||||
Reference in New Issue
Block a user