Поведение стрелок Left/Right в диалоге

Здесь можно сообщить о найденных багах в Far.
Post Reply
Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

Поведение стрелок Left/Right в диалоге

Post by Shmuel » Tue 14 Mar, 2017 16:17

Code: Select all

far.Dialog("", -1, -1, 64, 7, nil, {
  {"DI_DOUBLEBOX",3, 1,60, 5, 0, 0, 0, 0, "test"},
  {"DI_CHECKBOX", 5, 3, 0, 0, 0, 0, 0, 0, "abc" },
  {"DI_BUTTON",  15, 3, 0, 0, 0, 0, 0, 0, "drf" },
  {"DI_CHECKBOX",40, 3, 0, 0, 0, 0, 0, 0, "foo" },
  {"DI_BUTTON",  50, 3, 0, 0, 0, 0, 0, 0, "bar" },
})
При передвижении стрелками вправо/влево фокус перескакивает между чекбоксами, пропуская кнопку. Стрелки вверх/вниз, а также Tab/ShiftTab перемещают фокус без перескоков. Это правильно? (Думаю, что баг, но решил спросить на всякий случай).

Также поведение стрелок влево/вправо кажется странным в диалоге плагина Case Conversion.

User avatar
DrKnS
Posts: 4644
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

Поведение стрелок Left/Right в диалоге

Post by DrKnS » Wed 15 Mar, 2017 15:14

Поведение сделано таким намеренно (ищите слово "MinDist" в dialog.cpp), причём так было ещё в 1.65.

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

Поведение стрелок Left/Right в диалоге

Post by Shmuel » Wed 15 Mar, 2017 15:32

Есть ли смысл в таком поведении? (То, что это намеренно и давно, не означает, что так обязательно должно быть).

Исходный вопрос (баг/не баг) был задан не из праздного любопытства, а потому что это выплыло у меня в плагине после очередной модификации диалога и, в общем-то, раздражает. Хотел это исправить в Far, но засомневался, а вдруг это общепринятое поведение, в винде, например.

User avatar
DrKnS
Posts: 4644
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 125 times
Contact:

Поведение стрелок Left/Right в диалоге

Post by DrKnS » Wed 15 Mar, 2017 16:04

Я не к тому, что это священная корова и не надо трогать, а к тому, что оно, наверное, что-то полезное делает в некоторых случаях.
Возможно, автор не предполагал, что чекбоксы могут быть между кнопок.

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

Поведение стрелок Left/Right в диалоге

Post by Shmuel » Wed 15 Mar, 2017 16:58

DrKnS wrote: оно, наверное, что-то полезное делает в некоторых случаях
Может и делает.
Но вот сейчас проверил на GUI-диалоге с кнопкой между чекбоксами - поведение кнопок навигации обычное, без перескоков. То есть для данного примера действие кнопки Right идентично действию Tab.

User avatar
zg
zero-gravity
Posts: 5312
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 48 times
Contact:

Поведение стрелок Left/Right в диалоге

Post by zg » Wed 15 Mar, 2017 17:20

если лечить будете, проверяйте поведение в диалоге выбора цвета. если я правильно помню, это как раз для него.
Last edited by zg on Wed 15 Mar, 2017 17:20, edited 1 time in total.

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

Поведение стрелок Left/Right в диалоге

Post by Shmuel » Wed 15 Mar, 2017 20:53

Сделал только для чекбоксов. Если что-то плохое вылезет - будем думать.

Post Reply

Return to “Глюки и баги”