View Issue Details

IDProjectCategoryView StatusLast Update
0001969WishesSettingspublic2013-02-03 00:33
ReporterNightRoman Assigned ToDrKnS  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0001969: Отделить настройку "Сохранять состояние панелей" от остальных настроек и сделать локальной
DescriptionСостояние панелей (пути и текущие файлы) ближе к истории, чем к настройкам. В обычных случаях перенос этих данных с машины на машину вряд ли имеет смысл.

Хотел выключить у себя автосохранение настроек (есть причины), мне не сложно сохранять их явно по ShiftF9. Выяснилось, что не могу, так как при этом и сохранение состояния панелей на выходе отключается тоже. А запоминание последних путей и текущих файлов для меня важно.

Противоположный пример (Maximus5). Он любит, чтобы пути при старте были всегда одни и те же, то есть автосохранение выключено, конечно. Но тогда при реальном изменении какой-то настройки перед сохранением по ShiftF9 ему перед этим еще и пути на панелях приходится выставлять в те самые. Он нечасто меняет настойки и его это устраивает. Но неуклюже это как-то все равно, а для тех, кто часто меняет настройки - реально неудобно.

Отделить настройку "Сохранять состояние панелей" от остальных настроек (нужна отдельная галка) и сделать локальной - это бы устранило неудобства во всех известных юз-кейсах, где неудобства имеются.
TagsNo tags attached.
Build3092

Activities

NightRoman

2012-03-03 15:25

reporter   bugnote:0008677

Еще одно неудобство, связанное с этим.

Периодически экспортирую настойки (естественно) и иногда сравниваю их. Данные состояния панелей при этом, конечно, почти всегда отличаются, что создает лишний шум при сравнении.

(Попутно - а зачем их экспортировать в XML? Пользы вроде нет).

JohnDoe

2012-03-04 12:05

updater   bugnote:0008679

Правильная мысль.
Отдельная опция "[ ] Auto save panels state" обсуждалась на форуме
http://forum.farmanager.com/viewtopic.php?f=6&t=6525

Denis

2012-03-04 13:34

reporter  

m1969.1.patch.7z (2,316 bytes)

Denis

2012-03-04 13:36

reporter   bugnote:0008680

Попытка номер 1 - m1969.1.patch.7z
Новая опция "Auto save panels state".

Denis

2012-03-04 13:41

reporter   bugnote:0008681

Версия на пробу: https://github.com/downloads/Firebie/Far2bis.ext/far.m1969.1.7z

NightRoman

2012-03-04 16:49

reporter   bugnote:0008682

Господа, опция автосейв - это хорошо. Но к тикету не имеет прямого отношения. Лично мне автосейв состояния нужен (опция мне не повредит тоже). Но неудобно, что это все летит в роуминг настройки, в экспорт, и создает немало именно "шума", как при работе с экспортированными настройками, так и при таскании с машину на машину, где пути с другой машины почти всегда нежелательны.

Denis

2012-03-04 17:04

reporter   bugnote:0008683

Переделаю, что бы настройки панелей переехали в history.db.

NightRoman

2012-03-04 17:55

reporter   bugnote:0008684

Denis, очень ценю эти усилия, а есть надежда, что это в основной Фар попадет? А то как бы не напрасно это оказалось. Понятно, что с патчем вероятность сильно возрастает, но если у команды в принципе нет цели такого изменения (мало ли почему), то жаль твоих трудов.

Denis

2012-03-04 18:10

reporter   bugnote:0008685

Патч не займёт много времени. Да и мне пригодится. Будем надеяться, что с наличием патча вероятность попадания фичи в основной trunk гораздо выше. Или же будет версия "bis", как у Maximus'a :)

Denis

2012-03-04 18:58

reporter  

m1969.2.patch.7z (4,268 bytes)

Denis

2012-03-04 19:01

reporter   bugnote:0008686

Вторая попытка (m1969.2.patch.7z). Теперь текущий каталог и файл для каждой панели хранятся в history.db, и, соответственно, в импорт/экспорт не попадают.

Попробовать здесь:
https://github.com/downloads/Firebie/Far2bis.ext/far.m1969.2.7z

NightRoman

2013-01-15 11:35

reporter   bugnote:0010005

Так это пожелание в принципе будет учтено? (Вопрос практический, изобретать самому обходные пути или нет).

P.S. Еще одно неудобство было упомянуто - хранение настроек в папке SkyDrive или DropBox. Идея сама по себе весьма хорошая. А на деле, то и дело там изменения настроек по пустякам и дергание синхронизации с облаками. Удобная вещь не особо применима получается.

2useven10

2013-01-15 12:01

developer   bugnote:0010006

2 Denis
Можешь актуализировать свой патч для текущей версии ?
И добавить краткое описание - что там делается (новые опции, таблицы в БД...)

Denis

2013-01-15 12:32

reporter   bugnote:0010007

Можно, но займёт пару дней.

DrKnS

2013-01-15 19:59

administrator   bugnote:0010010

Last edited: 2013-01-15 20:00

Если кто будет переделывать - не надо в history.db.

Надо 'локальное' воплощение 'generalconfig.db', т.е. базу с тем же форматом и логикой, но в %farlocalprofile%.

Denis

2013-01-15 20:02

reporter   bugnote:0010011

Т.е. отдельный файл чисто для пути на панели и файла под курсором (для каждой из панелей)?

DrKnS

2013-01-15 20:19

administrator   bugnote:0010012

Дальше таких рантаймовых настроек может стать больше.
Архитектурно мне отдельный файл нравится сильно больше, чем таблица general_config в history.db.
Ну и код, наверное, проще будет.

А в опции тогда смысла не вижу, оно точно надо?

Denis

2013-01-16 16:58

reporter  

m1969.3.patch.7z (3,703 bytes)

Denis

2013-01-16 17:00

reporter   bugnote:0010022

Last edited: 2013-01-16 17:31

m1969.3.patch.7z: пишем в отдельный файл localconfig.db, храним его рядом с history.db.

Описание:
CurFile & Folder для каждой из панелей храним в новом файле, сохранение происходит одновременно с сохранением остальных опций. Структура нового localconfig.db совпадает с generalconfig.db (copy&paste). Грубо говоря, опции просто переехали в новый файл, который находится в %LOCALAPPDATA%.

NightRoman

2013-01-16 17:29

reporter   bugnote:0010023

Звучит хорошо. Denis, спасибо за работу! Коллеги из команды, ждем вашего хода. Заранее спасибо. Это очень хороший прогресс.

DrKnS

2013-01-16 21:01

administrator   bugnote:0010027

Ой, зачем же столько копипасты :)

3087.

NightRoman

2013-01-17 00:12

reporter   bugnote:0010028

Хорошее начало. Но перенесены только
Panel.Left │CurFile
Panel.Left │Folder
Panel.Right│CurFile
Panel.Right│Folder

А там ведь и другие состояния панели - сортировка, показ скрытых, и прочие. Надо все настройки по состоянию панелей перенести в локальные.

Denis

2013-01-17 10:11

reporter   bugnote:0010031

Last edited: 2013-01-17 10:12

Вопрос немного спорный. Я за "локальность" текущих путей и файлов (как уже сделано), но против "локальности" настроек панелей.

NightRoman

2013-01-17 12:21

reporter   bugnote:0010033

Да, тут не может быть однозначного ответа. Все зависит от стиля работы на разных машинах, между которыми шарятся или кочуют настройки. По моему стилю режим панели нередко зависит от папки - в одной мне нужны скрытые, в другой - нет, в одной папке нужна такая сортировка, в другой - другая. И т.д. Но текущие папки теперь в локальных настройках, с этим решено. Получается, что у меня режимы панелей, которые зависят от текущих папок, кочуют, а сами папки - нет. Нелогично.

Denis

2013-01-17 12:28

reporter   bugnote:0010034

Last edited: 2013-01-17 12:28

Как вариант - ещё один "локальный" файл panelconfig.db.

JohnDoe

2013-01-17 12:30

updater   bugnote:0010035

Last edited: 2013-01-17 12:32

Может логичнее новую группу настроек, определяющих какие опции считать локальными, а какие нет.

Возможно даже стоит дать возможность пользователю ЛЮБУЮ существующую опцию сделать локальной (например поставив ей соответствующий признак в far:config)

Denis

2013-01-17 12:32

reporter   bugnote:0010036

Настройку на каждую настройку, где хранить настройку :)

NightRoman

2013-01-17 12:33

reporter   bugnote:0010037

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

Denis

2013-01-17 12:39

reporter   bugnote:0010038

Технически вроде не сложно. Завести в таблице general_config новое bool поле 'local', и, если оно установленно, читать/писать настройку из/в localconfig.db.

NightRoman

2013-01-17 15:24

reporter   bugnote:0010039

Last edited: 2013-01-17 15:25

И еще нередкое дергание настроек происходит из-за Layout LeftHeightDecrement и RightHeightDecrement (высота панелей). Актуально для тех, кто любит их поелозить вверх-вниз то и дело.

P.S. Но так-то тикет вроде решен, можно закрывать, наверное.

DrKnS

2013-01-17 21:44

administrator   bugnote:0010041

Фокус теперь тоже в локальных настройках.
Остальное трогать пока что не вижу необходимости.

Но в идее "завести в таблице general_config новое bool поле 'local'" что-то есть, это можно пообсуждать в рамках отдельного бага.

Issue History

Date Modified Username Field Change
2012-01-04 06:51 NightRoman New Issue
2012-03-03 15:25 NightRoman Note Added: 0008677
2012-03-04 12:05 JohnDoe Note Added: 0008679
2012-03-04 13:34 Denis File Added: m1969.1.patch.7z
2012-03-04 13:36 Denis Note Added: 0008680
2012-03-04 13:41 Denis Note Added: 0008681
2012-03-04 16:49 NightRoman Note Added: 0008682
2012-03-04 17:04 Denis Note Added: 0008683
2012-03-04 17:55 NightRoman Note Added: 0008684
2012-03-04 18:10 Denis Note Added: 0008685
2012-03-04 18:58 Denis File Added: m1969.2.patch.7z
2012-03-04 19:01 Denis Note Added: 0008686
2013-01-15 11:35 NightRoman Note Added: 0010005
2013-01-15 12:01 2useven10 Note Added: 0010006
2013-01-15 12:32 Denis Note Added: 0010007
2013-01-15 19:59 DrKnS Note Added: 0010010
2013-01-15 20:00 DrKnS Note Edited: 0010010
2013-01-15 20:02 Denis Note Added: 0010011
2013-01-15 20:19 DrKnS Note Added: 0010012
2013-01-16 16:58 Denis File Added: m1969.3.patch.7z
2013-01-16 17:00 Denis Note Added: 0010022
2013-01-16 17:01 Denis Note Edited: 0010022
2013-01-16 17:03 Denis Note Edited: 0010022
2013-01-16 17:10 Denis Note Edited: 0010022
2013-01-16 17:11 Denis Note Edited: 0010022
2013-01-16 17:11 Denis Note Edited: 0010022
2013-01-16 17:12 Denis Note Edited: 0010022
2013-01-16 17:29 NightRoman Note Added: 0010023
2013-01-16 17:31 Denis Note Edited: 0010022
2013-01-16 20:04 DrKnS Assigned To => DrKnS
2013-01-16 20:04 DrKnS Status new => assigned
2013-01-16 21:01 DrKnS Note Added: 0010027
2013-01-16 21:01 DrKnS Status assigned => feedback
2013-01-17 00:12 NightRoman Note Added: 0010028
2013-01-17 00:12 NightRoman Status feedback => assigned
2013-01-17 10:11 Denis Note Added: 0010031
2013-01-17 10:11 Denis Note Edited: 0010031
2013-01-17 10:12 Denis Note Edited: 0010031
2013-01-17 12:05 NightRoman Status assigned => resolved
2013-01-17 12:21 NightRoman Note Added: 0010033
2013-01-17 12:28 Denis Note Added: 0010034
2013-01-17 12:28 Denis Note Edited: 0010034
2013-01-17 12:30 JohnDoe Note Added: 0010035
2013-01-17 12:32 JohnDoe Note Edited: 0010035
2013-01-17 12:32 Denis Note Added: 0010036
2013-01-17 12:32 JohnDoe Note Edited: 0010035
2013-01-17 12:33 NightRoman Note Added: 0010037
2013-01-17 12:39 Denis Note Added: 0010038
2013-01-17 15:24 NightRoman Note Added: 0010039
2013-01-17 15:25 NightRoman Note Edited: 0010039
2013-01-17 21:44 DrKnS Note Added: 0010041
2013-01-17 21:45 DrKnS Build => 3092
2013-01-17 21:45 DrKnS Status resolved => closed
2013-01-17 21:45 DrKnS Resolution open => fixed
2013-01-17 21:45 DrKnS Fixed in Version => 3.0
2013-02-03 00:33 alexy Severity minor => feature