logo
logo

Форум Пересохранение базы

создать новую тему раскрыть все
Пересохранение базы Meinfin 13/07/2016 15:51 #написать ответ
Уже довольно давно (наверное после перехода на 3.x версию) заметил что программа стала пересохранять базу после каждого открытия. Даже если ничего не вносить, не менять никаких настроек страниц.
Раньше это как-то не беспокоило, пока не появилась необходимость работать в офлайн. Т.к. использую программу не единолично - база лежит в облаке. Соответственно, нельзя открыть базу "просто посмотреть" Облачный клиент видит, что файл изменился и в следующем онлайне сделает конфликт.
Собственно вопрос - зачем это сделано и можно ли будет поправить такое поведение программы?
Это случилось в тот момент,... Dervish 13/07/2016 16:37 #написать ответ
...когда программа начала сохранять состояние всех страниц (закладок) между сеансами работы. Делается это весьма незамысловато: программа просто выбирает настройки каждой из открытых (просмотренных) страниц и сохраняет их в файле данных.
 
Можно ли это исправить? Думаю, такое исправление имело бы смысл, но я пока не знаю, как лучше это сделать. Может быть, предложите вариант?
например, так Meinfin 13/07/2016 16:54 #написать ответ
программа просто выбирает настройки каждой из открытых (просмотренных) страниц, сравнивает их с сохраненными в файле данных и сохраняет их только в том случае, если обнаруживает изменения.
Можно и так. Dervish 13/07/2016 17:28 #написать ответ
Но тогда нужно понимать, что изменением будет считаться любой мелкий "чих", например, чуть-чуть изменили ширину столбца. Если это не проблема, могу так сделать.
я как всегда за возможность выбора Meinfin 13/07/2016 18:00 #написать ответ
Но я так понимаю появление дополнительного чекбокса "сохранять настройки страниц" рассмотрено не будет, тогда конечно лучше хотя бы так. Я зашел в настройки и, вы не поверите, увидел чекбокс "Сохранять настройки страниц после каждого изменения"! Но к сожалению снятие/установка никак не влияет на постоянное пересохранение. Что делает эта настройка?
Похоже, я просто не доделал эту настройку. Dervish 14/07/2016 00:54 #написать ответ
Видимо, что-то отвлекло и вот... Думаю, если ее доделать и сделать проверку, изменились ли настройки, проблема будет снята.
Отлично! Спасибо. Meinfin 14/07/2016 11:32 #написать ответ
добавил в доработки: http://dervish.ru/bugs-item.483/
Если настройка планировалась, то, вероятно, тема уже есть, но я не нашел.
Ну вот, разобрался. Dervish 17/07/2016 19:05 #написать ответ
Причина была в том, что указанная настройка работала только на этапе загрузки данных и использовалась для выбора, какие настройки страницы загружать, рабочие из прошлого сеанса или сохраненные. А при закрытии файла данных, настройки все равно сохранялись. То есть, настройка работала верно при запуске программы. Но все равно записывала.
 
Что я сделал:
 
1. Доработал сохранение данных. Теперь если в настройках не установлен флажок "Сохранять настройки после каждого изменения", программа не будет сохранять настройки. То есть, вообще не будет даже пытаться это сделать. Соответственно, никакого изменения файла не будет.
 
2. Если флажок установлен и настройки во время сеанса работы не изменились, то программа тоже не будет обновлять файл. Сделано это путем простого сравнения настроек. Если настройки всех страниц точно такие же, как при открытии файла, то ничего не пишем. Однако, если на некоторой странице изменилась, например, ширина столбца или если пользователь раскрыл элемент дерева статей, то это будет считаться изменением и файл данных будет обновлен.
 
Ждем следующую 260-ю сборку.