Прокрутка длинных строк в меню и списках

Разработка Far.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 5 times

Post by Skirda »

Latest post of the previous page:

ну... здесь можно... добавить какую нить последовательность...
типа.... Ctrl-N (как в панелях).
Т.е.
1. Alt-Left/Right (текущую позицию крутим)
2. Shift-Alt-Left/Right (ээ... весь список - по аналогии с панелями)
здесь вариация - Alt-Left/Right весь список, с шифтом, только текущую поз.
3. Ctrl-N - переключалка: как сейчас или с прокруткой.
User avatar
HaRT
Moderator
Posts: 9695
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 124 times
Been thanked: 254 times

Post by HaRT »

Skirda
Тогда уж лучше везде по AltLeft/Right прокручивать все элементы, а по AltShiftLeft/Right — только текущий.
Идею про CtrlN поддерживаю, но предлагаю, чтобы по умолчанию было так, как сейчас (т.е. с “отсечением посередине”).

А вообще истории — это не единственное место, где не помешала бы более умная прокрутка строк, “отсекаемых посередине” (ещё один пример — заголовок файловой панели с длинным путём). У меня есть соображения, в чём именно она могла бы быть умнее; если интересно, я их опубликую.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 5 times

Post by Skirda »

HaRT wrote:Skirda
Тогда уж лучше везде по AltLeft/Right прокручивать все элементы, а по AltShiftLeft/Right — только текущий.
Идею про CtrlN поддерживаю, но предлагаю, чтобы по умолчанию было так, как сейчас (т.е. с “отсечением посередине”).
Уболтал :-)
HaRT wrote:А вообще истории — это не единственное место, где не помешала бы более умная прокрутка строк, “отсекаемых посередине” (ещё один пример — заголовок файловой панели с длинным путём). У меня есть соображения, в чём именно она могла бы быть умнее; если интересно, я их опубликую.
Выкатывай... либо в отдельной теме, либо на мантисе
User avatar
HaRT
Moderator
Posts: 9695
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 124 times
Been thanked: 254 times

Post by HaRT »

Skirda wrote: Уболтал
Желательно также не забыть про (Shift)AltHome/-End
HaRT wrote: Выкатывай... либо в отдельной теме, либо на мантисе
Угу, постараюсь на этой неделе.
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

Skirda
Тока этот CtrlN надо на уровне АПЙ сделать.
Флаги для psi.Menu:
1. TRUNCSTR
2. TRUNCPATH
3. TRUNC?????
4. без флагов прокрутка.
И тогда у каждой менюшки будет дефолтный метод обрезания который можно времено сменить если это надо (CtrlN).
User avatar
DrKnS
Posts: 5813
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 346 times

Post by DrKnS »

И скобка } справа, если строка необрезана и не влезла, тоже лишней не будет.
User avatar
zg
zero-gravity
Posts: 5878
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 158 times
Contact:

Post by zg »

t-rex wrote:Skirda
Тока этот CtrlN надо на уровне АПЙ сделать.
Флаги для psi.Menu:
1. TRUNCSTR
2. TRUNCPATH
3. TRUNC?????
4. без флагов прокрутка.
И тогда у каждой менюшки будет дефолтный метод обрезания который можно времено сменить если это надо (CtrlN).
ну я нарушу вашу идилию и скажу что я лично против меню и тем более его дальнейшего развития. всё описанное делается листбоксом уже сейчас.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 5 times

Post by Skirda »

DrKnS wrote:И скобка } справа, если строка необрезана и не влезла, тоже лишней не будет.
Не катит - полоса скролбара там, справа
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 5 times

Post by Skirda »

t-rex wrote:Skirda
Тока этот CtrlN надо на уровне АПЙ сделать.
Флаги для psi.Menu:
1. TRUNCSTR
2. TRUNCPATH
3. TRUNC?????
4. без флагов прокрутка.
И тогда у каждой менюшки будет дефолтный метод обрезания который можно времено сменить если это надо (CtrlN).
В меню (VMenu) Ctrl-N ненужен, т.к. здесь не только пути встречаются.
zg wrote:ну я нарушу вашу идилию и скажу что я лично против меню и тем более его дальнейшего развития. всё описанное делается листбоксом уже сейчас.
Если ты про Ctrl-N - то согласен. А про прокрутку... надо наверное сделать его зависимым от флага - типа, реагировать на прокрутку или "послать".
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

zg
Ну так listbox это тот же самый menu, класс то тот же, и AltСтрелки в нём тоже работают.
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

Skirda
Отключать прокрутку смысла не вижу. А вот CtlN который будет переключатся между разными режимами обрезания будет полезен везде, но для него всеровно перелопачивать всё надо так что...
User avatar
HaRT
Moderator
Posts: 9695
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 124 times
Been thanked: 254 times

Post by HaRT »

Skirda wrote:
DrKnS wrote:И скобка } справа, если строка необрезана и не влезла, тоже лишней не будет.
Не катит - полоса скролбара там, справа
Так ведь можно сделать, как в просмотрщике: жёлтый ‘>’ вплотную к полосе прокрутки.
Кстати, и в панелях при включённой полосе прокрутки такое тоже бы не помешало, чтобы сразу видеть, где имена отсекаются.
t-rex wrote: А вот CtlN который будет переключатся между разными режимами обрезания будет полезен везде
Поддерживаю.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 5 times

Post by Skirda »

t-rex wrote:Skirda
А вот CtlN который будет переключатся между разными режимами обрезания будет полезен везде, но для него всеровно перелопачивать всё надо так что...
А что перелопачивать то?
Добавить пару-тройку флагов:
FMENU_TRUNCPATH
FMENU_TRUNCSTR
FMENU_TRUNCSTREND
и их корректно обработать в vmenu.cpp
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

Skirda
Чтоб работал CtrlN нужно хранить и оригинальную строку, если не ошибаюсь то сейчас такого нету.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 5 times

Post by Skirda »

t-rex wrote:Skirda
Чтоб работал CtrlN нужно хранить и оригинальную строку, если не ошибаюсь то сейчас такого нету.
Зачем?
Строка у нас и так оригинальная. Обработка этих флагов - только при выводе, в VMenu::ShowMenu()
User avatar
t-rex
Страшный и ужасный
Posts: 4907
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by t-rex »

Skirda
Ну тогда зашибись.
Post Reply

Return to “Development”