Bug 11260

Summary: Невозможно пройти установку с клавиатуры
Product: Sisyphus Reporter: Anton Farygin <rider>
Component: installerAssignee: Anton V. Boyarshinov <boyarsh>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: antohami, boyarsh, imz, inger, klark, ldv, mike, rider, sem, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 18338, 18339, 18340    
Bug Blocks: 18510    

Description Anton Farygin 2007-03-29 11:47:30 MSD
В alterator-install2 невозможно пройти установку, не используя мышь.

В частности шаг выбора лицензии не проходим по факту - не переключается с
помощью TAB на кнопку "Вперёд".

В других шагах не работает Enter для подтверждения выбора, и перепутан порядок
переключения по TAB и Shift+TAB.

Это проверялось на server-i586-20070315.iso

Для серверного дистрибутива возможность проходить установку без использования
мыши - критична.
Comment 1 Sergey V Turchin 2007-03-30 18:18:40 MSD
Я добавил в git артибут focus ко всем виджетам.

Порядок переключения фокуса по TAB можно сделать только изменением порядка 
создания новых виджетов в модуле.
Comment 2 Alexey Gladkov 2007-03-30 18:30:55 MSD
А почему нельзя восмпользоваться этой функцией?

void QWidget::setTabOrder ( QWidget * first, QWidget * second )  [static]
Moves the second widget around the ring of focus widgets so that keyboard focus
moves from the first widget to the second widget when the Tab key is pressed.
Note that since the tab order of the second widget is changed, you should order
a chain like this:
setTabOrder(a, b); // a to b
setTabOrder(b, c); // a to b to c
setTabOrder(c, d); // a to b to c to d

я понимаю что это сложно ... но возможно же
Comment 3 Sergey V Turchin 2007-03-30 18:38:16 MSD
(In reply to comment #2)
> А почему нельзя восмпользоваться этой функцией?
Не сложно. Я че-то думал, что это Qt-Designer сам виджеты расставляет.

Вопрос, как это делать, чтоб не Qt-specific было.
Если смысла нет не Qt-specific делать, то сейчас сделаю.
Comment 4 Alexey Gladkov 2007-03-30 18:43:21 MSD
(In reply to comment #3)
> Вопрос, как это делать, чтоб не Qt-specific было.
> Если смысла нет не Qt-specific делать, то сейчас сделаю.

Сейчас смысла нет делать не Qt-specific
Comment 5 Sergey V Turchin 2007-03-30 19:18:39 MSD
(In reply to comment #4)
> Сейчас
Меня "потом" тоже интересует.

Comment 6 Alexey Gladkov 2007-04-04 19:17:25 MSD
Вообщем, пока Сергей думает я перенону эту багу на браузер т.к. пока в нём( и в
alterator) нет поддержки порядка перехода по TAB в alterator-install* сделать
ничего нельзя.

Component => alterator-browser-qt
Comment 7 Anton Farygin 2007-04-04 20:48:24 MSD
Серёг, надо ускорится. 

Ты же мне говорил что это можно просто сделать ?
Comment 8 Sergey V Turchin 2007-04-05 14:31:08 MSD
alterator-browser-qt-2.9.46
Comment 9 Alexey Gladkov 2007-04-05 14:43:21 MSD
(In reply to comment #8)
> alterator-browser-qt-2.9.46

Можно узанть что это значит?
Comment 10 Sergey V Turchin 2007-04-05 15:18:24 MSD
* Tue Apr 03 2007 Sergey V Turchin <zerg at altlinux dot org> 2.9.46-alt1

- add possibility to ignore outgoing events during special request to 
alterator
- support one-file design themes
- add tab-order, focus attributes to all widgets
- add possibility remove focus from widget
Comment 11 Alexey Gladkov 2007-04-05 15:26:27 MSD
(In reply to comment #10)
> * Tue Apr 03 2007 Sergey V Turchin <zerg at altlinux dot org> 2.9.46-alt1

Тогда осталось попросить Стаса, если у него время будет добавить эти атрибуты.

Component => alterator-lookout
Comment 12 inger@altlinux.org 2007-04-06 11:39:47 MSD
Хотел бы я посмотреть на лицо пользователя, который будет пользоваться этим
"таб-ордер".

Я ради спортивного интереса попробовал сделать три кнопки, не с традиционным
tab-order (1,2,3), а с обратным (3,2,1). Вот что получилось:
--
(document:id b1 (button "b1"))
(document:id b2 (button "b2"))
(document:id b3 (button "b3"))


(document:root (when loaded
                     (b1 tab-order b3)
                     (b2 tab-order b1)
                     (b3 tab-order b1)))
--

А теперь, внимание, вопрос. Кто-нибудь что-то понял? Что на самом деле означает
инструкция tab-order?

(я то знаю, я в исходники посмотрел ;))

P.S. В данному случае выставление возможно только в on-load ибо возникают
пересекающиеся крест-накрест определения переменных и их использование.

Хочу tab-order для людей ;)

Comment 13 inger@altlinux.org 2007-04-06 11:40:15 MSD
На доработку (или переработку)
Comment 14 Sergey V Turchin 2007-04-06 14:19:44 MSD
(In reply to comment #12)
> Хочу tab-order для людей ;)
Какие проблемы? Говори, как хочешь - сделаю.
Comment 15 inger@altlinux.org 2007-04-06 16:52:24 MSD
Ну видимо нумерацию.
Comment 16 Anton Farygin 2007-04-06 16:57:45 MSD
Какую нумерацию то ?

Стас, покажи пальцем ;)

Ну или пример кода.
Comment 18 Sergey V Turchin 2007-04-06 18:41:17 MSD
Какой имя аргумента будет?
tab-index?
Comment 19 Sergey V Turchin 2007-04-06 20:23:40 MSD
(In reply to comment #17)
> Хочу tab-order для людей ;)
тогда он будет работать только в конструкторе
Comment 20 Sergey V Turchin 2007-04-10 14:12:08 MSD
alterator-browser-qt-2.9.48-alt1
Comment 21 Sergey V Turchin 2007-04-10 14:12:51 MSD
забыл, что перевесить нужно :-)
Comment 22 Alexey Gladkov 2007-04-10 15:48:42 MSD
Забираю. Когда-нибудь сделаю.
Comment 23 Michael Shigorin 2007-11-10 15:30:26 MSK
Тем временем установка неоднократно пройдена.
Comment 24 Anton Farygin 2007-11-11 13:38:42 MSK
И несмотря на это, нужно, как минимум - упорядочить виджеты для переключения по TAB

Это касается всех модулей.
Comment 25 Sergey V Turchin 2007-11-12 15:50:56 MSK
(In reply to comment #24)
> упорядочить виджеты для переключения по TAB
Для этого есть атрибуты tab-index и tab-order

Comment 26 Michael Shigorin 2009-08-04 16:19:49 MSD
IMHO FIXED