move all the real models into a thread distinct from the UI thread to not block
mostly works like before but without blocking the UI thread
not
Elisa |
move all the real models into a thread distinct from the UI thread to not block
mostly works like before but without blocking the UI thread
not
Manually test and did not notice too much problems.
Need more tests.
No Linters Available |
No Unit Test Coverage |
Someone once said to me that large diffs are hard to review :)
Just from reading the code, the idea is to put the mediaplaylist to the worker thread the same as all the models, and the proxy model is basically used for interacting with the gui? If so, I'm not so sure abut this approach. Basically we are not using the functionality of qsortilterproxymodel at all, it's just an additional layer between interface and model. Or do you plan to use some of the sorting/filter options?
Can't this also be achieved by moving the playlist to the different thread and connect it by signals?
I haven't tested yet, but some comments/questions inline
src/elisaapplication.cpp | ||
---|---|---|
270 | Does the proxy model really have to know about the ensurePlay signal? | |
src/qml/ElisaMainWindow.qml | ||
877 | You are reverting changes I made here. Did you do this on purpose or is this a leftover from rebase? I didn't like the extra variable just for one view, that's why I removed it and pushed the loading of the album data to the models. |
I am working on splitting this diff to only include the fast restore of big playlist on start. This one will already be quite big due to changes to the automatic tests.