-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
QML: Library Improvements #4567
Conversation
do you want to revert that change, or would it be better to try to re-add the developer tools separately? My understanding is that because of the qt6 change, QML is our top priority right now, so it seems like making it easy to develop for QML is important. I haven't been following the qml work closely so I don't know how big a deal it would be to re-add developer tools |
f98435c
to
afd0fd8
Compare
9c36464
to
cdd5ff1
Compare
If you want to try this out: The |
df763ca
to
5d25756
Compare
Please rebase to eliminate conflicts because of #4582 |
dca16bf
to
22bd247
Compare
Do you intend to 'duplicate' librarycontrol so that it's not only responsible of the tracks table but also of managing controls/signals for the sidebar, feature bar and search bar? Reason I'm asking is I have a WIP branch where I'm moving stuff out of |
Well, ideally the LibraryControl c++ would be independent of QWidgets and not invoke any methods on widgets at all. Instead it could just emit signals that the Library widget, the sidebar widget, etc. connect to. Then we wouldn't need the qml LibraryControl implementation at all. |
So librarycontrol will also be unaware of 'widget' focus and always fire signals to all connected components? |
22bd247
to
cfcb1aa
Compare
Not necessarily. It should be possible to check the focused_widget CO value and take that into account. But there aren't that many widgets anyway, right? |
Not yet ;) I was just thinking of the library redesign, and that there will probably 2+ sets of [tracks, side/feature bar, list view and searchbar], and to me it feels more effective making librarycontrol the switch for library controls (where all present library widgets are registered when the skin is parsed), instead of letting all widgets deal with the signals independently depending on widget focus |
160cb7e
to
712f90f
Compare
712f90f
to
3542753
Compare
I had to rebase on #4616 because for some reason CI complained about |
3542753
to
1ed44fe
Compare
group: root.group | ||
key: "LoadSelectedTrack" | ||
onValueChanged: { | ||
if (value == 0 || !root.enabled) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A QtObject
does not have an enabled
property. Receiving keyboard and mouse events is a QtQuick feature and thus managed through the QtQuick qml base type Item
. This is probably why the QtObject
version breaks. Maybe because its breaking on evaluating !undefined
since root.enabled
is undefined
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also if removing the Item
dependency still didn't fix it, maybe we're using QtObject
wrong and the base should be a Component
instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Item
doesn't have an enabled
property either, I was declared here. And in any case, it should throw a warning, not cause a segfault. Component
doesn't work either, same issue as with QtObject
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was declared here
Sorry, I missed that, still Item
does have an enabled
property. I guess the declared one shadows the Item
s one. https://doc.qt.io/qt-5/qml-qtquick-item.html#enabled-prop
And in any case, it should throw a warning, not cause a segfault.
Yes, of course. The crash is still a bug, though I thought I might have found the issue thats triggering the bug and we could work around it, but I was wrong.
Merge? |
Currently does not work at all with touchscreens so we should address that soon. Other than that, LGTM |
I don't have a Touchscreen, but clicking on a row should work? |
Yes that does work, but the library is not flickable as you would expect from a touch-enabled UI |
Currently unfinisehd because the developer tools are missing in the QML skin since #4327.