Add language setting to wizard

This commit is contained in:
Veronica Berglyd Olsen
2023-11-09 18:55:02 +01:00
parent c7bfb1b21e
commit e3997b53aa
4 changed files with 26 additions and 5 deletions
+2
View File
@@ -353,11 +353,13 @@ class ProjectBuilder:
projName = data.get("projName", lblNewProject)
projTitle = data.get("projTitle", lblNewProject)
projAuthor = data.get("projAuthor", "")
projLang = data.get("projLang", "en_GB")
project.data.setUuid(None)
project.data.setName(projName)
project.data.setTitle(projTitle)
project.data.setAuthor(projAuthor)
project.data.setLanguage(projLang)
project.setDefaultStatusImport()
project.session.startSession()
+2 -3
View File
@@ -232,9 +232,8 @@ class GuiProjectEditMain(QWidget):
self.projLang = QComboBox(self)
self.projLang.setMaximumWidth(xW)
if CONFIG.hasEnchant:
for tag, language in CONFIG.listLanguages(CONFIG.LANG_PROJ):
self.projLang.addItem(language, tag)
for tag, language in CONFIG.listLanguages(CONFIG.LANG_PROJ):
self.projLang.addItem(language, tag)
self.mainForm.addRow(
self.tr("Project language"),
self.projLang,
+6
View File
@@ -1482,6 +1482,12 @@ class GuiMain(QMainWindow):
projData["numChapters"] = newProj.field("numChapters")
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
def _getTagSource(self, tag: str) -> tuple[str | None, str | None]:
+16 -2
View File
@@ -28,8 +28,9 @@ import logging
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import (
QFileDialog, QFormLayout, QGridLayout, QHBoxLayout, QLabel, QLineEdit,
QPushButton, QRadioButton, QSpinBox, QVBoxLayout, QWizard, QWizardPage
QComboBox, QFileDialog, QFormLayout, QGridLayout, QHBoxLayout, QLabel,
QLineEdit, QPushButton, QRadioButton, QSpinBox, QVBoxLayout, QWizard,
QWizardPage
)
from novelwriter import CONFIG, SHARED
@@ -127,15 +128,28 @@ class ProjWizardIntroPage(QWizardPage):
self.projAuthor.setFixedWidth(xW)
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.addRow(self.tr("Project Name"), self.projName)
self.mainForm.addRow(self.tr("Novel Title"), self.projTitle)
self.mainForm.addRow(self.tr("Author(s)"), self.projAuthor)
self.mainForm.addRow(self.tr("Language"), self.projLang)
self.mainForm.setVerticalSpacing(fS)
self.registerField("projName*", self.projName)
self.registerField("projTitle", self.projTitle)
self.registerField("projAuthor", self.projAuthor)
self.registerField("projLang", self.projLang)
# Assemble
self.outerBox = QVBoxLayout()