diff --git a/Data/current.json b/Data/current.json index 16061b51..93cc150b 100644 --- a/Data/current.json +++ b/Data/current.json @@ -3,27 +3,34 @@ "Assets/right eye/right eye_054.png", "Assets/left eye/left eye_001.png", "Assets/left eye/left eye_056.png", - "Assets/eyebrows/eyebrows_003.png", - "Assets/eyebrows/eyebrows_004.png", - "Assets/mouth/[mouth]_009.PNG", - "Assets/mouth/[mouth]_007.PNG", - "Assets/mouth/[mouth]_004.PNG", - "Assets/blush/blush_029.png", - "Assets/blush/blush_030.png", - "Assets/hairbows/hairbows_119.png", + "Assets/hands/hands_050.png", + "Assets/hairbows/hairbows_168.png", + "Assets/hairbows/hairbows_242.png", + "Assets/hairbows/hairbows_260.png", + "Assets/hairbows/hairbows_321.png", + "Assets/hairbows/hairbows_322.png", "Assets/ahoge/ahoge_026.png", "Assets/bangs/bangs_154.png", "Assets/side pieces/side pieces_159.png", "Assets/side pieces/side pieces_160.png", - "Assets/ponytails/ponytails_141.png", - "Assets/ponytails/ponytails_142.png", + "Assets/ponytails/ponytails_249.png", + "Assets/ponytails/ponytails_250.png", "Assets/glasses/glasses_044.png", "Assets/face assc/face assc_087.png", "Assets/face assc/face assc_088.png", + "Assets/eyebrows/eyebrows_003.png", + "Assets/eyebrows/eyebrows_004.png", "Assets/nose/[nose]_001.PNG", - "Assets/overshirts/overshirts_115.png", - "Assets/undershirt style/undershirt style_040.png", - "Assets/undershirts/undershirts_027.png", + "Assets/mouth/[mouth]_009.PNG", + "Assets/mouth/[mouth]_007.PNG", + "Assets/mouth/[mouth]_004.PNG", + "Assets/overshirts/overshirts_062.png", + "Assets/undershirt style/undershirt style_033.png", + "Assets/undershirts/undershirts_090.png", + "Assets/blush/blush_029.png", + "Assets/blush/blush_030.png", "Assets/body/body_049.png", + "Assets/wings/wings_001.png", + "Assets/wings/wings_002.png", "Assets/hairback/hairback_172.png" ] \ No newline at end of file diff --git a/Data/current_model.json b/Data/current_model.json index 27a83a6a..befd4b51 100644 --- a/Data/current_model.json +++ b/Data/current_model.json @@ -1,4 +1,4 @@ { - "name": "Academic", + "name": "Hoodie", "type": "Avatars" } \ No newline at end of file diff --git a/UI/audioMonitor.ui b/UI/audioMonitor.ui index 327ed8c8..9a3c1de8 100644 --- a/UI/audioMonitor.ui +++ b/UI/audioMonitor.ui @@ -7,7 +7,7 @@ 0 0 267 - 195 + 206 diff --git a/UI/main.ui b/UI/main.ui index a2a2a46a..32125b6f 100644 --- a/UI/main.ui +++ b/UI/main.ui @@ -1758,7 +1758,7 @@ QFrame{ QFrame::Raised - + @@ -1813,6 +1813,34 @@ QFrame{ + + + + + 0 + 0 + + + + PointingHandCursor + + + Qt::LeftToRight + + + + + + Flip canvas horizontaly + + + false + + + false + + + @@ -1847,6 +1875,114 @@ QFrame{ + + + + Export PNG + + + + 0 + + + 23 + + + 0 + + + 0 + + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + 0 + 0 + + + + PointingHandCursor + + + Save PNG Image + + + + + + + + + + + + + ../Icons/image-mobile-ui-svgrepo-com.svg../Icons/image-mobile-ui-svgrepo-com.svg + + + + 25 + 25 + + + + + + + + + 0 + 0 + + + + + + + <html><head/><body><p><span style=" font-weight:600;">Alpha Composite:</span> Best for images with some transparency but it can't do different size images.</p><p><span style=" font-weight:600;">Pillow Paste:</span> Best for images with different sizes and positions, but it struggles with transparency.</p><p><span style=" font-weight:600;">Alpha Composite + Pillow Paste:</span> Tries to combine the two for a better image, won't make promises.</p><p><span style=" font-weight:600;">Screenshot:</span> Just takes a screenshot of the model.</p><p><span style=" font-weight:600;">Screenshot + Chroma Key:</span> Just takes a screenshot of the model and tries to remove the background.</p></body></html> + + + 10 + + + QComboBox::AdjustToMinimumContentsLengthWithIcon + + + + Select Method... + + + + + Alpha Composite + + + + + Pillow Paste + + + + + + + + + + @@ -2156,129 +2292,6 @@ QFrame{ - - - - Export PNG - - - - 0 - - - 23 - - - 0 - - - 0 - - - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - 0 - 0 - - - - PointingHandCursor - - - Save PNG Image - - - - - - - - - - - - - ../Icons/image-mobile-ui-svgrepo-com.svg../Icons/image-mobile-ui-svgrepo-com.svg - - - - 25 - 25 - - - - - - - - - 0 - 0 - - - - - - - <html><head/><body><p><span style=" font-weight:600;">Alpha Composite:</span> Best for images with some transparency but it can't do different size images.</p><p><span style=" font-weight:600;">Pillow Paste:</span> Best for images with different sizes and positions, but it struggles with transparency.</p><p><span style=" font-weight:600;">Alpha Composite + Pillow Paste:</span> Tries to combine the two for a better image, won't make promises.</p><p><span style=" font-weight:600;">Screenshot:</span> Just takes a screenshot of the model.</p><p><span style=" font-weight:600;">Screenshot + Chroma Key:</span> Just takes a screenshot of the model and tries to remove the background.</p></body></html> - - - 10 - - - QComboBox::AdjustToMinimumContentsLengthWithIcon - - - - Select Method... - - - - - Alpha Composite - - - - - Pillow Paste - - - - - AlphaCom + PILPaste - - - - - Screenshot - - - - - Screenshot + Chroma Key - - - - - - - - - - diff --git a/Viewer/viewer.html b/Viewer/viewer.html index 7dce392a..884f3b25 100644 --- a/Viewer/viewer.html +++ b/Viewer/viewer.html @@ -22,6 +22,28 @@ ; "/> + + - - - - - - - - - - + + + + + diff --git a/main.py b/main.py index 345d7b26..b58e0ff9 100644 --- a/main.py +++ b/main.py @@ -169,6 +169,7 @@ def __init__(self): self.comboBox.currentIndexChanged.connect(self.update_settings) self.PNGmethod.currentIndexChanged.connect(self.update_settings) self.HideUI.toggled.connect(self.update_settings) + self.flipCanvasToggle.toggled.connect(self.flipCanvas) self.SettingsGallery = SettingsToolBox() self.SettingsGallery.settings_changed.connect(self.saveSettings) @@ -230,6 +231,12 @@ def __init__(self): self.toggle_editor() self.update_viewer(self.current_files, update_gallery=True) + def flipCanvas(self): + if self.flipCanvasToggle.isChecked(): + self.viewer.page().runJavaScript("document.body.style.transform = 'scaleX(-1)';") + else: + self.viewer.page().runJavaScript("document.body.style.transform = 'scaleX(1)';") + def update_keys(self): twitch_dialog = twitchKeysDialog(APP_ID=self.twitch_api_client, APP_SECRET=self.twitch_api_secret) twitch_dialog.new_keys.connect(self.start_twitch_connection) @@ -947,8 +954,7 @@ def event(self, event): elif event.type() == QtCore.QEvent.Type.HoverMove and self.frame_4.isHidden(): self.showUI() elif event.type() == QtCore.QEvent.Type.HoverLeave: - self.hideUI() - # QtCore.QTimer.singleShot(400, self.hideUI) + self.hideUI_() except AttributeError: pass return super().event(event) @@ -961,7 +967,7 @@ def showUI(self): self.donationBtn.show() self.viewerFrame_2.setStyleSheet(f"border-radius: 20px; background-color: {self.color}") - def hideUI(self): + def hideUI_(self): if self.HideUI.isChecked(): self.frame_4.hide() self.frame_5.hide()