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

[bug] Путь при смене главной панели инструментов

Добавлено: Вс фев 12, 2012 17:54
790
Допустим, я ставлю в wincmd.ini параметр:
Buttonbar=%COMMANDER_PATH%\Basic.bar
(при переносе на разные компы такие пути удобнее, не надо исправлять)

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

И что я вижу в wincmd.ini ? Путь всегда становится реальным:
Buttonbar=D:\TotalCMD\Basic.bar
(при переносе на другом комп опять исправляй)

Добавлено: Вс фев 12, 2012 18:13
jentoso
790 у меня такое поведение не наблюдалось. Версия ТС 7.56а Версии Windows XP, Vista, 7

Добавлено: Вс фев 12, 2012 18:55
790
jentoso я думаю, ты не воспроизвёл ситуацию.

Настройка Панели инструментов.
Панель: (тут кнопка >> типа "Обзор")
Выбираем другую панель, делаем в ней изменение. (ОК не нажимать!)
Опять Панель: (кнопка >> типа "Обзор")
Спрашивает: "Сохранить?", жму "ДА".
Спрашивает: "Сделать эту панель главной?", жму "НЕТ".
Предлагает выбрать/открыть другую, выбираю основную Basic.bar.
Жму "ОК".
Спрашивает: "Сделать эту панель главной?", жму "ДА".

И параметр
Buttonbar=%COMMANDER_PATH%\Basic.bar
тут же изменяется на
Buttonbar=D:\TotalCMD\Basic.bar

Добавлено: Вс фев 12, 2012 20:29
Avada
790
В TC, да, подтверждаю. Кстати, в Ultra TС Button Bar Editor при подобной цепочке действий (она там выглядит несколько иначе, но суть та же) такого поведения нет. Во-первых, переменная остаётся в целости и сохранности. Во-вторых, подтверждать специально для главной панели, что она главная, больше не надо. В-третьих, для других панелей автоматическую выдачу запроса на превращение в главную панель можно отключить.

Добавлено: Вс фев 12, 2012 21:14
jentoso
790 это скорее не баг. Ведь выбор панели происходит через стандартный проводник. ТС не остается выбора, как принять естественный путь к панели. Только мне не понятен твой способ редактирования. У меня самого несколько панелей, которые на клавной представлены в виде разворачиваемого меню. Просто выбираю "Правка дочерней панели" и пути остаются в прежнем состоянии.

Добавлено: Вс фев 12, 2012 21:30
Avada
jentoso
Если дочерняя панель — это понятно. А здесь речь о переходе из главной панели в другую, произвольную панель, которая из предыдущей может вообще не открываться никакой кнопкой.

Добавлено: Пн фев 13, 2012 00:06
Flasher
Думается, это некоторым образом относится к моему пожеланию.

Добавлено: Пн фев 13, 2012 00:29
790
jentoso
Баг самый натуральный! Точнее: недосмотр.
У меня куча дочерних панелей "выпадают вниз" с помощью утилиты TCmenu.exe от всем известного автора - она до сих пор остаётся более продвинутой, чем "стандартное" решение Гислера. Поэтому "Правка дочерней панели" мне не подходит.

Avada
Касательно Ultra TC: скачал это дело лет 6 назад, получил охрененный вирус с полным сносом системы и больше с этим "творением" связываться не хочу :D Да в конце то концов, я могу редактировать панели и вовсе в блокноте, без всяких там утилит.

В общем, я думаю, это надо попробовать зарепортить... и посмотреть, что получится.

Добавлено: Пн фев 13, 2012 00:51
Avada
790 писал(а):Касательно Ultra TC: скачал это дело лет 6 назад, получил охрененный вирус с полным сносом системы и больше с этим "творением" связываться не хочу
До конца жизни теперь эту историю вспоминать будем? :wink: Не говоря уже про то, что редактор, о котором ведётся речь, вообще существует с прошлого года. А вообще дело хозяйское.

Добавлено: Пт фев 17, 2012 00:14
790
Avada Да! такое надругательство над моим доверием к этому сайту/форуму я простить не могу! :D

В общем Гислер ответил так (приблизительно):
"К сожалению, ТС не может знать когда вы там захотите переменных, а когда нет. А на вопрос "Сделать главной?" отвечайте "Нет" и тогда путь не изменится."

И это невероятно!! На вопрос "Сделать главной панелью?" отвечаю "Да" - делает главной, отвечаю "Нет" - то же самое! только путь не меняется :)

Добавлено: Пт фев 17, 2012 01:02
Flasher
790
Ссылку на тему можно?
Ответ Гислера неясен. Почему он тогда не написал то же самое про перетягивание на тулбар, где TC тоже не знает, надо пользователю это или нет? Нужно его в лоб об этом спросить.
Да и вообще, ТС, как и любая другая программа, много чего не знает из того, что нужно юзеру, только опции всё равно выставляются по умолчанию. Весьма странный ответ для программиста.

Добавлено: Пт фев 17, 2012 08:30
Avada
Flasher
Вот эта тема.

790
ИМХО, в одном моменте (насчёт нажатия "Нет") Гислер отчасти прав. При возврате к редактированию той панели, которая уже является панелью по умолчанию (мы же отказались от назначения умолчальной другой панели!), зачем было нажимать "Да"? Она и так осталась главной. После нажатия "Нет" она будет открыта в текущем сеансе TC , после перезапуска TC она же и загрузится. А тут получилась подтверждение (с перезаписью ключа в INI-файле) смены этой панели на саму себя. См. также, что ответил на оффоруме Hacker.

(Кстати, не могу не заметить, что если все эти многочисленные панели увязать друг с другом через кнопки и переходить к редактированию другой панели именно так, то никакого запроса на изменение статуса панели, само собой, вообще не возникнет.)

На самом деле проблема (вполне реальная) формулируется иначе. При переходе к редактированию любой панели, на которую мы переключились через выбор имени файла и BAR-файл которой находится в пути, включающему переменную %Commander_Path%, и подтверждении изменения статуса этой панели на главную, путь к панели записывается в wincmd.ini значением ключа Buttonbar без учёта переменной. petermad в своём ответе на оффоруме это по сути и сказал (только кратко). И он же совершенно правильно возразил Гислеру:
I think that if a variable is already used in wincmd.ini, TC should be able to recognize that, and continue to use the same variable when the buttonbar is changed, just as TC does with plugins.
То есть: "Я думаю, что если переменная уже используется в wincmd.ini, TC должен быть способен распознать это и использовать ту же самую переменную, когда панель инструментов была изменена, так же, как это делается с плагинами."

Кроме того, основной текст в заголовке темы изложил, во-первых, по-русски, во-вторых, более вразумительно.

Добавлено: Пт фев 17, 2012 18:27
790
В общем, я думаю, это "Сделать главной? Да/Нет" осталось в наследство от каких-то ранних ТС, их функции уже давно поменялись, а руки у Автора до этого не доходят. А большинство юзеров пользуется одной панелью, поэтому никто и не возникает.

Добавлено: Пт фев 17, 2012 18:49
MVV
790 писал(а):В общем, я думаю, это "Сделать главной? Да/Нет" осталось в наследство от каких-то ранних ТС, их функции уже давно поменялись, а руки у Автора до этого не доходят. А большинство юзеров пользуется одной панелью, поэтому никто и не возникает.
Отнюдь. Функция исправно работает. Открываешь редактирование панели, выбираешь какую-нибудь панель, открываешь. При этом панель лишь ставится на тулбар, но при этом в конфиг не прописывается. И при выключении/включении тулбара или перезапуске тотала панель вернётся прежняя. А вот если ответить "Да" на вопрос "Сделать главной?", то тотал запишет путь панели в конфиг, и эта панель будет оставаться там при перезапуске тотала. Собственно, если не нажимать "Да", то путь к файлу панели в конфиге не изменится.

Добавлено: Пт фев 17, 2012 19:12
790
MVV
А то я не знаю? Гислер ещё вчера тоже самое ответил. Функция исправно работает. Только делает не то, что спрашивает.

Из всего этого получается, что вопрос при редактировании должен стоять так: "Переписывать значение Buttonbar в wincmd.ini ? Да/Нет".

А ещё получается, что переменную %COMMANDER_PATH% можно прописать только руками непосредственно в wincmd.ini, а это уже задача не для чайника.