quotient-im / Quaternion

A Qt-based IM client for Matrix
https://matrix.org/ecosystem/clients/quaternion/
GNU General Public License v3.0
644 stars 108 forks source link

More uses for the area above chat edit and the status bar #215

Open KitsuneRal opened 6 years ago

KitsuneRal commented 6 years ago

Historically it was a place to show typing notifications; then it gained completion candidates. In general, this very much looks like another status line. I see two options, judging by what I see in other applications:

I tend to still shift notifications to the timeline but keep this area for a 'quick interaction bar', only opening it when needed.

KitsuneRal commented 6 years ago

Consider that typing notifications are very transient; if they are put to the timeline they will make the timeline move around or obscure the last message, which may be slightly annoying.

KitsuneRal commented 6 years ago

On the other hand, looks like we have an inadvertent A/B test since a user with Qt 5.7.1 on FreeBSD sees an empty QLabel getting zero height, effectively collapsing if there's nothing to show. And the user is happy with that.

KitsuneRal commented 6 years ago

Apparently, the issue really depends on the platform and the Qt version: Qt 5.10 on Windows 7 collapses the label as well. There's still an issue with the label strutting the window to the sides when too many people are typing (#93); so the case with using the QML list footer (that can hold a QML Label with text eliding capabilities that QLabel doesn't have) instead still holds. Update: #93 no more reproduces with Qt 5.10 either; so this panel is yet to stay.

KitsuneRal commented 6 years ago

Typing notifications should still go to the status bar - I don't see them as so important that they have to show up in the most prominent place). As for the panel about the message input, it will thereby be dubbed "system dialog panel" or "system confirmations panel" and in the future versions swallow those modal dialogs for joining, forgetting (#236) and probably banning.