Страница 4 из 4

Добавлено: Вт ноя 15, 2011 18:12
Avada
gora
Может быть, справку пора уже оставить в покое? Можно подумать, что если там появится это описание, сразу же чудесным образом изменится текущий функционал. Смешно уже, право слово. А третье дано, и об этом было сказано уже несколько раз: если что-то не описано в справке, это означает, что данный нюанс по той или иной причине описывать не сочли нужным, а не то, что он не существует. А таких нюансов, смею заверить, десятки и сотни, и втиснуть их в справку абсолютно немыслимо. Что-то придётся признать как реальный факт и без неё.

Добавлено: Вт ноя 15, 2011 18:32
gora
Avada писал(а):Может быть, справку пора уже оставить в покое?
Если Вы считаете справку "вне критики" и писать о ней нельзя, то я закрываю свое дальнейшее участие в этой теме. Я, по-наивности, считал, что любая конструктивная критика допустима и полезна. Видимо это не тот случай, извините...

Добавлено: Вт ноя 15, 2011 18:38
Avada
gora
Во-первых, не надо передёргивать: я говорю о справке только в контексте данного конкретного обсуждения.
Во-вторых, справку, если на то пошло и если имеется в виду русская справка, вообще обсуждают в другой теме. Я же, по наивности, считал и продолжаю считать, что в текущей теме первично всё-таки обсуждение конкретного функционала. А здесь несколько раз повторил, что вопрос о целесобразности каких-то дописок будет рассмотрен. Этого недостаточно?
В-третьих, что, проблему действительно предлагается свести только к наличию/отсутствию в справке упоминания о специфике этого самого поведения (если нет выделения, выделенным неявно считается файл под курсором)? Кстати, сколько раз, интересно, предлагается это сделать — в каждой функции, связанной с выделением, или как?

Добавлено: Вт ноя 15, 2011 19:41
GGS
CaptainFlint писал(а):Если я выделил несколько нужных мне файлов Insert'ом, то после этого курсор установлен на следующем файле, невыделенном. Кнопка с %P%S %P%N пошлёт в программу не только те файлы, что я выделил, но ещё и тот, который сейчас находится под курсором, невыделенный
Вполне адекватное поведение Тотала, ведь пользователь сам сознательно добавил %P%N.
Это решение пользователя, который хочет передать программе файл под курсором и при отсутствии выделения.
MVV писал(а):Повторяю, это никакая не замена.
Согласен, когда я писал про подмену %S на %N, это образно, по результату действий. На медленных машинах видно, как при %S и отсутствии выделения Тотал САМ выделяет файл под курсором (меняется цвет), а затем работает обычным образом с созданным в %TEMP% с файлом-списком.
Делать две разные кнопки, тоже не вариант.
Для себя работу с AkelPad организовал так, было:
TOTALCMD#BAR#DATA
%Commander_Path%\Plugins\AkelPad\AkelPad.exe
/c- /b- /x %S
%Commander_Path%\Plugins\AkelPad\AkelPad.exe,1
Выделенное в AkelPad

0
-1
стало:
TOTALCMD#BAR#DATA
%Commander_Path%\Plugins\AkelPad\AkelPad.exe /c- /b- /x
?%S
%Commander_Path%\Plugins\AkelPad\AkelPad.exe,1
Выделенное в AkelPad

0
-1
Меньше раздражений, или "OK", или <Delete> "OK"

Добавлено: Вт ноя 15, 2011 23:03
Flasher
Flasher писал(а):Верней, есть один вариант, но непортабельный - с помощью Хелпера.
Так, смеху ради (хотя, может, кого и устроит):

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

'=================================================================
' Открывать файлы, если они выделены,
' иначе открывать редактор без переданных параметров

' Необходима регистрация Script Helper ActiveX for TC

' Параметры: "<Путь к редактору>" %P%N %P%S
' Пример: "%%COMMANDER_PATH%%\Utils\AkelPad\AkelPad.exe" %P%N %P%S
'=================================================================
With WScript.Arguments
  C = .Count
  If C = 0 Then WScript.Quit
  Ed = .Item(0)
  P1 = .Item(1)
  P2 = .Item(2)
End With

Dim WSH
Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
If C = 3 And P1 = P2 Then
  If FSO.FileExists(P2)) Then
    With CreateObject("TCScript.Helper")
      .LockTC True
      .SendCommand(525)
      N1 = .GetSrcSelectedFiles(0)(0)
      .SendCommand(525)
      N2 = .GetSrcSelectedFiles(0)(0)
      .LockTC False
    End With
    If N1 <> N2 Then WSH.Exec Ed
  Else  WSH.Exec Ed
  End If
  Quit
End If
For i = 2 to C - 1
  Par = WScript.Arguments(i)
  If FSO.FileExists(Par) Then Pars = Pars & " """ & Par & """"
Next
WSH.Exec Ed & " " & Pars
Quit

Sub Quit
  Set WSH = Nothing
  Set FSO = Nothing
  WScript.Quit
End Sub
+ Пару перестановок.

Добавлено: Ср ноя 16, 2011 02:05
CaptainFlint
GGS писал(а):Вполне адекватное поведение Тотала, ведь пользователь сам сознательно добавил %P%N.
Это решение пользователя, который хочет передать программе файл под курсором и при отсутствии выделения.
Нет, это не решение пользователя, это костыль, предложенный другим пользователем. А первый пользователь хочет передавать программе файл под курсором не "И при отсутствии выделения", а "ТОЛЬКО при отсутствии выделения".

Ты историю обсуждения-то перечитай: сначала предложили поломать %S так, чтобы он при отсутствии выделенных файлов ничего не передавал. Возникла претензия: сейчас-то он в этой ситуации передаёт файл под курсором, и многим это удобно, а после предложенной модификации привычное поведение будет недоступным. На что последовал ответ: напишите %P%S %P%N, будет привычное поведение. Я доказываю: это будет не привычное поведение, а чёрт знает что, не имеющее аналогов во всём Тотале, а текущее привычное поведение (передавать выделенные файлы, и только лишь при отсутствии таковых — файл под курсором) реализовать будет уже невозможно (разве что скриптами).

Добавлено: Ср ноя 16, 2011 10:06
Avada
Чтобы закрыть вопрос о справке: по итогам обсуждения "выделенных файлов" будет заменено в описаниях параметров %S и %R на "выбранных файлов". Данное изменение мы сочли необходимым и достаточным.

Добавлено: Ср ноя 16, 2011 10:37
GGS
CaptainFlint писал(а):это будет не привычное поведение, а чёрт знает что
Разумеется, любые костыли к программе - это что-то "не имеющее аналогов во всём Тотале".
Решение нужно от Гислера, нечто типа флага в настройках меняющего обработку объекта под курсором при использовании %S.

Добавлено: Ср ноя 16, 2011 12:32
CaptainFlint
GGS писал(а):Разумеется, любые костыли к программе - это что-то "не имеющее аналогов во всём Тотале".
Отнюдь. Например, многочисленные прокси-редакторы типа TCER/OFTC/ChoiceEditor, будучи костылями, добавляют в Тотал именно ту функциональность, которую он должен обеспечивать, но не обеспечивает, и которая совершенно органично вписывается в общую концепцию (есть выделенные файлы — открываются они, ничего не выделено — открывается файл под курсором). Предложенный же вариант про %S ломает имеющуюся "общетоталовскую" концепцию, при этом не давая возможности вернуть прежнее поведение не только штатным способом, но даже и в виде костыля!
GGS писал(а):Решение нужно от Гислера, нечто типа флага в настройках меняющего обработку объекта под курсором при использовании %S.
Обрати внимание, что речь об опциональности предложения появилась лишь на четвёртой странице обсуждения! До этого сторонники нововведения выступали совершенно категорично: сие, мол, полный бред, описание не такое, поведение не сякое, чего думать, взять всё и поделить. Естественно, такая трактовка вызвала столь же категорическое неприятие от тех, кого текущее поведение устраивает.

Только, разумеется, опция эта должна для сохранения согласованности аналогичным образом влиять и на списковые шаблоны %L, %F и т.п.