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

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

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

Post by Shmuel »

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: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Поведение сделано таким намеренно (ищите слово "MinDist" в dialog.cpp), причём так было ещё в 1.65.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

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

Исходный вопрос (баг/не баг) был задан не из праздного любопытства, а потому что это выплыло у меня в плагине после очередной модификации диалога и, в общем-то, раздражает. Хотел это исправить в Far, но засомневался, а вдруг это общепринятое поведение, в винде, например.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

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

Post by DrKnS »

Я не к тому, что это священная корова и не надо трогать, а к тому, что оно, наверное, что-то полезное делает в некоторых случаях.
Возможно, автор не предполагал, что чекбоксы могут быть между кнопок.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

DrKnS wrote: оно, наверное, что-то полезное делает в некоторых случаях
Может и делает.
Но вот сейчас проверил на GUI-диалоге с кнопкой между чекбоксами - поведение кнопок навигации обычное, без перескоков. То есть для данного примера действие кнопки Right идентично действию Tab.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

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

Post by zg »

если лечить будете, проверяйте поведение в диалоге выбора цвета. если я правильно помню, это как раз для него.
Last edited by zg on Wed 15 Mar, 2017 17:20, edited 1 time in total.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

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

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