From 691a4ffe691ddd83b1b93dc0320d4dc68e405ff7 Mon Sep 17 00:00:00 2001 From: Jeffreytsai1004 Date: Mon, 13 Jan 2025 23:36:50 +0800 Subject: [PATCH] Update --- scripts/MetaFusion.py | 152 +++++++++++++++++------------------ scripts/dna_viewer/ui/app.py | 18 ++++- 2 files changed, 92 insertions(+), 78 deletions(-) diff --git a/scripts/MetaFusion.py b/scripts/MetaFusion.py index 4affee0..38b6a04 100644 --- a/scripts/MetaFusion.py +++ b/scripts/MetaFusion.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python # -*- coding: utf-8 -*- #===================================== IMPORTS ===================================== @@ -18,18 +18,26 @@ import maya.cmds as cmds import maya.mel as mel #===================================== IMPORT MODULES ===================================== -# Standard library imports import BodyPrep import BatchImport import DNA_Viewer +<<<<<<< Updated upstream +======= + +>>>>>>> Stashed changes #===================================== CONSTANTS ===================================== # Tool info TOOL_NAME = "MetaFusion" TOOL_VERSION = "Beta v1.0.0" -TOOL_AUTHOR = "Virtuos" +TOOL_AUTHOR = "CGNICO" +TOOL_LANG = 'en_US' # UI Constants TOOL_WSCL_NAME = "MetaFusionWorkSpaceControl" +<<<<<<< Updated upstream TOOL_HELP_URL = f"http://10.72.61.59:3000/ArtGroup/{TOOL_NAME}/wiki" +======= +TOOL_HELP_URL = f"https://gitea.cgnico.com/CGNICO/MetaFusion/wiki" +>>>>>>> Stashed changes DEFAULT_WINDOW_SIZE = (500, 800) # Paths @@ -75,46 +83,35 @@ SUPPORTED_LANGUAGES = ['en_US', 'zh_CN'] LANG = { "en_US": { "MetaFusion": "MetaFusion", - "Load DNA": "Load DNA", - "Prepare Body": "Prepare Body", + "Prepare": "Prepare", + "Body Prepare": "Body Prepare", + "DNA Edit": "DNA Edit", + "Open DNA Viewer": "Open DNA Viewer", + "Import": "Import", + "Batch Import": "Batch Import", "Help": "Help", "Switch Language": "Switch Language", + "Language switched": "Language switched", "EN": "EN", "ZH": "ZH", "English": "English", - "Chinese": "Chinese", - "Language switched": "Language switched", - "DNA Samples": "DNA Samples", - "Prepare": "Prepare", - "Import": "Import", - "Body Prepare": "Body Prepare", - "Batch Import": "Batch Import", - "DNA Edit": "DNA Edit", - "Open DNA Viewer": "Open DNA Viewer", - "Load DNA": "Load DNA", - "DNA File:": "DNA File:" + "Chinese": "Chinese" }, "zh_CN": { "MetaFusion": "MetaFusion", - "DNA Samples": "DNA 样本", - "Load DNA": "加载 DNA", - "Prepare Body": "准备身体", + "Prepare": "准备", + "Body Prepare": "身体准备", + "DNA Edit": "DNA 编辑", + "Open DNA Viewer": "打开 DNA 查看器", + "Import": "导入", + "Batch Import": "批量导入", "Help": "帮助", "Switch Language": "切换语言", + "Language switched": "语言已切换", "EN": "英文", "ZH": "中文", "English": "英语", - "Chinese": "中文", - "Language switched": "语言已切换", - "DNA Samples": "DNA 样本", - "Prepare": "准备", - "Import": "导入", - "Body Prepare": "身体准备", - "Batch Import": "批量导入", - "DNA Edit": "DNA 编辑", - "Open DNA Viewer": "打开 DNA 查看器", - "Load DNA": "加载 DNA", - "DNA File:": "DNA 文件:" + "Chinese": "中文" } } @@ -131,11 +128,7 @@ def maya_main_window(): #===================================== UI COMPONENTS ===================================== class MainButton(QtWidgets.QPushButton): - DEFAULT_COLORS = { - "normal": "#D0D0D0", - "hover": "#E0E0E0", - "pressed": "#C0C0C0" - } + DEFAULT_COLORS = {"normal": "#D0D0D0", "hover": "#E0E0E0", "pressed": "#C0C0C0"} def __init__(self, text="", icon=None, color=None, hover_color=None, pressed_color=None): super().__init__(text) @@ -250,12 +243,9 @@ class MainWindow(QtWidgets.QWidget): cls.instance.deleteLater() except Exception: pass - cls.instance = cls() cls.instance.dock_to_maya() - return cls.instance - except Exception as e: print(f"Error showing {TOOL_NAME} window: {e}") return None @@ -281,18 +271,29 @@ class MainWindow(QtWidgets.QWidget): #===================================== UI COMPONENTS ===================================== def create_widgets(self): +<<<<<<< Updated upstream # DNA Edit group self.dna_edit_btn = MainButton(LANG[TOOL_LANG]["DNA Edit"]) self.dna_viewer_btn = MainButton(LANG[TOOL_LANG]["Open DNA Viewer"], color="#B8E6B3", hover_color="#C4F2BF", pressed_color="#A3D99E") +======= + +>>>>>>> Stashed changes # Prepare group self.prepare_btn = MainButton(LANG[TOOL_LANG]["Prepare"]) self.body_prepare_btn = MainButton(LANG[TOOL_LANG]["Body Prepare"], color="#FFEBA1", hover_color="#FFF5B3", pressed_color="#FFE68A") - + +<<<<<<< Updated upstream +======= + # DNA Edit group + self.dna_edit_btn = MainButton(LANG[TOOL_LANG]["DNA Edit"]) + self.dna_viewer_btn = MainButton(LANG[TOOL_LANG]["Open DNA Viewer"], color="#B8E6B3", hover_color="#C4F2BF", pressed_color="#A3D99E") + # Import group self.import_btn = MainButton(LANG[TOOL_LANG]["Import"]) self.batch_import_btn = MainButton(LANG[TOOL_LANG]["Batch Import"], color="#A7C6ED", hover_color="#B2D3F0", pressed_color="#8BB8E0") +>>>>>>> Stashed changes # Bottom buttons (existing code) self.help_btn = BottomButton(LANG[TOOL_LANG]["Help"]) self.help_btn.setToolTip(LANG[TOOL_LANG]["Help"]) @@ -308,29 +309,22 @@ class MainWindow(QtWidgets.QWidget): def create_layouts(self): main_layout = QtWidgets.QVBoxLayout(self) main_layout.setContentsMargins(2, 2, 2, 2) - - # Content layout content_layout = QtWidgets.QVBoxLayout() content_layout.setContentsMargins(5, 5, 5, 5) + bottom_layout = QtWidgets.QHBoxLayout() + bottom_layout.setContentsMargins(5, 0, 5, 5) - # DNA Edit group - dna_edit_group = QtWidgets.QGroupBox(LANG[TOOL_LANG]["DNA Edit"]) - dna_edit_layout = QtWidgets.QVBoxLayout(dna_edit_group) - dna_edit_layout.addWidget(self.dna_viewer_btn) - content_layout.addWidget(dna_edit_group) - - # Prepare group - prepare_group = QtWidgets.QGroupBox(LANG[TOOL_LANG]["Prepare"]) + prepare_group = QtWidgets.QGroupBox("Prepare") prepare_layout = QtWidgets.QVBoxLayout(prepare_group) prepare_layout.addWidget(self.body_prepare_btn) content_layout.addWidget(prepare_group) - # Import group - import_group = QtWidgets.QGroupBox(LANG[TOOL_LANG]["Import"]) + import_group = QtWidgets.QGroupBox("Import") import_layout = QtWidgets.QVBoxLayout(import_group) import_layout.addWidget(self.batch_import_btn) content_layout.addWidget(import_group) +<<<<<<< Updated upstream main_layout.addLayout(content_layout) main_layout.addStretch() @@ -338,49 +332,58 @@ class MainWindow(QtWidgets.QWidget): bottom_layout = QtWidgets.QHBoxLayout() bottom_layout.setContentsMargins(5, 0, 5, 5) +======= + dna_edit_group = QtWidgets.QGroupBox("DNA Edit") + dna_edit_layout = QtWidgets.QVBoxLayout(dna_edit_group) + dna_edit_layout.addWidget(self.dna_viewer_btn) + content_layout.addWidget(dna_edit_group) + +>>>>>>> Stashed changes icon_label = QtWidgets.QLabel() if os.path.exists(TOOL_ICON): icon = QtGui.QPixmap(TOOL_ICON).scaled(24, 24, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation) icon_label.setPixmap(icon) - + version_label = QtWidgets.QLabel(f"{TOOL_VERSION}") version_label.setStyleSheet("color: gray; font-size: 12px;") - + bottom_layout.addWidget(icon_label) bottom_layout.addWidget(version_label) - bottom_layout.addStretch() bottom_layout.addWidget(self.help_btn) bottom_layout.addWidget(self.lang_btn) - + + main_layout.addLayout(content_layout) main_layout.addLayout(bottom_layout) + main_layout.addStretch() def create_connections(self): - # Connect function buttons self.body_prepare_btn.clicked.connect(self.run_body_prepare) - self.batch_import_btn.clicked.connect(self.run_batch_import) self.dna_viewer_btn.clicked.connect(self.run_dna_viewer) +<<<<<<< Updated upstream # Existing connections +======= + self.batch_import_btn.clicked.connect(self.run_batch_import) +>>>>>>> Stashed changes self.help_btn.clicked.connect(self.help) self.lang_btn.clicked.connect(self.switch_language) #===================================== FUNCTIONS ===================================== #===================================== MAIN FUNCTIONS ===================================== - # Prepare group def run_body_prepare(self): - import BodyPrep BodyPrep.run() - # Import group def run_batch_import(self): - import BatchImport BatchImport.run() - # DNA Edit group def run_dna_viewer(self): +<<<<<<< Updated upstream import DNA_Viewer DNA_Viewer.show() +======= + DNA_Viewer.show() +>>>>>>> Stashed changes #===================================== BOTTOM LAYOUT ===================================== def help(self): @@ -391,7 +394,6 @@ class MainWindow(QtWidgets.QWidget): TOOL_LANG = 'en_US' if TOOL_LANG == 'zh_CN' else 'zh_CN' self.lang_btn.setText("ZH" if TOOL_LANG == 'en_US' else "EN") self.retranslate_ui() - QtWidgets.QToolTip.showText( self.lang_btn.mapToGlobal(QtCore.QPoint(0, -30)), "Language switched" if TOOL_LANG == 'en_US' else "语言已切换", @@ -399,27 +401,23 @@ class MainWindow(QtWidgets.QWidget): ) def retranslate_ui(self): +<<<<<<< Updated upstream # Update function button translations +======= +>>>>>>> Stashed changes self.load_dna_btn.setText(LANG[TOOL_LANG]["Load DNA"]) self.body_prepare_btn.setText(LANG[TOOL_LANG]["Body Prepare"]) - self.batch_import_btn.setText(LANG[TOOL_LANG]["Batch Import"]) self.dna_viewer_btn.setText(LANG[TOOL_LANG]["Open DNA Viewer"]) - - for button in [ - self.body_prepare_btn, - self.batch_import_btn, - self.dna_viewer_btn - ]: - button.setFont(QtGui.QFont("Microsoft YaHei", 10)) + self.batch_import_btn.setText(LANG[TOOL_LANG]["Batch Import"]) - # Update bottom button translations self.help_btn.setText(LANG[TOOL_LANG]["Help"]) self.lang_btn.setText("ZH" if TOOL_LANG == 'en_US' else "EN") - for button in [ - self.help_btn, - self.lang_btn - ]: + + for button in [self.body_prepare_btn, self.dna_viewer_btn, self.batch_import_btn]: + button.setFont(QtGui.QFont("Microsoft YaHei", 10)) + + for button in [self.help_btn, self.lang_btn]: button.setFont(QtGui.QFont("Microsoft YaHei", 10)) self.dna_file_label.setText(LANG[TOOL_LANG]["DNA File:"]) @@ -439,4 +437,4 @@ class MainWindow(QtWidgets.QWidget): #===================================== LAUNCH FUNCTIONS ===================================== def show(): - return MainWindow.show_window() + return MainWindow.show_window() \ No newline at end of file diff --git a/scripts/dna_viewer/ui/app.py b/scripts/dna_viewer/ui/app.py index 03b99fd..28eb73b 100644 --- a/scripts/dna_viewer/ui/app.py +++ b/scripts/dna_viewer/ui/app.py @@ -1,3 +1,9 @@ +<<<<<<< Updated upstream +======= +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +>>>>>>> Stashed changes import logging import os import webbrowser @@ -39,10 +45,17 @@ def show() -> None: DnaViewerWindow.show_window() +<<<<<<< Updated upstream TOOL_NAME = "Delos" WINDOW_TITLE = "DNA Viewer" WINDOW_OBJECT = "dnaviewer" TOOL_HELP_URL = f"http://10.72.61.59:3000/ArtGroup/{TOOL_NAME}/wiki" +======= +TOOL_NAME = "DNA Viewer" +WINDOW_TITLE = "DNA Viewer" +WINDOW_OBJECT = "dnaviewer" +TOOL_HELP_URL = f"https://gitea.cgnico.com/CGNICO/MetaFusion/wiki" +>>>>>>> Stashed changes SPACING = 6 WINDOW_SIZE_WIDTH_MIN = 800 WINDOW_SIZE_WIDTH_MAX = 1200 @@ -194,7 +207,10 @@ class DNABrowser(QWidget): img_file = img_path break +<<<<<<< Updated upstream # If no corresponding image is found, use default preview image +======= +>>>>>>> Stashed changes if not img_file and os.path.exists(default_preview): img_file = default_preview @@ -1015,4 +1031,4 @@ class DnaViewerWindow(QMainWindow): and all_total_meshes and self.is_enabled_and_checked(self.skin_cb) ) - self.rig_logic_cb.setEnabled(enabled) + self.rig_logic_cb.setEnabled(enabled) \ No newline at end of file