pcmanfm-qt
pcmanfm-qt copied to clipboard
Spinning mouse cursor in ftp or smb dialog
Not a big issue but during authentication all clicks have to be performed with a spinning cursor, also ok buttons and so on.
- Distribution & Version: all & all

That's intentional. When the loading is started, the code changes the cursor to Qt::WaitCursor in the whole application.
Or maybe, we could make an exception for the dialog somehow. Reopening to investigate...
Unfortunately, it isn't possible. The reason:
The signal Fm::Folder::startLoading is never caught on entering a directory because it's sent from the constructor of Fm::Folder. If we wait for that signal to show the busy cursor, it won't be shown at all. Therefore, we need to show the busy cursor as soon as we start to enter a directory. The password dialog is shown after that and it belongs to the app (pcmanfm-qt); hence the busy cursor over it.
EDIT: Actually, it isn't impossible. The busy cursor can be removed once the dialog is shown and resumed after it but the needed changes will clutter the code for such a small case.
Thanks anyway for your efforts!
Sorry for closing and opening this twice!
I've had second thoughts about it: it's a UX problem — although a minor one — and is worth a fix. When the dialog is shown, there's no need to the busy cursor, to say nothing of its interfering with the possible cursor shapes inside the dialog.
Let's try to find the shortest way of fixing it...
No need to be sorry ;)
No idea about the code, but if there can be a check over which type of window the cursor is and change it accordingly, maybe with a little delay?
Unfortunately, since the cursor is changed application-wise (and it should be changed so), it can't be overridden by specific windows/widgets.
The solution is restoring the usual cursor for the whole application as soon as that dialog is shown and changing it to the busy cursor when the dialog is closed. That's possible in two ways: inside pcmanfm-qt's code or inside libfm-qt's code. A third way may be possible too. I just want to find the shortest way with the smallest amount of code.
I reopened the issue after trying SMB and seeing how weird that busy cursor was over the dialog ;)