View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000183 | Wishes | _Common | public | 2006-05-15 05:47 | 2013-02-03 00:33 |
Reporter | vskirdin | Assigned To | alexy | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Fixed in Version | 3.0 | ||||
Summary | 0000183: Registry2INI | ||||
Description | Дать возможность сохранять настройки там, где хочет юзер - либо в INI-файле, либо в реестре. Вернее - если в ком строке юзер указал, скажем, /ini=filename.ini, то с реестром не работаем, а работаем с filename.ini (в котором изменения в настройках) Для случая работы с INI-файлом кеши и истории не храним. | ||||
Additional Information | Собственно... все делается в registry.cpp. Либо функции работы с реестром, либо Get/SetPrivateProfile... Возможно нужно переделать config.cpp так, чтобы сохранялись только измененные значения. Для этого: * всякие там однопозицонные значения в структурах, описанных в struct.hpp переделать в битовые флаги (уменьшаем расход памяти); * хранить оригинальную таблицу Options и рабочую, а при сохранении сравнивать и "рисовать" только изменения (в принципе это актуально и для реестра :-) | ||||
Tags | No tags attached. | ||||
Build | 0 | ||||
|
Я думаю, нужно чуть иначе - не в ini, а в xml-подобном формате хранить. А еще лучше - сделать возможность заменить работу с, хм... "хранилищем настроек" отдельно взятым разработчиком при помощи специального "системного" модуля. Логика работы: если нет такого модуля, то работа идет с реестром (т.е. для пользователя это будет выглядеть как сейчас), если модуль есть - дергаются его функции (тогда, по идее, структура "хранилища" может быть какой угодно - ini, xml или вообще binary, а нам - far group - вообще не надо будет ломать голову, какие флаги использовать, что прикрутить для увеличения скорости чтения/записи настроек и т.п.). Только при этом надо не забыть добавить соответствующие функции в FARAPI, чтобы плагины могли писать туда же, куда и Фар. |
|
Кстати, у Нафтера есть чудесный классец, он ещё и в XML умеет вдобавок к реестру и ini: http://www.naughter.com/appsettings.html |
|
отработано :) |
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 |