-
Notifications
You must be signed in to change notification settings - Fork 164
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
classic client: UI lock up when using accessibility services #573
Comments
In my opinion, a work on improving accessibility on Qt TeamTalk should be done and TeamTalk Classic should be removed. Or, by building an optional WxWidgets interface on the Qt TeamTalk, MFC should be abandoned. Qt 5 is now meeting the accessibility requirements. |
I'm currently trying to improve accessibility of QT client. This work
will be long and hard but my gall is to completly remove classic client,
always with opinion of @bear101 of course.
|
I tried to improve navigation in the tree control for VoiceOver (on macOS) and it was very difficult. I was modifying how the Qt framework handles accessibility events in QTreeWidget but I never made it work right. One solution could be to use a QListView instead of QTreeWidget. I think QListView has better accessibility. Then navigation could be similar to iOS and Android's UI. Whether to use QListView or QTreeWidget should, however, be configurable, because it is much faster to navigate in the tree control. |
How would the sub rooms and users in a room be displayed, then? Right now, in the tree, these are revealed once you expand a room or room group. A list view doesn't have this hierarchical structure by nature. |
Parent channel and sub-channels are shown in the list so you can navigate back and forth. The Android and iOS client work the same. |
@bear101 i was able to track down a way when classic client is freezing with screenreaders. it is in tree sorting, specifically in these lines for some reason, in my debug build, with nvda turned on, it takes about 20 seconds to retrieve 100 channels and sort them. do you have any thoughts what is happening there? thanks. |
Probably NVDA want to tell about all the tree updates on initial login.
It would probably be better to suspend NVDA updates on initial login has
completed:
https://github.com/BearWare/TeamTalk5/blob/master/Client/TeamTalkClassic/TeamTalkDlg.cpp#L1238
Kind regards
Bjoern Damstedt Rasmussen
www.bearware.dk
…On 18/09/2020 20.59, beqa gozalishvili wrote:
@bear101 <https://github.com/bear101> i was able to track down a way
when classic client is freezing with screenreaders.
it is in tree sorting, specifically in these lines
HTREEITEM hItem1 = pTreeCtrl->GetChannelItem(lParam1 & ID_ITEMDATA);
HTREEITEM hItem2 = pTreeCtrl->GetChannelItem(lParam2 & ID_ITEMDATA);
for some reason, in my debug build, with nvda turned on, it takes
about 20 seconds to retrieve 100 channels and sort them.
do you have any thoughts what is happening there?
thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#573 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTH2Q4NJMOIGOYNX5MSARDSGOUXRANCNFSM4OONCIYA>.
|
unfortunately i cannot think off a way how to do that.
i tried to suppress all events in nvda so lost controll but i still
have a large time freeze when logging in even without processing
events.
…On 9/19/20, Bjørn Damstedt Rasmussen ***@***.***> wrote:
Probably NVDA want to tell about all the tree updates on initial login.
It would probably be better to suspend NVDA updates on initial login has
completed:
https://github.com/BearWare/TeamTalk5/blob/master/Client/TeamTalkClassic/TeamTalkDlg.cpp#L1238
Kind regards
Bjoern Damstedt Rasmussen
www.bearware.dk
On 18/09/2020 20.59, beqa gozalishvili wrote:
>
> @bear101 <https://github.com/bear101> i was able to track down a way
> when classic client is freezing with screenreaders.
>
> it is in tree sorting, specifically in these lines
> HTREEITEM hItem1 = pTreeCtrl->GetChannelItem(lParam1 & ID_ITEMDATA);
> HTREEITEM hItem2 = pTreeCtrl->GetChannelItem(lParam2 & ID_ITEMDATA);
>
> for some reason, in my debug build, with nvda turned on, it takes
> about 20 seconds to retrieve 100 channels and sort them.
>
> do you have any thoughts what is happening there?
>
> thanks.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#573 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ABTH2Q4NJMOIGOYNX5MSARDSGOUXRANCNFSM4OONCIYA>.
>
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#573 (comment)
--
with best regards beqa
|
You can try a very early alpha release of TeamTalk v5.7 which fixes the sort issue here: |
yes, confirm that it is much faster, however, i couldn't test with
lots of users, only with lots of channels.
but my build, which doesn't use custom sorting callbacks still works
twice faster than this.
anyway, this is far more acceptable than nothing.
thanks for efforts.
…On 1/4/21, Bjørn Damstedt Rasmussen ***@***.***> wrote:
You can try a _very_ early alpha release of TeamTalk v5.7 which fixes the
sort issue here:
http://bearware.dk/beta/TeamTalkClassic_v5.7.0.5016_Portable.zip
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
#573 (comment)
--
with best regards Beqa Gozalishvili
Tell: +995593454005
Email: beqaprogger@gmail.com
Web: https://gozaltech.org
Skype: beqabeqa473
Telegram: https://t.me/gozaltech
facebook: https://facebook.com/gozaltech
twitter: https://twitter.com/beqabeqa473
Instagram: https://instagram.com/beqa.gozalishvili
|
Following. |
hello all.
the following problem was observed when using classic client for years.
first of all, the biggest problem which every person who is using accessibility service, specifically screenreader, is facing, is massive ui lock up when logging on to the server, where is 100 or more channels, and 20-30 users.
unfortunately, i don't know what is happening, maybe there are filling ui elements and querying that ui element by screenread at the same time.
the same effect is happening, when there are 300000 characters in the chat history and tab is switched on files and then on chat again.
ui lockups are continued from 5 to 15 seconds and because of that, whole system is hanging.
you can test that by downloading nvda screenreader or simply turning on narrator by shortcut ctrl+windows+enter
possible suggestion: maybe if it is possible, it would be reasonable to put ui work into background thread, however it should be identified firstly, what is the reason of that.
The text was updated successfully, but these errors were encountered: