View Issue Details

IDProjectCategoryView StatusLast Update
0001970Double CommanderDefaultpublic2023-10-19 14:41
Reportervolkov888 Assigned ToAlexx2000  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionduplicate 
ProjectionnoneETAnone 
Product Version0.8.0 
Summary0001970: Список открытых вкладок с историей перенести из doublecmd.xml в другой файл
DescriptionСейчас нельзя скопировать настройки программы, чтобы не сломать открытые вкладки.

Например, есть два компьютера на каждом в DC открыто по несколько вкладок.
Если с одного компьютера скопировать настройки программы (файл doublecmd.xml), то на новый компьютер копируются открытые вкладки со старого компьютера, с теми путями, которых на этом компьютере может не быть.
Всегда приходится восстанавливать вкладки, которые были открыты.

Надо настройки вкладок оставить в doublecmd.xml,
а список открытых вкладок с историей (тег "doublecmd\Tabs\OpenedTabs") перенести в другой файл, возможно в history.xml
TagsNo tags attached.
Fixed in Revision
Operating systemWindows
Widgetset
Architecture

Relationships

duplicate of 0001289 resolvedAlexx2000 Store tabs in a separate config file 
related to 0001028 resolvedAlexx2000 Split configuration doublecmd.xml into smaller parts. 

Activities

cordylus

2017-12-20 20:15

developer   ~0002443

Что-то в этом есть. Я правильно понимаю, что в таком случае doublecmd.xml станет достаточно анонимным, чтобы люди не стеснялись его выкладывать в случае проблем? Плюс исчезнет необходимость его постоянно перезаписывать?

Skif_off

2017-12-20 20:53

reporter   ~0002444

Остаются закладки (на данный момент).

Skif_off

2017-12-20 22:05

reporter   ~0002446

> Плюс исчезнет необходимость его постоянно перезаписывать?
Разве есть какой-то счётчик/маркер изменения параметров? Вроде всегда перезаписывается, даже если просто открыть и закрыть...

cordylus

2017-12-20 23:01

developer   ~0002448

Last edited: 2017-12-20 23:03

Я думал, вкладки и их история сохраняются по мере использования, а не при закрытии, ошибся. Может, было бы и неплохо так сделать, на случай крэшей и внезапного отключения питания.

Но для этого xml формат не очень подходит, тогда лучше было бы лог писать, а потом из него формировать историю.

Skif_off

2017-12-21 01:07

reporter   ~0002450

По мере использования - это как-то не очень рационально выглядит: одно дело раз дёрнуть файл конфига, другое - дёргать постоянно (у меня иногда за пару часов история вырастает так, как за несколько дней может не вырасти). То, что при креше теряется, оно, конечно, нехорошо, но ведь и креш - не штатное поведение...

А history.xml тоже при закрытии пишется? Хотя тут, наверное, не помощник, там всё в одной куче...

P.S.ИМХО, сейчас всё достаточно логично, к тому же Alexx2000 вроде планировал добавить аналог фичи ТС9 с автоизменением вида, деталей не помню, суть: заходим в папку, в пути которой есть, например, не знаю, "backup", ну или "порево", и вид автоматом меняется - набор колонок, сортировка, всё под содержимое папки (можно вроде даже запустить чего). Наверное, отдельный конфиг, как с файловыми ассоциациями. Высказывались мысли о JSON вместо XML... В общем, сабж не кажется первоочередной задачей.
Хотя, наверное, было бы неплохо уже сейчас иметь возможность ограничить количество элементов в истории и совсем отрубить.

P.P.S. Кстати, можно глянуть тему хотелок, там вопрос поднимался :)

cordylus

2017-12-21 02:03

developer   ~0002451

history.xml тоже.

Но я потому и написал про другой формат вместо xml, чтобы писать можно было в режиме append only, а не перезаписывать целиком каждый раз, тогда это совсем не затратно.

Skif_off

2017-12-21 14:55

reporter   ~0002452

В XML тоже можно дописывать/модифицировать.
Затратно, файл нужно будет дёргать постоянно. А если флешка? Или по сети? К тому же в основном потоке.
Файл "держать"? Это некрасиво. Иначе - подцепить, дописать в нужное место, освободить: и так по кругу. Сохранить с новым именем и заменить существующий, как сейчас, на первый взгляд в целом быстрее.

Кстати, при креше теряются и изменения панели инструментов, с какой-нибудь хитрой кнопкой, с первого раза не (или не так) заработавшей бывает весело :)

cordylus

2017-12-21 17:20

developer   ~0002453

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

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

volkov888

2017-12-21 19:45

reporter   ~0002454

"Избранные каталоги" (тег "doublecmd\DirectoryHotList") так же надо вынести в отдельный файл.
По той же причине, при копировании настроек перезаписываются избранными со старого компьютера.

Их наверно стоит сделать по аналогии с "Избранными вкладками" (файл favoritetabs.xml)

Skif_off

2017-12-22 01:12

reporter   ~0002457

Насчёт XML - точно, прогнал.

Насчёт автоматически - не уверен, вот если сохранять всё после нажатия Применить и ОК, то да, может быть, и мог бы. А так его можно как угодно закрыть - Esc, Отмена, нелогично. WDX-плагины когда тестирую - первая проверка прямо в диалоге настроек наборов колонок, без сохранения.

cordylus

2017-12-22 02:05

developer   ~0002459

Я это и имел в виду, при сохранении. Но я сейчас проверил, он так и делает. Так что изменения в панели потеряются разве что если менять её не через окно настроек.

Skif_off

2017-12-22 22:46

reporter   ~0002462

Т.е. панель инструментов пишется в doublecmd.xml сразу по нажатию Применить? Хм... тогда получается, что DC упал, когда был в файлововй панели, не закрыв окно настроек, и события связались в памяти неверно.

cordylus

2017-12-22 23:55

developer   ~0002463

А давно это было? Я вспомнил, у меня была схожая проблема, когда я потерял вообще весь тулбар, см. 0000720:0002078 и 0000720:0002087. Alexx2000 в итоге починил (за что еще раз спасибо).

Skif_off

2017-12-23 03:11

reporter   ~0002464

Честно говоря, не вспомню так сразу, когда, но проблема другая: несколько кнопок редактировал, двигал, что-то понадобилось уточнить - полез в файловую панель, оставив окно настроек открытым, и уронил DC. Видимо, надо было всё-таки нажать Применить...

cordylus

2017-12-23 04:52

developer   ~0002465

Если просто не применили, то, думаю, винить DC уже не за что - вряд ли стоит сохранять настройки автоматически, без нажатия кнопки.

Skif_off

2017-12-23 11:19

reporter   ~0002466

Не виню, был уверен, что нажал, видимо :) Другого объяснения, почему не сохранилось в doublecmd.xml не вижу.

Issue History

Date Modified Username Field Change
2017-12-20 17:17 volkov888 New Issue
2017-12-20 20:15 cordylus Note Added: 0002443
2017-12-20 20:53 Skif_off Note Added: 0002444
2017-12-20 22:05 Skif_off Note Added: 0002446
2017-12-20 23:01 cordylus Note Added: 0002448
2017-12-20 23:03 cordylus Note Edited: 0002448
2017-12-21 01:07 Skif_off Note Added: 0002450
2017-12-21 02:03 cordylus Note Added: 0002451
2017-12-21 14:55 Skif_off Note Added: 0002452
2017-12-21 17:20 cordylus Note Added: 0002453
2017-12-21 19:45 volkov888 Note Added: 0002454
2017-12-21 22:47 Alexx2000 Relationship added related to 0001028
2017-12-21 22:51 Alexx2000 Relationship added duplicate of 0001289
2017-12-22 01:12 Skif_off Note Added: 0002457
2017-12-22 02:05 cordylus Note Added: 0002459
2017-12-22 22:46 Skif_off Note Added: 0002462
2017-12-22 23:55 cordylus Note Added: 0002463
2017-12-23 03:11 Skif_off Note Added: 0002464
2017-12-23 04:52 cordylus Note Added: 0002465
2017-12-23 11:19 Skif_off Note Added: 0002466
2023-10-19 14:41 Alexx2000 Assigned To => Alexx2000
2023-10-19 14:41 Alexx2000 Status new => closed
2023-10-19 14:41 Alexx2000 Resolution open => duplicate