Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#177 closed баг (fixed)

Неудачное расположение конфиг-файла

Reported by: alx Owned by: dimag
Priority: major Milestone: 2 очередь
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords: xml config
Cc: san

Description

Сейчас программа для хранения конфиг-файла использует относительный путь (./Data/Config.xml). Это довольно неудачное решение, так как поведение зависит от текущего рабочего каталога на момент ее старта (программа может не найти конфиг-файл, или найти и использовать какой-либо стартый, а не последний сохраненный). Более того, у программы может не быть прав записи в текущий директорий (очевидный пример корневой каталог), или вообще текущая файловая система может быть read-only.

Для хранения конфигурации необходимо использовать специально предназначенные места - см. класс QSettings.

Change History (11)

comment:1 by dimag, 8 years ago

Уточнить с Александром.

in reply to:  1 comment:2 by san, 8 years ago

Replying to dimag:

Уточнить с Александром.

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

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

comment:3 by dimag, 8 years ago

Где?
Сейчас файл храниться в директории ./Data в файле Config.xml

comment:4 by dimag, 8 years ago

Keywords: xml config added

Где мне хранить файл конфигурации?

comment:5 by san, 8 years ago

Процитирую Алексея

Для хранения конфигурации необходимо использовать специально предназначенные места - см. класс QSettings.

comment:6 by san, 8 years ago

И, пожалуй, добавлю, что в случае с Виндоус мне хочется чтобы настройки программы хранились не в реестре, а в обычном файле.

Version 0, edited 8 years ago by san (next)

comment:7 by dimag, 8 years ago

Не самый удачный класс для хранения конфигурации. Файл не сохраняется в формате XML, может храниться непонятно где, и его трудно будет просматривать и переносить.
Предлагаю хранить файл конфигурации там, где он расположен сейчас в директории .\Data, в файле Config.xml.

comment:8 by san, 8 years ago

Недостатки существующего способа сохранения файла Алексей описал в тикете.

in reply to:  7 comment:9 by alx, 8 years ago

Replying to dimag:

Файл не сохраняется в формате XML,

То есть Вы не читали описание этого класса? Потому что в описании его функции registerFormat() дается пример работы как раз с XML.

может храниться непонятно где,

??? Что значит "непонятно"? Прочитайте документацию - там написано, где в каких системах хранится конфигурация.

"Непонятно где" конфиг хранится как раз сейчас, так как его расположение зависит от текущего рабочего директория, который может быть установлен куда угодно...

и его трудно будет просматривать и переносить.

В чем состоит трудность?

comment:10 by alx, 8 years ago

Resolution: fixed
Status: newclosed

In 544/dispatcher:

Конфиг-файл теперь располагается в стандартном для каждой ОС месте. Closes #177.

comment:11 by san, 7 years ago

Milestone: Текущее2 очередь

Milestone renamed

Note: See TracTickets for help on using tickets.