Страница 22 из 88

Добавлено: Пт апр 22, 2011 10:19
ask-rus
При вставке кода кнопки на панель пропадают кавычки из команды, первые и последние, если таковые имеются. Что-то я раньше этого не замечал, всегда ли так было?

Добавлено: Сб апр 23, 2011 14:10
ask-rus
Добавлю, что это происходит с кодом кнопки именно отсюда. Копируем код кнопки, вставляем на панель, получаем нерабочую кнопку.
TOTALCMD#BAR#DATA
"%Commander_Path%\Utils\WHS\ReplaceText4FileList.vbs" "%Commander_Path%"
"%%Commander_Path%%" %L
%Commander_Path%\WCMICONS.DLL
Замена путей в выделенных файлах


-1
*Красным помечены кавычки, исчезающие каким-то образом при вставке.
*Если скопировать код кнопки, что в моей цитате, то он вставится на панель должным образом - со всеми кавычками. :!:

Добавлено: Сб апр 23, 2011 15:23
Flasher
Если это баг ТС, то тогда при копипастинге в редактор кавычки бы были. Если они и там не появляются, то это уже оффтоп, п. ч. это проблема не кнопок, а системы или браузера, проверять надо в других. У меня всё в порядке.

Добавлено: Сб апр 23, 2011 17:30
ask-rus
Проверил на IE 8, действительно, это баг новой Opera 11.10. Как жаль...

Добавлено: Вт апр 26, 2011 12:26
ask-rus
Необходима одна кнопка для переключений между режимами "Подробный" и "Краткий". Если мы находимся в режиме, например, "Просмотр эскизов", нажатие на кнопку переведет панель в "Подробный", повторное - в "Краткий", ещё раз - в "Подробный" и т. д.

Добавлено: Вт апр 26, 2011 20:48
Flasher
Красиво это сделать не получится, потому что ТС никуда эти состояния в текущей сессии не записывает. Только с перезапуском ТС в ShowAllDetails. А если, предположим, их записывать в текстовый файл самостоятельно, то в таком случае после вызова обратной команды стандартным путём скрипт впоследствии не сможет совершить реверс. Делать можно наподобие вот этого, чтобы учесть активность панели. А другой вариант, как ни парадоксально, опять-таки сводится к TCFS2+autorun+HideMenu+undo... :lol:

Добавлено: Вт апр 26, 2011 22:34
Serge Yolkin
По-моему, достаточно скрипт+TCCP, причем скрипт со счетчиком 0/1 - краткий/подробный. Если режим не_кнопкой переключали - максимум, прийдется нажать кнопку дважды. А значение в файл записывать, хоть в файл самого скрипта.

Добавлено: Вт апр 26, 2011 22:38
Flasher
Serge Yolkin
Скрипт скриптом, этого я не отрицал и дал пример такого. Но это будет некрасивое решение, уже объяснил почему.

Добавлено: Вт апр 26, 2011 23:14
Serge Yolkin
Flasher
С красотой, действительно, проблема. Но я предложил вообще не отслеживать состояние панели... Ну, нажать кнопу дважды, если с первого раза не попали.

Добавлено: Вт апр 26, 2011 23:16
Flasher
Serge Yolkin писал(а):Но я предложил вообще не отслеживать состояние панели... Ну, нажать кнопу дважды, если с первого раза не попали.
Это будет ещё более некрасивое решение. :)

Добавлено: Вт апр 26, 2011 23:47
Serge Yolkin
[off]
Flasher
То, что с красотой проблема - я признал сразу. А вот сравнение более/менее спорное. Я предложил идти прихрамывая, ты - кучку костылей и протезов, чтобы почти не хромать. Дело вкуса.
[/off]

Добавлено: Вт апр 26, 2011 23:51
Flasher
Serge Yolkin
Дело не во вкусе и протезах, а в лишних манипуляциях, из-за которых просьба и возникла. Если и так можно жать две кнопки/клавиши без использования скриптов, то зачем городить огород с одной кривоработающей кнопкой, которую придётся время от времени нажимать дважды? И костылей в реализации, предложенной тобой, куда больше, если хорошо подумать.

Добавлено: Ср апр 27, 2011 00:41
CaptainFlint
Serge Yolkin писал(а):Если режим не_кнопкой переключали - максимум, прийдется нажать кнопку дважды. А значение в файл записывать, хоть в файл самого скрипта.
Я себе плохо представляю возможности скриптов, но разве нельзя из них запросить у Тотала элемент списка, послав сообщение LB_GETTEXT? А по полученной строке определять текущий режим.

Добавлено: Ср апр 27, 2011 00:50
Flasher
CaptainFlint писал(а):запросить у Тотала элемент списка
Пардон, какого списка? Список тут никакой не нужен, достаточно пары строк в теле скрипта, которые будут считываться, а потом меняться в зависимости от выполненой команды. Без определения активности панели это в любом случае криво. Лучше TCFS2 с плагинами решения, ИМХО, не придумать.
Без плагинов (с двойным нажатием при перескоке в другую панель/вкладку с другим режимом) так:
[Items]

switch_view=set_style(# & ~$00008000) tcm(301), style(# & $00008000), switch_view | set_style(# | $00008000) tcm(302), , switch_view
Команда понятно какая: TCFS2.exe /ei switch_view

Хотя есть способ и без проверки на активность:

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

' Реверсивное переключение между
' кратким и подробным режимом
' Условие: необходима регистрация TCHelper
'=============================
With CreateObject("TCScript.Helper")
T=.GetTextFromClip
.LockTC True
.SendKeystroke "{DOWN}"
.SendCommand 2036 'cm_CopyFileDetailsToClip
A=.GetTextFromClip
.SendCommand 2017 'cm_CopyNamesToClip
B=.GetTextFromClip
.SendKeystroke "{UP}"
If A=B Then
   .SendCommand 302 'cm_SrcLong
Else
   .SendCommand 301 'cm_SrcShort
End If
.LockTC False
.SetTextToClip(T)
End With

Добавлено: Ср апр 27, 2011 08:09
ask-rus
Flasher писал(а):Без плагинов (с двойным нажатием при перескоке в другую панель/вкладку с другим режимом) так
Не знаю, верна ли кнопка:

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

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
/ei set_style(# & ~$00008000) tcm(301), style(# & $00008000), switch_view | set_style(# | $00008000) tcm(302), , switch_view
%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
TCFS2
%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\

-1
Которая любой режим переводит в "Подробный", но сам "Подробный" в "Краткий" перевести не желает.

Добавлено:
Забил в конфиг, всё заработало. У "Подробного" нет приоритета - с "Эскизов" перехожу в "Краткий", нужно в "Подробный".