Страница 17 из 30

Добавлено: Вт мар 29, 2011 18:21
Total7zip
спасибо за обновление.
понравился редактор типов файлов.

остался вопрос - как перенести папку .oit в каталог плагина?
пробовал

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

optionsdir=.
optionsdir=./
optionsdir=%commander_path%\Plugins\WLX\ulister\
optionsdir=%commander_path%\Plugins\WLX\ulister
все равно .oit создается в AppData.

пара замечаний
1) может настройки SDK и плагина объединить на разных табах в одном диалоге? а то вроде и то и другое для меня настройки плагина, только вызываются из разных мест. Или хотя бы сделать кнопки на тулбаре для настроек SDK...

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

3) при автоматической установке обновления я потерял свои настройки, потому что пререзаписывается ulister.ini.
совет - не включать его в дистрибутив и создавать если его нет.
там же всего несколько строк. я так делаю с настройками Total7zip.

PS: при фильтрации в редакторе типов надо бы прятать те типы которые уже отключены.

Добавлено: Вт мар 29, 2011 19:41
Flasher
arax
Спасибо за фикс, касаемый Tab-активации другой панели при QuickView.
arax писал(а):только исправления ошибок и добавление незначительной функциональности
Так а что насчёт моих вопросов и замечаний? Я так ответа на некоторые не получил. Также интересуют 1,3,4,5 пункты и русификация.

Добавлено: Ср мар 30, 2011 10:13
arax
Total7zip
все равно .oit создается в AppData.

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

optionsdir=.
Забыл написать что точка с версии 2.0.0 уже не обозначает каталог плагина

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

optionsdir=%commander_path%\Plugins\WLX\ulister
Только что проверил все работает, как и с абсолютными путями. Да кстати, а вы не забыли перезапустить total commander после изменения этой настройки, а то я забыл добавить это в документацию.
Или хотя бы сделать кнопки на тулбаре для настроек SDK...
А там их разве нет?
может настройки SDK и плагина объединить на разных табах в одном диалоге?
Могу сделать одну кнопку с выпадающим списком.

все-таки хочется знать какой обработчик (ID) открыл файл, было бы удобно видеть это в контекстном меню файла
Сделаем
я не хочу открывать плагином ini файлы - какой ID надо добавить в исключения?
Для плагина ini файл это простой текстовый файл. Удобнее всего запретить его открывать через

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

n=%COMMANDER_PATH%\Plugins\WLX\uLister\uLister.wlx
n_detect="ext!="TXT" & ext!="INI"....." 
Flasher
Так а что насчёт моих вопросов и замечаний?
Я обо всем помню, но чуть позже.

Добавлено: Ср мар 30, 2011 11:09
Total7zip
arax писал(а):Total7zip
все равно .oit создается в AppData.

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

optionsdir=%commander_path%\Plugins\WLX\ulister
Только что проверил все работает, как и с абсолютными путями. Да кстати, а вы не забыли перезапустить total commander после изменения этой настройки, а то я забыл добавить это в документацию.
конечно перезапускал.
странно - проверил на Windows 7, работает.
возможно не работает на XP, проверю позже еще раз.

Добавлено: Ср мар 30, 2011 12:08
arsvrn
Total7zip
возможно не работает на XP, проверю позже еще раз
Работает и на XP. Только обязательно надо перезапустить, причем именно весь ТС, а не только Lister.

arax
А вот с отображением .rtf ничего не удалось сделать? То есть то, что при скроллировании страницы ею затирается тулбар.

Добавлено: Ср мар 30, 2011 12:35
mrmerak
arax
а почему мой вопрос про Outside In File ID проигнорирован!?

Добавлено: Ср мар 30, 2011 12:39
arax
Mr.Merak
Ответ был дан на предыдущей странице.
arsvrn
А вот с отображением .rtf ничего не удалось сделать? То есть то, что при скроллировании страницы ею затирается тулбар.
На тех rtf которые у меня есть данный эффект не наблюдается.

Добавлено: Ср мар 30, 2011 12:52
Total7zip
arsvrn писал(а): Работает и на XP. Только обязательно надо перезапустить, причем именно весь ТС, а не только Lister.
работает на Win7
не работает на XP sp3 рус - 100%...
в ini прописано

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

optionsdir=%commander_path%\Plugins\WLX\ulister\
для проверки - команда

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

cd %commander_path%\Plugins\WLX\ulister\
отлично выполняется.
но .oit создается в
c:\Documents and Settings\<User>\Application Data\

могу помочь разобраться, если будет кусок кода, как в прошлый раз.

Добавлено: Ср мар 30, 2011 13:05
mrmerak
- win7, ulister3
- пишу "optionsdir=."
- результата: папка .oit создается в каталоге ПРОСМАТРИВАЕМОГО ФАЙЛА

Добавлено: Ср мар 30, 2011 14:03
arax
Total7zip
могу помочь разобраться, если будет кусок кода, как в прошлый раз.
Такой подход мне нравится.

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

wchar_t inioptdir[MAX_PATH]=L""; //Сюда читается значение optionsdir
wchar_t posdir[MAX_PATH]=L""; // А сюда оно обрабатывается

...........Обработка Ini файла.............

   if(wcslen(inioptdir)>0) {
        ExpandEnvironmentStringsW(inioptdir,posdir,MAX_PATH);
        SetEnvironmentVariableW(L"OIT_DATA_PATH",posdir); // Эта переменная говорит библиотеке где хранить настройки
    } else GetEnvironmentVariableW(L"APPDATA",posdir,MAX_PATH);
Mr.Merak
пишу "optionsdir=."
С версии 2.0 точка не работает.

Добавлено: Ср мар 30, 2011 14:30
Total7zip
вобщем так.
1) хорошая новость - в приведенном коде ошибок нет, он действительно устанавливает значение переменной OIT_DATA_PATH.
(правда в ветке else я не вижу чтоб эта переменная устанавливалась...)
2) хорошая новость - если я сам создам эту переменную в системе, то папка .oit создается там где я хотел.
3) плохая новость - если в системе такой переменной нет, то она появляется после использования uLister, но .oit создается в AppData.

вывод по-моему такой - приведенный код с вызовом SetEnvironmentVariableW выполняется слишком поздно, когда папка .oit уже появилась.

возможно у меня на Win7 эта переменная заведена в системе и поэтому все работает, пока не могу проверить.
вобщем попробуйте проверить работу данной настройки в том случае когда переменной OIT_DATA_PATH изначально нет.

Добавлено: Ср мар 30, 2011 18:09
arax
Total7zip
если я сам создам эту переменную в системе, то папка .oit создается там где я хотел
В xp?
приведенный код с вызовом SetEnvironmentVariableW выполняется слишком поздно
Он выполняется в DllMain(т.е. тогда когда о работе с библиотекой и речи не идет), раньше некуда.

К сожалению сейчас я работаю над другим плагином и времени нет, но он уже близок к завершению и я постараюсь исправить этот баг, если это возможно.

Добавлено: Ср мар 30, 2011 18:16
Total7zip
arax писал(а):Total7zip
если я сам создам эту переменную в системе, то папка .oit создается там где я хотел
В xp?
приведенный код с вызовом SetEnvironmentVariableW выполняется слишком поздно
Он выполняется в DllMain, раньше некуда.

К сожалению сейчас я работаю над другим плагином и времени нет, но он уже близок к завершению и я постараюсь исправить этот баг, если это возможно.
да, если создаю переменную руками, с свойствах "My Computer", то все работает на XP.
если не создаю - используется AppData 100%

по идее нужно просто встать в отладчике в тот момент, когда создается папка .oit и убедиться что значение переменной присвоено

Добавлено: Чт мар 31, 2011 06:14
Flasher
вобщем попробуйте проверить работу данной настройки в том случае когда переменной OIT_DATA_PATH изначально нет.
У меня на 7 нет этой переменной, указанная папка появляется исключительно в каталоге плагина.
Total7zip писал(а):да, если создаю переменную руками, с свойствах "My Computer".
К сведению, диалог "Переменные среды" вызывается по команде: rundll32 sysdm.cpl, EditEnvironmentVariables
Но удобней всё-таки пользоваться системным плагином.
ЗЫ: с оверквотингом полегче..

Добавлено: Чт мар 31, 2011 09:59
Total7zip
у меня на 7 то же все ОК.
возможно, причина не в версии Windows а в количестве ядер CPU.
на 7-ке у меня 2 ядра, ошибка не повторяется.
на XP 4 ядра и ошибка повторяется 100%.