Add language setting to wizard
This commit is contained in:
@@ -353,11 +353,13 @@ class ProjectBuilder:
|
|||||||
projName = data.get("projName", lblNewProject)
|
projName = data.get("projName", lblNewProject)
|
||||||
projTitle = data.get("projTitle", lblNewProject)
|
projTitle = data.get("projTitle", lblNewProject)
|
||||||
projAuthor = data.get("projAuthor", "")
|
projAuthor = data.get("projAuthor", "")
|
||||||
|
projLang = data.get("projLang", "en_GB")
|
||||||
|
|
||||||
project.data.setUuid(None)
|
project.data.setUuid(None)
|
||||||
project.data.setName(projName)
|
project.data.setName(projName)
|
||||||
project.data.setTitle(projTitle)
|
project.data.setTitle(projTitle)
|
||||||
project.data.setAuthor(projAuthor)
|
project.data.setAuthor(projAuthor)
|
||||||
|
project.data.setLanguage(projLang)
|
||||||
project.setDefaultStatusImport()
|
project.setDefaultStatusImport()
|
||||||
project.session.startSession()
|
project.session.startSession()
|
||||||
|
|
||||||
|
|||||||
@@ -232,9 +232,8 @@ class GuiProjectEditMain(QWidget):
|
|||||||
|
|
||||||
self.projLang = QComboBox(self)
|
self.projLang = QComboBox(self)
|
||||||
self.projLang.setMaximumWidth(xW)
|
self.projLang.setMaximumWidth(xW)
|
||||||
if CONFIG.hasEnchant:
|
for tag, language in CONFIG.listLanguages(CONFIG.LANG_PROJ):
|
||||||
for tag, language in CONFIG.listLanguages(CONFIG.LANG_PROJ):
|
self.projLang.addItem(language, tag)
|
||||||
self.projLang.addItem(language, tag)
|
|
||||||
self.mainForm.addRow(
|
self.mainForm.addRow(
|
||||||
self.tr("Project language"),
|
self.tr("Project language"),
|
||||||
self.projLang,
|
self.projLang,
|
||||||
|
|||||||
@@ -1482,6 +1482,12 @@ class GuiMain(QMainWindow):
|
|||||||
projData["numChapters"] = newProj.field("numChapters")
|
projData["numChapters"] = newProj.field("numChapters")
|
||||||
projData["numScenes"] = newProj.field("numScenes")
|
projData["numScenes"] = newProj.field("numScenes")
|
||||||
|
|
||||||
|
try:
|
||||||
|
langIdx = newProj.field("projLang")
|
||||||
|
projData["projLang"] = CONFIG.listLanguages(CONFIG.LANG_PROJ)[langIdx][0]
|
||||||
|
except Exception:
|
||||||
|
projData["projLang"] = "en_GB"
|
||||||
|
|
||||||
return projData
|
return projData
|
||||||
|
|
||||||
def _getTagSource(self, tag: str) -> tuple[str | None, str | None]:
|
def _getTagSource(self, tag: str) -> tuple[str | None, str | None]:
|
||||||
|
|||||||
@@ -28,8 +28,9 @@ import logging
|
|||||||
|
|
||||||
from PyQt5.QtCore import Qt
|
from PyQt5.QtCore import Qt
|
||||||
from PyQt5.QtWidgets import (
|
from PyQt5.QtWidgets import (
|
||||||
QFileDialog, QFormLayout, QGridLayout, QHBoxLayout, QLabel, QLineEdit,
|
QComboBox, QFileDialog, QFormLayout, QGridLayout, QHBoxLayout, QLabel,
|
||||||
QPushButton, QRadioButton, QSpinBox, QVBoxLayout, QWizard, QWizardPage
|
QLineEdit, QPushButton, QRadioButton, QSpinBox, QVBoxLayout, QWizard,
|
||||||
|
QWizardPage
|
||||||
)
|
)
|
||||||
|
|
||||||
from novelwriter import CONFIG, SHARED
|
from novelwriter import CONFIG, SHARED
|
||||||
@@ -127,15 +128,28 @@ class ProjWizardIntroPage(QWizardPage):
|
|||||||
self.projAuthor.setFixedWidth(xW)
|
self.projAuthor.setFixedWidth(xW)
|
||||||
self.projAuthor.setPlaceholderText(self.tr("Optional"))
|
self.projAuthor.setPlaceholderText(self.tr("Optional"))
|
||||||
|
|
||||||
|
self.projLang = QComboBox(self)
|
||||||
|
self.projLang.setMaximumWidth(xW)
|
||||||
|
for tag, language in CONFIG.listLanguages(CONFIG.LANG_PROJ):
|
||||||
|
self.projLang.addItem(language, tag)
|
||||||
|
|
||||||
|
langIdx = self.projLang.findData(CONFIG.guiLocale)
|
||||||
|
if langIdx == -1:
|
||||||
|
langIdx = self.projLang.findData("en_GB")
|
||||||
|
if langIdx != -1:
|
||||||
|
self.projLang.setCurrentIndex(langIdx)
|
||||||
|
|
||||||
self.mainForm = QFormLayout()
|
self.mainForm = QFormLayout()
|
||||||
self.mainForm.addRow(self.tr("Project Name"), self.projName)
|
self.mainForm.addRow(self.tr("Project Name"), self.projName)
|
||||||
self.mainForm.addRow(self.tr("Novel Title"), self.projTitle)
|
self.mainForm.addRow(self.tr("Novel Title"), self.projTitle)
|
||||||
self.mainForm.addRow(self.tr("Author(s)"), self.projAuthor)
|
self.mainForm.addRow(self.tr("Author(s)"), self.projAuthor)
|
||||||
|
self.mainForm.addRow(self.tr("Language"), self.projLang)
|
||||||
self.mainForm.setVerticalSpacing(fS)
|
self.mainForm.setVerticalSpacing(fS)
|
||||||
|
|
||||||
self.registerField("projName*", self.projName)
|
self.registerField("projName*", self.projName)
|
||||||
self.registerField("projTitle", self.projTitle)
|
self.registerField("projTitle", self.projTitle)
|
||||||
self.registerField("projAuthor", self.projAuthor)
|
self.registerField("projAuthor", self.projAuthor)
|
||||||
|
self.registerField("projLang", self.projLang)
|
||||||
|
|
||||||
# Assemble
|
# Assemble
|
||||||
self.outerBox = QVBoxLayout()
|
self.outerBox = QVBoxLayout()
|
||||||
|
|||||||
Reference in New Issue
Block a user