BUG: 397595
FIXED-IN: 5.15
The UI expects all decorations in the model to have a 'theme name'
which wasn't always set.
davidedmundson | |
mart | |
ngraham |
BUG: 397595
FIXED-IN: 5.15
The UI expects all decorations in the model to have a 'theme name'
which wasn't always set.
With both kcmshell and systemsettings5, switched between all themes in the KCM.
Each time saving the changes and then closing/reopening the application altogether.
Lint OK |
No Unit Test Coverage |
Buildable 6888 | |
Build 6906: arc lint + arc unit |
@ngraham, I reproduced your test environment (made a Neon Developer VM) and got the same behavior: I didn't have Breeze compiled by kdesrc-build, only via packages.
After building it, it became more difficult to reproduce.
This fixed it in all cases for me.
Added @davidedmundson since I'm not 100% sure how some themes have metadata and some don't, and I might be using themeName incorrectly.
I'm afraid this still doesn't work for me. I still see the current theme selected only when running kcmshell5 kwindecoration, but not when browsing to the page in System Settings. :(
Try this. If it also doesn't work, I'll make a patch with debugging and will have to ask you to try it :)
Try this. If it also doesn't work, I'll make a patch with debugging and will have to ask you to try it :)
Lets go straight for that.
If you have a patch that works but can't explain why I'll instantly reject it anyway.
Also, we can't have a situation where both the C++ side and the QML side is responsible for setting the currentIndex on the model.
The UI expects all decorations in the model to have a 'theme name'
Where?
Sure, why not cut the chase :)
Also, we can't have a situation where both the C++ side and the QML side is responsible for setting the currentIndex on the model.
If I can be sure that the QML is loaded when load() runs, I'll just ditch this initial theme variable nonsense that was there from the beginning.
The UI expects all decorations in the model to have a 'theme name'
Where?
'Twas a long day - I didn't mean the UI, but DecorationsModel::findDecoration()
The latest revision works for me for both kcmshell5 and in System Settings. Here's the logging output: https://paste.kde.org/pckuki7oq
Probably hold off on landing this until we can make sense of the logging and figure out what the most appropriate diff is. :)
Not sure what happened with phab, Nate has this as accepting and resigning.
Obviously it can't merge with the debug.
I don't like this approach, it doesn't follow data<-->UI separation which the other (much nicer) newly QML ported KCMs have.
I also can't understand how it magically fixes it for Nate when his output doesn't even have
"TEST current plugin on load: " in it which means we know it didn't get in this new code?
I'm also really surprised about Nate's log output; there should be something. It should not be possible for that warning to not show up. @ngraham - did you run kcmshell/systemsettings via the command line? can you check in your ~/.xsession-errors ?
Logs aside - I'll be dropping this diff and refactoring the whole thing to the new way.
My log output was wrong and only showed part of it, due to a Konsole bug: https://bugs.kde.org/show_bug.cgi?id=403117.
Do you want me to test again and attach proper logs, or would that be a waste of time because of your planned refactoring?
now it makes sense 😆 Thank you!
It seems it's all fine. I'll take the fix into the refactoring.