Страница 1 из 2

Выделение файлов в обеих панелях

Добавлено: Пт авг 28, 2015 16:50
Dimsok
Возможно? Например, для удаления

Добавлено: Пт авг 28, 2015 17:35
sa
Кнопка с использованием утилиты TCFS2 с дополнительным модулем TCFS2Tools:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(3302) tcm(4002) tcm(3302) tcm(4001), test(L_isActive) | tcm(3302) tcm(4001) tcm(3302) tcm(4002)"
wcmicons.dll,39
Выделить все файлы в обеих панелях


-1

Добавлено: Пт авг 28, 2015 19:02
Staniclaw
Ещё вариант: выделение в другой панели тех же файлов, что и в активной. Можно скриптом, или той же TCFS2, но можно просто и дубово -- две кнопки.

Код: Выделить всё

TOTALCMD#BAR#DATA
cm_CopyNamesToClip,cm_FocusLeft,cm_LoadSelectionFromClip

wcmicons.dll,18
Выделить то же в левой панели


-1

Код: Выделить всё

TOTALCMD#BAR#DATA
cm_CopyNamesToClip,cm_FocusRight,cm_LoadSelectionFromClip

wcmicons.dll,19
Выделить то же в правой панели


-1
Кнопки сначала копируют в буфер имена выделенных файлов, переносят фокус в другую панель и там загружают выделение из буфера. Первая переносит выделение в левую панель, вторая -- в правую.

К сожалению, в самом "Тотале" нет команды активации именно противоположной панели -- только именно левой или же правой.

Добавлено: Пт авг 28, 2015 19:11
Flasher
Staniclaw
Зачем вообще буфер дёргать? Да ещё 2 кнопки..
Если бы был не так важен момент с сохранением фокуса в левой панели, то команда была бы такой: 3302,4001,3302,4002,3302

Добавлено: Пт авг 28, 2015 19:32
Staniclaw
Flasher
Ваши с sa команды выделяют все файлы, а мои -- выделяют в другой панели такие же файлы, что и те, что выделены в текущей. Конечно, мой вариант неоптимален -- какое там. :| Но если написать скрипт, делающий то же самое, но при этом проверяющий, какая панель активна, левая или правая (в TCFS2Tools есть такие функции) -- тогда можно обойтись одной кнопкой. Если Димсоку нужно это, а не что-то ещё.

Добавлено: Пт авг 28, 2015 19:48
Flasher
Staniclaw писал(а):Но если написать скрипт, .... тогда можно обойтись одной кнопкой.
Какой интересный поток мыслей. :D
Staniclaw писал(а):Если Димсоку нужно это, а не что-то ещё.
Возникли мысли, что нужно что-то, отличное от заданного? Как неожиданно. :)

Добавлено: Пт авг 28, 2015 20:01
Staniclaw
Flasher писал(а):Какой интересный поток мыслей. :D
Какой уж есть 8)
Flasher писал(а):Возникли мысли, что нужно что-то, отличное от заданного?
Ну, надо сказать, что заданного там негусто. :? Как хочешь, так и интерпретируй...

Добавлено: Пт авг 28, 2015 20:06
Flasher
Staniclaw
А нужно ли густо, когда есть "достаточно"? Ответом sa тут вполне можно было бы ограничиться и не собирать половинчатые решения.

Единственное, я бы кнопку записал так:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(3302) if(L_isActive, tcm(4002)+tcm(3302)+tcm(4001), tcm(4001)+tcm(3302)+tcm(4002))"
wcmicons.dll,70
Выделить все файлы в обеих панелях

Добавлено: Пт авг 28, 2015 21:35
sa
Flasher
В варианте с if функция eval по-моему избыточна.

Добавлено: Пт авг 28, 2015 21:52
Flasher
sa
Убрал.

Добавлено: Сб авг 29, 2015 10:24
Dimsok
Ну выделять все это одно. Я думал можно выборочно, пощёлкал в одной панели, потом в другой с ctrl. Подсветка в обеих сохраняется. Разработчику сложно это реализовать? Функциональность возросла бы до небес.

Добавлено спустя 57 минут:
Единственное, я бы кнопку записал так
Выделяет, но и только. Так же, как с ручным выделением, оперировать всеми выделенными файлами нельзя. Выделяет, например, по два текстовых файла в обеих панелях, жму удалить, но удаляет только в одной.

Добавлено: Сб авг 29, 2015 12:22
Flasher
Как задача поставлена, так и решена.
Ни про какие "выборочно" (а границы у этого понятия весьма широкие) и реализацию непосредственно удаления речь не велась. Написано, что и для чего (например, для ...).
Что сложно или несложно разработчику спрашивать на этом форуме не имеет никакого смысла.
Удалять файлы с обеих сторон самим ТС реально только с помощью инструмента синхронизации. Собственно, его функционала в этом отношении и бывает достаточно после проведения сравнительных тестов.
Для удаления элементов в обеих панелях лучше работать со списками в скриптах.

Re: Выделение файлов в обеих панелях

Добавлено: Сб авг 29, 2015 12:34
Dimsok
Dimsok писал(а):Например, для удаления
Тут разве не указано для чего? А смысл выделять просто так? Для цветового баланса, чтоб в глазах не рябило?

Добавлено: Сб авг 29, 2015 12:43
Flasher
Flasher писал(а):Написано, что и для чего (например, для ...).
Например - это не непосредственно, а опосредованно.
Dimsok писал(а):А смысл выделять просто так?
Нет смысла делать то, в чём сам не видишь смысла. :wink:
Я, к примеру, вижу смысл в выделении комбинаций одноимённых, разноимённых, одноразмерных, разноразмерных файлов.

Добавлено: Ср сен 02, 2015 15:53
sa
Уже не актуально, но название темы провоцирует...
Для выделения можно обойтись и средствами самого тотала, причём без потери фокуса. Потребуется создать пользовательскую команду (в примере она названа em_selt), для которой указать в строке "Команда:" SELECTFILEST, а в строке "Параметры:" *.* (для случая выделения всех файлов). Кнопка:

Код: Выделить всё

TOTALCMD#BAR#DATA
3302,em_selt

wcmicons.dll,39
Выделить все файлы в обеих панелях


-1
Для небольшого количества файлов возможны варианты выборочного выделения с %S в строке "Параметры:" команды em_selt (как с предложенной кнопкой, так и с кнопкой без 3302 в сцепке команд). Жалко, что команда SELECTFILES из передаваемой ей строки параметров (например, через %S это может быть строка до 32767 символов) обрабатывает лишь 1000 с хвостиком символов.