Страница 31 из 44
Добавлено: Ср ноя 14, 2018 13:42
Flasher
иногда хочу создавать ссылки в целевой папке, иногда с сохранением иерархии из Ctrl+B
Если ты задал ключ, то ты всегда "хочешь" сохранять иерархию.
Путь в первом поле подвергается правке независимо от опции. Какая разница, в какой части он будет правится?
Нет, если тебе, конечно, не лень, ты можешь сделать автоправку поля (аля settext в TCFS2) с удалением/вставкой относительного пути перед именем (только чекбокс придётся переименовать и разместить по отношению к обоим полям, а лучше даже кнопку с маркером нажатости сделать). Но можно и без этого.
Добавлено: Чт ноя 15, 2018 09:25
MVV
Если ты задал ключ, то ты всегда "хочешь" сохранять иерархию.
Вот нет, я задал ключ, чтобы мог при необходимости сохранить иерархию. Когда я выделяю всего один элемент (неважно, в обычной панели или по Ctrl+B), я чаще всего хочу сделать для него ссылку прямо в противоположную панель.
Путь в первом поле подвергается правке независимо от опции. Какая разница, в какой части он будет правиться?
Сейчас нет необходимости править путь, правке подвергается только имя целевого объекта, если это нужно в конкретной ситуации. Но снять галку для отключения внедрения дополнительных каталогов и полезть поредактировать путь - это разные по трудоемкости задачи, поэтому разница есть.
Автоправки, как показывает опыт, зачастую только создают проблемы, когда лезут невовремя. Хотя, пожалуй, шаблон в поле ввода телефона в онлайн-сбербанке бесит куда больше.
Крайне не хочется ещё более усложнять окно, оно и так перегружено...
Есть мысль добавить псевдо-уровень * для указания места вставки дополнительных путей, чтобы можно было оставить имя файла, но оставить всё как есть, если этот элемент не указан:
Код: Выделить всё
X:\Target\Path\*\File.ext - тут есть имя и можно сохранять относительный путь
X:\Target\Path\File.ext - тут есть имя, но относительный путь сохранять нельзя
Добавлено: Чт ноя 15, 2018 11:43
Flasher
Сейчас нет необходимости править путь, правке подвергается только имя целевого объекта
Т. е. нет необходимости? А для чего он там нужен тогда? Чтобы был? >>>
Начальная часть пути назначения же в любом случае нужна.
Автоправки, как показывает опыт, зачастую только создают проблемы, когда лезут невовремя.
А ты сделай для случаев, когда вовремя.
Крайне не хочется ещё более усложнять окно, оно и так перегружено...
В какой части усложнять? Переместить/переименовать чекбокс или заменить на кнопку — это "усложнять"?
Последнее предложение вообще не понял. Без относительного пути будет двойной бэкслеш, который вручную править придётся?
И как это скажется на опции, тоже неясно.
Мой вариант для ключа кажется и то посимпатичней.
Добавлено: Чт ноя 15, 2018 15:30
MVV
Т. е. нет необходимости? А для чего он там нужен тогда? Чтобы был? >>>
Ты написал, что путь подвергается правке безусловно, а я уточнил, что его править необязательно, хотя и можно при необходимости.
В какой части усложнять? Переместить/переименовать чекбокс или заменить на кнопку — это "усложнять"?
Переместить куда? Переименовать во что? Кнопку какую? Которая
делает хорошо?
Без относительного пути будет двойной бэкслеш, который вручную править придётся?
Если в поле есть
\*\, то подстановка относительного пути возможна в этом месте, если нету, как раньше - возможна только если маска начинается со *. Вбить эту дополнительную * можно прямо в комстроке. Если сохранение относительного пути не используется или относительный путь пустой, * выбрасывается с лишними слэшами (но даже если не выбрасывать их, повторяющиеся слэши игнорируются файловой системой).
Flasher писал(а):Мой вариант для ключа кажется и то посимпатичней.
Твой вариант не решает проблемы вставки дополнительных уровней в случае, когда объект один, и в поле указано его имя. Напоминаю, при неизменной юзеркоманде хочется иметь возможность сохранять/не сохранять относительные пути, видеть/править имя одиночного объекта и маску для нескольких объектов.
Добавлено: Чт ноя 15, 2018 18:40
Flasher
Переместить куда? Переименовать во что? Кнопку какую? Которая делает хорошо?
Переместить на самый верх. Или просто центрировать в окне. Переименовать, например, в "Добавить относительные пути при наличии". Кнопку и так написал какую. Тот же чекбокс, только удобней.
MVV писал(а):но даже если не выбрасывать их, повторяющиеся слэши игнорируются файловой системой.
Ну, допустим. А почему бы при указании \*\ в параметрах комстроки не вставлять автоматически этот относительный путь для одного выбранного объекта?
Добавлено: Пт ноя 16, 2018 09:04
MVV
Кнопку и так написал какую. Тот же чекбокс, только удобней.
А отжать кнопку потом как, если нажал и передумал? Не сказал бы, что кнопка удобнее для переключаемой опции.
А почему бы при указании \*\ в параметрах комстроки не вставлять автоматически этот относительный путь для одного выбранного объекта?
Я же
писал, почему:
MVV писал(а):Вот только тогда нельзя будет выключить эту функцию в диалоге. Сейчас в последний момент можно снять галку, и ссылка будет создана прямо в целевой папке, даже если из Ctrl+B. А если путь уже будет со вложенными папками, это станет проблемой.
Добавлено: Пт ноя 16, 2018 10:17
Flasher
А отжать кнопку потом как, если нажал и передумал?
Отжал — отн. путь, если присутствует целиком, "вырезался", нажал — вставился. Действовать через чтение пути (имя игнорировать) и полную замену содержимого поля.
Не сказал бы, что кнопка удобнее для переключаемой опции.
Т.е. ты предпочёл бы малюсенькие чекбоксы вместо switch-кнопок на тулбаре ТС?

Добавлено: Пт ноя 16, 2018 10:45
MVV
У кнопки в стандартном её понимании нет фиксации нажатого состояния. Несколько состояний - это чекбоксы и радиокнопки. А пытаться по нажатию на кнопку вставлять или вырезать что-то из текста в поле ввода - это кошмар.
Т.е. ты предпочёл бы малюсенькие чекбоксы вместо switch-кнопок на тулбаре ТС?
Эти кнопки нельзя нажать с клавиатуры, они не являются самостоятельными окнами и не могут иметь фокус. Большое описание на кнопке не разместить. Они в диалоговом окне выглядели бы дико.
Добавлено: Пт ноя 16, 2018 10:54
Flasher
Какой фиксации? Ты про отлов состояния? Или нарисовать нажатую кнопку не умеешь?
Насчёт кошмара хорошо бы обосновать. Не вижу принципиальной разницы с автоправкой заголовка окна или файловой панели, комстроки и т. д. Да и вообще автозамена с точки зрения автоматизации — удобная вещь.
Кнопки как нажимались, так и нажимаются с клавиатуры после фокусировки тулбара (Alt+Shift+F11) и вполне имеют фокус при навигации (Tab, [Ctrl+]Влево/Вправо). На кнопке не надо размещать описание, это не предлагалось. Достаточно маркера (напр., в виде мишени или большой галки).
Добавлено: Пт ноя 16, 2018 11:19
MVV
Или нарисовать нажатую кнопку не умеешь?
Не вижу смысла городить кучу кода ради отрисовки нажатой кнопки. Я не сторонник полностью нарисованных окон, мне нравятся классические диалоговые окна.
Не вижу принципиальной разницы с автоправкой заголовка окна или файловой панели, комстроки и т. д.
Автоправка того, что пользователь не правит вручную - да, удобна. Но когда пользователь может как угодно отредактировать поле, а потом автоправка (и в нашем случае это никакая не автоправка, а правка по команде) должна что-то добавить или выкусить из этого...
Да и вообще автозамена с точки зрения автоматизации — удобная вещь.
Иногда, а иногда - та ещё заноза. Например, когда навязывает то, что тебе не нужно, и тебе приходится быть готовым к тому, что может потребоваться сделать лишние телодвижения, чтобы отказаться.
Кнопки как нажимались, так и нажимаются с клавиатуры после фокусировки тулбара (Alt+Shift+F11) и вполне имеют фокус при навигации (Tab, [Ctrl+]Влево/Вправо).
Это уже Гислер костыль прикрутил, кнопки стандартных тулбаров и дельфийские спид-кнопки не являются окнами и не имеют фокуса.
Вообще, мы говорим об очень конкретном примере - создании ссылки для единственного объекта, выбранного из подпапки в режиме Ctrl+B. Он не стоит того, чтобы ради него перекраивать весь интерфейс, нужен вариант, который гармонично впишется в имеющийся диалог.
Добавлено: Пт ноя 16, 2018 11:39
Flasher
Но когда пользователь может как угодно отредактировать поле
Я назвал конкретные примеры — заголовок файловой панели и комстрока, которые вполне себе редактируются и автозаменяются.
и в нашем случае это никакая не автоправка, а правка по команде
Это автоправка по нажатию.
Например, когда навязывает то, что тебе не нужно, и тебе приходится быть готовым к тому, что может потребоваться сделать лишние телодвижения, чтобы отказаться.
А нет тут никакого навязывания. Есть соответвующая логике опциональная вставка/вырезка. И именно она позволяет НЕ делать лишние телодвижения с ручной прописью нужной части пути.
Это уже Гислер костыль прикрутил
Ты, главное, ему об этом рассказать не забудь, а то, возможно, он не в курсе.

Заодно про зелёную галку и красный крестик в Разном.
Кстати говоря, в ТС есть нефокусируемая кнопка-гвоздик для настроек перезаписи в диалоге копирования. И вроде ничего, пользуемся.
Он не стоит того
Ладно, я уже давно понял, что тебя не убедить. Сделай сохранение имени и скрытого относительного пути с \*\ тогда. Всё же лучше, чем ничего.
Правда, не понимаю, что писать в параметрах. "%T*\" ? А имя само встанет?
Добавлено: Пт ноя 16, 2018 14:44
MVV
Ладно, я уже давно понял, что тебя не убедить. Сделай сохранение имени и скрытого относительного пути с \*\ тогда. Всё же лучше, чем ничего.
Правда, не понимаю, что писать в параметрах. "%T*\" ? А имя само встанет?
Предложениями перекроить весь диалог или видоизменять текст по кнопке - не убедить, нужно что-то более гармонично вписывающееся.
Да, в параметрах будет просто
"%T*", ну и без
/n, тогда имя само подставится.
Добавлено: Пт ноя 16, 2018 15:49
Flasher
А, ты хочешь, чтобы * включала сразу обе опции (имя и скрытый относительный путь для одиночника при /r)? И не "%T*\*.*" (возвращаясь к консистентности). Так с этого надо было начинать! Делай!

Добавлено: Пт ноя 16, 2018 16:00
MVV
Ну,
/n "%T*\*.*" тоже можно, но будет работать так же, как и просто
/n- "%T*", и как сейчас работает
/n "%T*\*.*".
А что * будет включать, зависит от того, где она расположена:
Код: Выделить всё
X:\Path\*\*.* -- первая * для вставки относительного пути, *.* для имени (такое будет предлагаться при /n "%T*\*.*")
X:\Path\*.* -- тут *.* и для вставки относительного пути, и для имени (такое будет предлагаться при /n "%T*.*" или при "%T" для нескольких объектов, как и раньше)
X:\Path\*\File.ext -- * и для вставки относительного пути, имя задано явно (такое будет предлагаться по "%T*" на единственном объекте File.exe)
Добавлено: Пт ноя 16, 2018 16:12
Flasher
В каком смысле "включать"? Т. е. /n и \*.* тут условны, а программа сама будет их в таком ключе (без чтения в параметрах) обрабатывать?