View Issue Details

IDProjectCategoryView StatusLast Update
0000183Wishes_Commonpublic2013-02-03 00:33
Reportervskirdin Assigned Toalexy  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Fixed in Version3.0 
Summary0000183: Registry2INI
DescriptionДать возможность сохранять настройки там, где хочет юзер - либо в INI-файле, либо в реестре. Вернее - если в ком строке юзер указал, скажем, /ini=filename.ini, то с реестром не работаем, а работаем с filename.ini (в котором изменения в настройках)

Для случая работы с INI-файлом кеши и истории не храним.
Additional InformationСобственно... все делается в registry.cpp. Либо функции работы с реестром, либо Get/SetPrivateProfile...

Возможно нужно переделать config.cpp так, чтобы сохранялись только измененные значения. Для этого:

* всякие там однопозицонные значения в структурах, описанных в struct.hpp переделать в битовые флаги (уменьшаем расход памяти);
* хранить оригинальную таблицу Options и рабочую, а при сохранении сравнивать и "рисовать" только изменения (в принципе это актуально и для реестра :-)
TagsNo tags attached.
Build0

Activities

Spinoza

2006-05-15 11:20

developer   bugnote:0000188

Я думаю, нужно чуть иначе - не в ini, а в xml-подобном формате хранить. А еще лучше - сделать возможность заменить работу с, хм... "хранилищем настроек" отдельно взятым разработчиком при помощи специального "системного" модуля.

Логика работы: если нет такого модуля, то работа идет с реестром (т.е. для пользователя это будет выглядеть как сейчас), если модуль есть - дергаются его функции (тогда, по идее, структура "хранилища" может быть какой угодно - ini, xml или вообще binary, а нам - far group - вообще не надо будет ломать голову, какие флаги использовать, что прикрутить для увеличения скорости чтения/записи настроек и т.п.).

Только при этом надо не забыть добавить соответствующие функции в FARAPI, чтобы плагины могли писать туда же, куда и Фар.

thims

2006-06-21 07:13

developer   bugnote:0000205

Кстати, у Нафтера есть чудесный классец, он ещё и в XML умеет вдобавок к реестру и ini: http://www.naughter.com/appsettings.html

samlyukov

2011-09-10 08:49

reporter   bugnote:0007643

отработано :)

Issue History

Date Modified Username Field Change
2006-05-15 05:47 vskirdin New Issue
2006-05-15 11:20 Spinoza Note Added: 0000188
2006-06-21 07:13 thims Note Added: 0000205
2007-10-27 04:38 vskirdin Project @13@ => Far Manager 1.7x
2007-10-30 06:44 vskirdin Project Far Manager 1.7x => Wishes
2011-09-10 08:49 samlyukov Note Added: 0007643
2011-09-10 18:46 alexy Build => 0
2011-09-10 18:46 alexy Status new => closed
2011-09-10 18:46 alexy Assigned To => alexy
2011-09-10 18:46 alexy Resolution open => fixed
2011-09-10 18:46 alexy Fixed in Version => 3.0
2013-02-03 00:33 alexy Severity minor => feature