Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"skin:" path problem: base files cannot be included into custom skin by "skin:path/to/template" #12614

Open
mxmilkiib opened this issue Jan 22, 2024 · 2 comments
Labels

Comments

@mxmilkiib
Copy link
Contributor

mxmilkiib commented Jan 22, 2024

Bug Description

If you reference/include a theme file that's back in the theme base dir by using "skin:", then if that base file uses "skin:", the path is incorrect.

Temp fix is to copy files to subtheme replace some of the "skin:" with "skins:/Basetheme".

...
warning [Main] LegacySkinParser::loadTemplate - setContent failed see "/home/milk/.mixxx/skins/Deere-RekboxHighwave/skin:left_right_1state_button.xml" line: 0 column: 0
warning [Main] LegacySkinParser::loadTemplate - message: "QDomDocument::setContent: Failed to open device."
warning [Main] Skin parsing failed at skins:Deere/deck_looping_controls.xml:56 <Template>: Template instantiation for template failed: skin:left_right_1state_button.xml | ./src/skin/legacy/legacyskinparser.cpp:1735
warning [Main] Could not open template file: "/home/milk/.mixxx/skins/Deere-RekboxHighwave/skin:left_right_1state_button.xml"
warning [Main] QDomDocument called with unopened QIODevice. This will not be supported in future Qt versions.
warning [Main] QDomDocument::setContent: Failed to open device.

warning [Main] LegacySkinParser::loadTemplate - setContent failed see "/home/milk/.mixxx/skins/Deere-RekboxHighwave/skin:left_right_1state_button.xml" line: 0 column: 0
warning [Main] LegacySkinParser::loadTemplate - message: "QDomDocument::setContent: Failed to open device."
warning [Main] Skin parsing failed at skins:Deere/deck_looping_controls.xml:72 <Template>: Template instantiation for template failed: skin:left_right_1state_button.xml | ./src/skin/legacy/legacyskinparser.cpp:1735
warning [Main] Could not open template file: "/home/milk/.mixxx/skins/Deere-RekboxHighwave/skin:left_right_2state_button.xml"
warning [Main] QDomDocument called with unopened QIODevice. This will not be supported in future Qt versions.
warning [Main] QDomDocument::setContent: Failed to open device.
...

Version

2.4-beta

OS

Linux

@mxmilkiib mxmilkiib added the bug label Jan 22, 2024
@mxmilkiib mxmilkiib changed the title Skin: theme system can't see "skins:BaseTheme/secondfile.xml" refered to from a custom "skin:firstfile.xml" Skin: theme system can't see "skins:BaseTheme/secondfile.xml" refered to from a custom "skin:firstfile.xml" as "skin:secondfile.xml" Jan 22, 2024
@mxmilkiib mxmilkiib changed the title Skin: theme system can't see "skins:BaseTheme/secondfile.xml" refered to from a custom "skin:firstfile.xml" as "skin:secondfile.xml" Theme: "skin:" path problem; base files refered back to in custom files cannot themselves use "skin:" Jan 22, 2024
@ronso0
Copy link
Member

ronso0 commented Jan 22, 2024

Hmm, this reveals multiple issues:

  1. mass-replace in Skins: add skins: path alias #12463 missed a lot of <Template src="skin: occurences
  2. stylesheets also need to use skins:[skin name]
  3. clarify that sub-level templates are not magically detected, i.e. the instructions how mod an official skin with minimal effort need to be completed
  4. same for icons/style mods

@ronso0 ronso0 changed the title Theme: "skin:" path problem; base files refered back to in custom files cannot themselves use "skin:" "skin:" path problem: base files cannot be included into custom skin by "skin:path/to/template" Jan 22, 2024
@ronso0
Copy link
Member

ronso0 commented Jan 22, 2024

Fixed by #12621

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants