Rework rpgmaker tab to be cleaner and more informative
This commit is contained in:
parent
af58e8ddf8
commit
ec508ff1db
1 changed files with 167 additions and 202 deletions
|
|
@ -29,10 +29,10 @@ def create_section_label(text):
|
|||
label = QLabel(text)
|
||||
label.setStyleSheet("""
|
||||
QLabel {
|
||||
font-size: 12px;
|
||||
font-size: 13px;
|
||||
font-weight: bold;
|
||||
color: #007acc;
|
||||
padding: 5px 0px 3px 0px;
|
||||
padding: 6px 0px 4px 0px;
|
||||
background-color: transparent;
|
||||
}
|
||||
""")
|
||||
|
|
@ -206,293 +206,258 @@ class RPGMakerTab(QWidget):
|
|||
self.connect_auto_apply()
|
||||
|
||||
def _create_checkbox_with_description(self, label_text, description_text, tooltip_text=None):
|
||||
"""Create a checkbox with an indented description label below it."""
|
||||
container = QVBoxLayout()
|
||||
container.setSpacing(1)
|
||||
container.setContentsMargins(0, 0, 0, 6)
|
||||
"""Create a checkbox with description on the same line."""
|
||||
container = QHBoxLayout()
|
||||
container.setSpacing(8)
|
||||
container.setContentsMargins(0, 2, 0, 2)
|
||||
|
||||
checkbox = QCheckBox(label_text)
|
||||
checkbox.setMinimumHeight(22)
|
||||
checkbox.setStyleSheet("QCheckBox { padding: 2px 0px; }")
|
||||
checkbox.setStyleSheet("QCheckBox { font-size: 11px; }")
|
||||
checkbox.setMinimumWidth(175)
|
||||
checkbox.setMaximumWidth(180)
|
||||
if tooltip_text:
|
||||
checkbox.setToolTip(tooltip_text)
|
||||
container.addWidget(checkbox)
|
||||
|
||||
if description_text:
|
||||
desc_label = QLabel(description_text)
|
||||
desc_label.setWordWrap(True)
|
||||
desc_label.setMinimumHeight(16)
|
||||
desc_label.setStyleSheet("color: #888888; font-size: 9px; padding-left: 20px; padding-right: 5px;")
|
||||
container.addWidget(desc_label)
|
||||
desc_label = QLabel(f"— {description_text}")
|
||||
desc_label.setStyleSheet("color: #888888; font-size: 10px;")
|
||||
desc_label.setWordWrap(False)
|
||||
container.addWidget(desc_label, 1)
|
||||
|
||||
return checkbox, container
|
||||
|
||||
def init_ui(self):
|
||||
"""Initialize the user interface with compact two-column layout."""
|
||||
"""Initialize the user interface with three-column layout."""
|
||||
main_layout = QVBoxLayout()
|
||||
main_layout.setContentsMargins(15, 15, 15, 15)
|
||||
main_layout.setSpacing(10)
|
||||
main_layout.setSpacing(12)
|
||||
|
||||
# Title and description
|
||||
# Title
|
||||
title = "RPG Maker MV/MZ" if self.engine != "ACE" else "RPG Maker Ace"
|
||||
title_label = QLabel(f"{title} Translation Settings")
|
||||
title_label.setStyleSheet("font-size: 15px; font-weight: bold; color: #007acc;")
|
||||
title_label.setStyleSheet("font-size: 16px; font-weight: bold; color: #007acc;")
|
||||
main_layout.addWidget(title_label)
|
||||
|
||||
description_label = QLabel(
|
||||
"Configure which event codes to translate. Only enable what you need to reduce translation time and costs."
|
||||
)
|
||||
description_label.setWordWrap(True)
|
||||
description_label.setStyleSheet("color: #888888; font-size: 10px; margin-bottom: 5px;")
|
||||
main_layout.addWidget(description_label)
|
||||
|
||||
# Two-column layout for checkboxes
|
||||
# Three-column layout
|
||||
columns_layout = QHBoxLayout()
|
||||
columns_layout.setSpacing(40)
|
||||
columns_layout.setSpacing(30)
|
||||
|
||||
# LEFT COLUMN
|
||||
left_column = QVBoxLayout()
|
||||
left_column.setSpacing(3)
|
||||
# ==================== COLUMN 1: PROCESSING ====================
|
||||
col1 = QVBoxLayout()
|
||||
col1.setSpacing(4)
|
||||
|
||||
# ===== DIALOGUE CONTENT SECTION =====
|
||||
left_column.addWidget(create_section_label("💬 Dialogue Content"))
|
||||
|
||||
self.code401_cb, layout = self._create_checkbox_with_description(
|
||||
"Show Text (401)",
|
||||
"Main dialogue boxes - the primary text players see in conversation.",
|
||||
"Translates standard message window text. This is the core dialogue code."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
|
||||
self.code101_cb, layout = self._create_checkbox_with_description(
|
||||
"Text Setup / Speakers (101)",
|
||||
"Speaker names and face images shown with dialogue.",
|
||||
"Translates speaker names from the Show Text command's header. Enable if your game displays character names."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
|
||||
self.code405_cb, layout = self._create_checkbox_with_description(
|
||||
"Scrolling Text (405)",
|
||||
"Credits, story intros, and scrolling narrative text.",
|
||||
"Translates text that scrolls across the screen, commonly used for introductions or endings."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
|
||||
self.code102_cb, layout = self._create_checkbox_with_description(
|
||||
"Choice Options (102)",
|
||||
"Player choice menus like 'Yes/No' or dialogue options.",
|
||||
"Translates the text shown in player choice selection menus."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
|
||||
left_column.addSpacing(10)
|
||||
|
||||
# ===== PROCESSING OPTIONS SECTION =====
|
||||
left_column.addWidget(create_section_label("⚙️ Processing Options"))
|
||||
col1.addWidget(create_section_label("⚙️ Processing Options"))
|
||||
|
||||
self.first_line_speakers_cb, layout = self._create_checkbox_with_description(
|
||||
"Detect Speaker from First Line",
|
||||
"Treats the first line of dialogue as the speaker's name.",
|
||||
"Enable if your game embeds speaker names in the first line of text rather than using CODE101."
|
||||
"First Line = Speaker", "Name on line 1", "First line of text is treated as speaker."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
col1.addLayout(layout)
|
||||
|
||||
self.facename101_cb, layout = self._create_checkbox_with_description(
|
||||
"Map Face Images to Speakers",
|
||||
"Uses character face filenames to identify speakers.",
|
||||
"Maps face image filenames to speaker names for better context in translations."
|
||||
"Face → Speaker", "Map faces to names", "Uses face filenames to identify speakers."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
col1.addLayout(layout)
|
||||
|
||||
self.brflag_cb, layout = self._create_checkbox_with_description(
|
||||
"Use <br> for Line Breaks",
|
||||
"Parse <br> tags instead of \\n for newlines.",
|
||||
"Some games use HTML-style <br> tags for line breaks instead of standard newline characters."
|
||||
"<br> Line Breaks", "HTML-style breaks", "For games using <br> instead of \\n."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
col1.addLayout(layout)
|
||||
|
||||
self.fixtextwrap_cb, layout = self._create_checkbox_with_description(
|
||||
"Auto-Wrap Translated Text",
|
||||
"Automatically adjusts line lengths to fit text boxes.",
|
||||
"Re-wraps translated text to match the game's text box width settings (WIDTH/NOTEWIDTH)."
|
||||
"Auto Text Wrap", "Fit to text boxes", "Re-wraps translated text to fit width."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
col1.addLayout(layout)
|
||||
|
||||
self.ignoretltext_cb, layout = self._create_checkbox_with_description(
|
||||
"Skip Already-Translated Text",
|
||||
"Ignores text that doesn't match the source language.",
|
||||
"Skips text that appears to already be translated (no Japanese characters detected)."
|
||||
"Skip Translated", "Ignore non-JP text", "Skips already translated content."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
col1.addLayout(layout)
|
||||
|
||||
self.join408_cb, layout = self._create_checkbox_with_description(
|
||||
"Merge Comment Lines (408)",
|
||||
"Combines multi-line comments into single translation units.",
|
||||
"Joins consecutive CODE408 lines into one string, similar to how CODE401 dialogue is handled."
|
||||
"Merge 408 Lines", "Combine comments", "Joins CODE408 lines into one string."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
col1.addLayout(layout)
|
||||
|
||||
self.speakers408_cb, layout = self._create_checkbox_with_description(
|
||||
"Speaker Detection in Comments",
|
||||
"Apply speaker parsing to comment text.",
|
||||
"Enables the same speaker detection logic used for dialogue (401) on comment blocks (408)."
|
||||
"408 Speakers", "Detect in comments", "Apply speaker logic to comment blocks."
|
||||
)
|
||||
left_column.addLayout(layout)
|
||||
# Only show SPEAKERS408 for ACE engine (rpgmakerace.py)
|
||||
if self.engine != "ACE":
|
||||
self.speakers408_cb.hide()
|
||||
col1.addLayout(layout)
|
||||
|
||||
left_column.addStretch()
|
||||
col1.addStretch()
|
||||
|
||||
# RIGHT COLUMN
|
||||
right_column = QVBoxLayout()
|
||||
right_column.setSpacing(3)
|
||||
# ==================== COLUMN 2: DIALOGUE ====================
|
||||
col2 = QVBoxLayout()
|
||||
col2.setSpacing(4)
|
||||
|
||||
# ===== EXTENDED CONTENT SECTION =====
|
||||
right_column.addWidget(create_section_label("📝 Extended Content"))
|
||||
col2.addWidget(create_section_label("💬 Dialogue Content"))
|
||||
|
||||
self.code401_cb, layout = self._create_checkbox_with_description(
|
||||
"Show Text (401)", "Main dialogue boxes", "Translates standard message window text."
|
||||
)
|
||||
col2.addLayout(layout)
|
||||
|
||||
self.code101_cb, layout = self._create_checkbox_with_description(
|
||||
"Speakers (101)", "Speaker names", "Translates speaker names from Show Text header."
|
||||
)
|
||||
col2.addLayout(layout)
|
||||
|
||||
self.code405_cb, layout = self._create_checkbox_with_description(
|
||||
"Scrolling Text (405)", "Credits, intros", "Text that scrolls across the screen."
|
||||
)
|
||||
col2.addLayout(layout)
|
||||
|
||||
self.code102_cb, layout = self._create_checkbox_with_description(
|
||||
"Choices (102)", "Yes/No options", "Player choice selection menus."
|
||||
)
|
||||
col2.addLayout(layout)
|
||||
|
||||
col2.addSpacing(15)
|
||||
|
||||
# Extended Content in column 2
|
||||
col2.addWidget(create_section_label("📝 Extended Content"))
|
||||
|
||||
self.code408_cb, layout = self._create_checkbox_with_description(
|
||||
"Comments / Event Text (408)",
|
||||
"⚠️ Plugin-based dialogue and developer comments. Can be costly!",
|
||||
"Translates comment text that some plugins use for displaying dialogue. Enable only if needed."
|
||||
"Comments (408)", "⚠️ Can be costly!", "Plugin dialogue in comment text."
|
||||
)
|
||||
self.code408_cb.setStyleSheet("QCheckBox { color: #ffaa66; }")
|
||||
right_column.addLayout(layout)
|
||||
self.code408_cb.setStyleSheet("QCheckBox { font-size: 11px; color: #ffaa66; }")
|
||||
col2.addLayout(layout)
|
||||
|
||||
self.code122_cb, layout = self._create_checkbox_with_description(
|
||||
"Control Variables (122)",
|
||||
"Text stored in game variables for dynamic content.",
|
||||
"Translates string values assigned to variables. Used for dynamic dialogue or quest objectives."
|
||||
"Variables (122)", "Dynamic text", "String values in game variables."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col2.addLayout(layout)
|
||||
|
||||
# CODE122 Variable Range
|
||||
var_range_layout = QHBoxLayout()
|
||||
var_range_layout.setContentsMargins(20, 0, 0, 0) # Indent to show it's related to CODE122
|
||||
# Variable Range
|
||||
var_layout = QHBoxLayout()
|
||||
var_layout.setContentsMargins(20, 4, 0, 0)
|
||||
var_layout.setSpacing(6)
|
||||
lbl = QLabel("Variables ID Range:")
|
||||
lbl.setStyleSheet("color: #888; font-size: 10px;")
|
||||
var_layout.addWidget(lbl)
|
||||
from PyQt5.QtWidgets import QLineEdit
|
||||
from PyQt5.QtGui import QIntValidator
|
||||
|
||||
var_range_label = QLabel("Variable ID Range:")
|
||||
var_range_label.setToolTip("Only variables with IDs in this range will be translated.\nUseful for limiting translation to specific game variables.")
|
||||
var_range_label.setStyleSheet("color: #888888; font-size: 10px;")
|
||||
var_range_layout.addWidget(var_range_label)
|
||||
self.code122_var_min_spin = QLineEdit()
|
||||
self.code122_var_min_spin.setValidator(QIntValidator(0, 99999))
|
||||
self.code122_var_min_spin.setText("0")
|
||||
self.code122_var_min_spin.setFixedWidth(60)
|
||||
self.code122_var_min_spin.setAlignment(Qt.AlignCenter)
|
||||
self.code122_var_min_spin.setStyleSheet("QLineEdit { padding: 4px; font-size: 11px; }")
|
||||
var_layout.addWidget(self.code122_var_min_spin)
|
||||
dash_lbl = QLabel("-")
|
||||
dash_lbl.setStyleSheet("font-size: 11px;")
|
||||
var_layout.addWidget(dash_lbl)
|
||||
self.code122_var_max_spin = QLineEdit()
|
||||
self.code122_var_max_spin.setValidator(QIntValidator(1, 99999))
|
||||
self.code122_var_max_spin.setText("2000")
|
||||
self.code122_var_max_spin.setFixedWidth(60)
|
||||
self.code122_var_max_spin.setAlignment(Qt.AlignCenter)
|
||||
self.code122_var_max_spin.setStyleSheet("QLineEdit { padding: 4px; font-size: 11px; }")
|
||||
var_layout.addWidget(self.code122_var_max_spin)
|
||||
var_layout.addStretch()
|
||||
col2.addLayout(var_layout)
|
||||
|
||||
self.code122_var_min_spin = QSpinBox()
|
||||
self.code122_var_min_spin.setRange(0, 99999)
|
||||
self.code122_var_min_spin.setValue(0)
|
||||
self.code122_var_min_spin.setMinimumWidth(70)
|
||||
self.code122_var_min_spin.setToolTip("Minimum variable ID (inclusive)")
|
||||
var_range_layout.addWidget(self.code122_var_min_spin)
|
||||
col2.addStretch()
|
||||
|
||||
var_range_layout.addWidget(QLabel("to"))
|
||||
# ==================== COLUMN 3: ACTORS & SCRIPTS ====================
|
||||
col3 = QVBoxLayout()
|
||||
col3.setSpacing(4)
|
||||
|
||||
self.code122_var_max_spin = QSpinBox()
|
||||
self.code122_var_max_spin.setRange(1, 99999)
|
||||
self.code122_var_max_spin.setValue(2000)
|
||||
self.code122_var_max_spin.setMinimumWidth(70)
|
||||
self.code122_var_max_spin.setToolTip("Maximum variable ID (exclusive)")
|
||||
var_range_layout.addWidget(self.code122_var_max_spin)
|
||||
|
||||
var_range_layout.addStretch()
|
||||
right_column.addLayout(var_range_layout)
|
||||
|
||||
right_column.addSpacing(10)
|
||||
|
||||
# ===== ACTOR CHANGES SECTION =====
|
||||
right_column.addWidget(create_section_label("👤 Actor Modifications"))
|
||||
col3.addWidget(create_section_label("👤 Actor Changes"))
|
||||
|
||||
self.code320_cb, layout = self._create_checkbox_with_description(
|
||||
"Change Actor Name (320)",
|
||||
"Commands that rename characters during gameplay.",
|
||||
"Translates text used when the game changes a character's display name via event commands."
|
||||
"Change Name (320)", "Rename actors", "Dynamic character name changes."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code324_cb, layout = self._create_checkbox_with_description(
|
||||
"Change Nickname (324)",
|
||||
"Commands that change character titles/nicknames.",
|
||||
"Translates nickname/title changes like 'Hero' or 'The Brave' assigned during gameplay."
|
||||
"Nickname (324)", "Titles like 'Hero'", "Character nickname changes."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code325_cb, layout = self._create_checkbox_with_description(
|
||||
"Change Profile (325)",
|
||||
"Commands that update character biography text.",
|
||||
"Translates profile/biography text updates for characters shown in status screens."
|
||||
"Profile (325)", "Character bios", "Profile/biography text."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
right_column.addSpacing(10)
|
||||
col3.addSpacing(15)
|
||||
|
||||
# ===== SCRIPTS & PLUGINS SECTION =====
|
||||
right_column.addWidget(create_section_label("🔧 Scripts & Plugins"))
|
||||
col3.addWidget(create_section_label("🔧 Scripts & Plugins"))
|
||||
|
||||
self.code355655_cb, layout = self._create_checkbox_with_description(
|
||||
"Script Calls (355/655)",
|
||||
"Inline JavaScript code that may contain text strings.",
|
||||
"Translates text within script commands. Use carefully - may affect code execution."
|
||||
"Scripts (355/655)", "Inline JS text", "Text within script commands."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code356_cb, layout = self._create_checkbox_with_description(
|
||||
"Plugin Commands MV (356)",
|
||||
"MV-style plugin commands with text parameters.",
|
||||
"Translates parameters passed to plugins. Common in games with custom dialogue systems."
|
||||
"Plugin MV (356)", "MV commands", "MV-style plugin parameters."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code357_cb, layout = self._create_checkbox_with_description(
|
||||
"Plugin Commands MZ (357)",
|
||||
"MZ-style plugin commands with structured data.",
|
||||
"Translates the newer MZ plugin command format introduced in RPG Maker MZ."
|
||||
"Plugin MZ (357)", "MZ commands", "MZ-style plugin parameters."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code657_cb, layout = self._create_checkbox_with_description(
|
||||
"Plugin Commands Extended (657)",
|
||||
"Additional plugin command continuation lines.",
|
||||
"Translates extended plugin command data that spans multiple lines."
|
||||
"Plugin Ext (657)", "Multi-line data", "Extended plugin command lines."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
|
||||
right_column.addSpacing(10)
|
||||
|
||||
# ===== CONDITIONAL & COMMENTS SECTION =====
|
||||
right_column.addWidget(create_section_label("🔀 Logic & Comments"))
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code111_cb, layout = self._create_checkbox_with_description(
|
||||
"Conditional Branches (111)",
|
||||
"Text in if/else conditions and script checks.",
|
||||
"Translates text within conditional branch commands. May contain dialogue triggers."
|
||||
"Conditionals (111)", "If/else text", "Text in conditional branches."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
self.code108_cb, layout = self._create_checkbox_with_description(
|
||||
"Developer Comments (108)",
|
||||
"Event comments often used by plugins for config.",
|
||||
"Translates comment blocks. Many plugins use comments for dialogue or notetags."
|
||||
"Comments (108)", "Plugin config", "Comment blocks for plugins."
|
||||
)
|
||||
right_column.addLayout(layout)
|
||||
col3.addLayout(layout)
|
||||
|
||||
right_column.addStretch()
|
||||
col3.addStretch()
|
||||
|
||||
# Add both columns
|
||||
columns_layout.addLayout(left_column, 1)
|
||||
columns_layout.addLayout(right_column, 1)
|
||||
main_layout.addLayout(columns_layout)
|
||||
# Add all three columns
|
||||
columns_layout.addLayout(col1, 1)
|
||||
columns_layout.addLayout(col2, 1)
|
||||
columns_layout.addLayout(col3, 1)
|
||||
main_layout.addLayout(columns_layout, 1)
|
||||
|
||||
# Bottom buttons
|
||||
main_layout.addSpacing(12)
|
||||
# ==================== WORKFLOW GUIDE ====================
|
||||
workflow_label = create_section_label("📋 Translation Workflow")
|
||||
main_layout.addWidget(workflow_label)
|
||||
|
||||
workflow_text = QLabel(
|
||||
"<table style='font-size: 11px; color: #aaa;' cellspacing='4'>"
|
||||
"<tr><td><b style='color:#007acc'>1.</b></td><td>Parse Speakers → vocab.txt</td>"
|
||||
"<td width='30'></td><td><b style='color:#007acc'>6.</b></td><td>Replace any \\\\n[0-999] variables with actor names</td></tr>"
|
||||
"<tr><td><b style='color:#007acc'>2.</b></td><td>Identify speaker genders (use Copilot with map files)</td>"
|
||||
"<td></td><td><b style='color:#007acc'>7.</b></td><td>Translate Maps & CommonEvents</td></tr>"
|
||||
"<tr><td><b style='color:#007acc'>3.</b></td><td>Translate Actors.json, MapInfos.json</td>"
|
||||
"<td></td><td><b style='color:#007acc'>8.</b></td><td>Edit plugins for menus/text</td></tr>"
|
||||
"<tr><td><b style='color:#007acc'>4.</b></td><td>Translate Items, System, Weapons, etc.</td>"
|
||||
"<td></td><td><b style='color:#007acc'>9.</b></td><td>Translate CODE 122 vars, 356 plugins as needed</td></tr>"
|
||||
"<tr><td><b style='color:#007acc'>5.</b></td><td>Find speaker names (101, brackets, first lines)</td>"
|
||||
"<td></td><td><b style='color:#007acc'>10.</b></td><td>Playtest → OCR → Search → Fix → Repeat</td></tr>"
|
||||
"</table>"
|
||||
"<div style='margin-top: 8px; color: #cc9944;'>⚠️ Some text (e.g. CODE 122 variables) may only update on a new save file.</div>"
|
||||
)
|
||||
workflow_text.setWordWrap(True)
|
||||
workflow_text.setTextFormat(Qt.RichText)
|
||||
workflow_text.setStyleSheet("background-color: #252525; padding: 12px; border-radius: 5px;")
|
||||
main_layout.addWidget(workflow_text)
|
||||
|
||||
# Reset button
|
||||
button_layout = QHBoxLayout()
|
||||
button_layout.setSpacing(10)
|
||||
|
||||
self.reset_button = QPushButton("🔄 Reset to Defaults")
|
||||
self.reset_button.clicked.connect(self.reset_to_defaults_with_message)
|
||||
self.reset_button.setMaximumWidth(180)
|
||||
self.reset_button.setMinimumHeight(32)
|
||||
|
||||
self.reset_button.setMaximumWidth(160)
|
||||
self.reset_button.setStyleSheet("font-size: 11px;")
|
||||
button_layout.addWidget(self.reset_button)
|
||||
button_layout.addStretch()
|
||||
|
||||
main_layout.addLayout(button_layout)
|
||||
|
||||
self.setLayout(main_layout)
|
||||
|
||||
def reset_to_defaults(self):
|
||||
|
|
@ -544,8 +509,8 @@ class RPGMakerTab(QWidget):
|
|||
|
||||
# Variable codes
|
||||
self.code122_cb.stateChanged.disconnect()
|
||||
self.code122_var_min_spin.valueChanged.disconnect()
|
||||
self.code122_var_max_spin.valueChanged.disconnect()
|
||||
self.code122_var_min_spin.editingFinished.disconnect()
|
||||
self.code122_var_max_spin.editingFinished.disconnect()
|
||||
|
||||
# Plugins / Scripts / Other codes
|
||||
self.code355655_cb.stateChanged.disconnect()
|
||||
|
|
@ -584,8 +549,8 @@ class RPGMakerTab(QWidget):
|
|||
|
||||
# Variable codes
|
||||
self.code122_cb.stateChanged.connect(lambda: self.apply_to_module(show_messages=False))
|
||||
self.code122_var_min_spin.valueChanged.connect(lambda: self.apply_to_module(show_messages=False))
|
||||
self.code122_var_max_spin.valueChanged.connect(lambda: self.apply_to_module(show_messages=False))
|
||||
self.code122_var_min_spin.editingFinished.connect(lambda: self.apply_to_module(show_messages=False))
|
||||
self.code122_var_max_spin.editingFinished.connect(lambda: self.apply_to_module(show_messages=False))
|
||||
|
||||
# Plugins / Scripts / Other codes
|
||||
self.code355655_cb.stateChanged.connect(lambda: self.apply_to_module(show_messages=False))
|
||||
|
|
@ -620,8 +585,8 @@ class RPGMakerTab(QWidget):
|
|||
|
||||
# Variable codes
|
||||
"CODE122": self.code122_cb.isChecked(),
|
||||
"CODE122_VAR_MIN": self.code122_var_min_spin.value(),
|
||||
"CODE122_VAR_MAX": self.code122_var_max_spin.value(),
|
||||
"CODE122_VAR_MIN": int(self.code122_var_min_spin.text() or 0),
|
||||
"CODE122_VAR_MAX": int(self.code122_var_max_spin.text() or 2000),
|
||||
|
||||
# Plugins / Scripts / Other codes
|
||||
"CODE355655": self.code355655_cb.isChecked(),
|
||||
|
|
@ -666,8 +631,8 @@ class RPGMakerTab(QWidget):
|
|||
|
||||
# Variable codes
|
||||
self.code122_cb.setChecked(config.get("CODE122", False))
|
||||
self.code122_var_min_spin.setValue(config.get("CODE122_VAR_MIN", 0))
|
||||
self.code122_var_max_spin.setValue(config.get("CODE122_VAR_MAX", 2000))
|
||||
self.code122_var_min_spin.setText(str(config.get("CODE122_VAR_MIN", 0)))
|
||||
self.code122_var_max_spin.setText(str(config.get("CODE122_VAR_MAX", 2000)))
|
||||
|
||||
# Plugins / Scripts / Other codes
|
||||
self.code355655_cb.setChecked(config.get("CODE355655", False))
|
||||
|
|
|
|||
Loading…
Reference in a new issue