Page 7 of 11

Re: DialogTools — дополнительные возможности в диалогах

Posted: Thu 23 Feb, 2012 15:30
by Centaur

Latest post of the previous page:

Ну а какой смысл в диалоге, у которого один из контролов — [x] *.ac[bei]? Это три разных формата трёх разных архиваторов, придумайте хоть один сценарий, когда пользователь мог бы хотеть включить/выключить именно эти три формата одновременно и согласованно?

Re: DialogTools — дополнительные возможности в диалогах

Posted: Thu 23 Feb, 2012 15:34
by John Doe
Справедливо, но не в ту тему.

P.S.
А вообще такая запись изначально "от бедности": ради экономии места в строке.
С появлением же удобных средств редактирования необходимость в такой "экономии" отпадает.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Thu 23 Feb, 2012 19:34
by lazyeugene
Не из бедности, а из желания максимально компактно перечислить. Не чтобы сэкономить место, а чтобы писать меньше и редактировать соответственно тоже меньше.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 05:47
by Kildor
Чекбоксы зло. Из-за того что там ограниченный набор вероятностей, и если в некоторых случаях это не смертельно, то чаще всего — всё равно необходимо поле ввода для ввода дополнительных масок. А если есть поле ввода — то зачем его ещё и дублировать чекбоксами? Если так хочется неестественного интеллекта в диалоге — проще добавить рядом с этим полем выпадающий список с набором предустановок, при выборе которой эти предустановки будут добавляться в поле ввода.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 10:11
by John Doe
Какие предустановки?
Какое дублирование?
Какое зло?

Мы тут вообще-то в теме DialogTools, и обсуждаем плагин, предоставляющий дополнительные возможности для облегчения работы с диалогами.

Или вы и впрямь считаете, что всегда и везде удобнее работать с длиннющей строкой?

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 10:52
by Centaur
Мы считаем, что распилить произвольную длинную строку по запятым и каждый кусочек представить чекбоксом — в общем случае неосмысленно. А там, где хоть как-то осмысленно (а именно для масок) именно это отображение длинной строки в множество чекбоксов не является самым удачным (см. доводы про редактирование масок, добавление масок, и про практику объединения несвязанных расширений под одной маской с character class’ом).

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 11:07
by Kildor
Юрий уже всё сказал.

И я не представляю себе, как в общих случаях превращение строки в россыпь чекбоксов способно облегчить жизнь.

Вот пример (раз уж мы говорим о «диалог-тулз»).

Раскраска файлов, в диалоге редактирования правил есть поле для ввода файловых масок. Как по твоему должна выглядеть россыпь чекбоксов в ситуации «создаю новое правило раскраски»? А в ситуации «есть правило для файлов МС-офиса, хочу чтоб оно покрывало ещё и файлы ООо»?

А как быть в диалоге настройки ассоциаций?

Я могу понять теоретически возможные редкие ситуации, когда чекбоксы могут быть удобнее чем строка ввода, но мне ни одной такой ситуации в голову не приходит. Разве что диалог фильтра панели (CtrlI), и то с большой натяжкой.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 11:14
by John Doe
Я обращался к Kildor, т.к. его доводы абсолютно непонятны (ощущение будто темой промазал).

Centaur
Ваши доводы понятны (я на них выше ответил).
Но могу и детально:
не является самым удачным
Мы разве ищем единственный-неповторимый-мегауниверсальный идеал?
У такого представления (как и у любого другого), есть достоинства, есть и недостатки.
редактирование масок
решаемо, если маски будут в виде полей.
добавление масок
решаемо, достаточно добавить в диалог 1 поле ввода.
про практику объединения несвязанных расширений под одной маской с character class’ом
Отличная возможность уйти от этой сомнительной практики.

Вообще готовый код же есть, надо только вписать его в DT.
А если кто-то реализует ещё разбиение на строки в редакторе — отлично, будут 2 пункта в меню.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 11:22
by John Doe
Kildor wrote:Раскраска файлов, в диалоге редактирования правил есть поле для ввода файловых масок. Как по твоему должна выглядеть россыпь чекбоксов в ситуации «создаю новое правило раскраски»?
Разве я где-то выше предлагал выкинуть из фара поля ввода, повсеместно заменив их чекбоксами??

DialogTools это лишь набор [довольно специфичных] инструментов. Каждый пользуется чем ему удобно.
Лично я прекрасно представляю где бы пользовался "чекбоксами", и как именно.

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

Заметьте: не только "работу с", но и само "восприятие", т.е. я могу захотеть открыть диалог даже просто для того чтобы просмотреть, а что же там за маски у меня.

В таком диалоге удобно выполнять мелкие действия, типа как временно отключать маски.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 11:29
by Max Rusov
Непонятно при чем здесь вообще CheckBox'ы. Как я понимаю, если Check снять, то расширение просто удаляется, и назад его не вернешь. Более универсальным было бы редактирование такой строки в виде списка, с возможностью вставки/удаления/перемещения элементов... Тогда бы решение было применимо к любым строкам со стандартными разделителями - спискам путей, расширений, пр...

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 11:38
by John Doe
Max Rusov
Чекбоксы мы обсуждаем потому что уже существует готовая реализация.

"Назад не вернёшь" - это легко поправимо, если такие элементы оставлять в строке (после |, как и принято в фаре).

Любые "улучшенные" решения безусловно тоже приветствуются, особенно если есть намерение их реализовать.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 11:43
by John Doe
John Doe wrote:"Назад не вернёшь" - это легко поправимо, если такие элементы оставлять в строке (после |, как и принято в фаре).
Ещё вариант удалённые элементы восстанавливать из истории (если есть такое апи).

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 24 Feb, 2012 12:34
by Wave
Как это желал бы я: в DT есть пункт Edit. Добавить ещё один пункт checkbox. Добавлять я расширения смогу через едит или вообще без диалог тулз, а чекбоксами пользоваться:
а) когда хочу какое-то расширение отключить,
б) когда хочу вообще проанализировать набор, в частности такого анализа предстоит много в свете перехода на тройку и заимствований настроек из truefar.

Ну, вообще-то полезно будет добавить к этому диалогу ещё input для добавления масок.

Допускаю, что есть решение лучше, но мне конкретно это решение нравится.

P.s. Невнимательно перечитал предыдущие сообщения. У нас с John Doe удивительно совпадает аргументация.

Re: DialogTools — дополнительные возможности в диалогах

Posted: Thu 25 Oct, 2012 16:42
by ivank
если кому надо - собрал последнюю версию для far3 b2878
кстати, под mingw пришлось бороться с ошибками типа error: narrowing conversion of 'c' from 'long long int' to 'intptr_t {aka int}' inside { } is ill-formed in C++11 [-Werror=narrowing]

Re: DialogTools — дополнительные возможности в диалогах

Posted: Thu 25 Oct, 2012 16:45
by 2useven10
что за магическая версия 2878 ?

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 26 Oct, 2012 04:04
by ivank
в том смысле, что в plugin.hpp указано
#define FARMANAGERVERSION_BUILD 2878
:)

Re: DialogTools — дополнительные возможности в диалогах

Posted: Fri 26 Oct, 2012 07:02
by DAtaMan
ivank
Спасибо.
А у Вас работают Search/Replace, Undo/Redo и Paste Selection?
У меня - нет.