main Alexey wrote:Но он перемешивается при закрытии Куд.
И в следующий раз порядок Recent не восстанавливается, к сожалению.
не знаю как это решить. табы которые вы руками не закрывали все равно же надо в Resents положить.
А можно как-то программно их различать?
Тек, которые закрыли руками и те, что закрыл редактор после закрытия?
По событию on_exit, если такое есть.
В первом приближении.
Табы, что закрыли руками, помечать в Resents битовым/символьным флагом.
(Может, эта лишняя сущность и не понадобится, если:)
И/Или
При закрытии табов редактором CudaText записывать табы в обратном порядке снизу вверх.
(Сейчас закрывается, начиная, с правого таба сверху вниз)
Тогда:
Табы, закрытые пользователем, останутся наверху, что удобно: он с ними работал, закрыл недавно, возможно, захочет вскоре вернуться к ним или посмотреть, что редактировал последним.
А это очень удобно, и порядок не нарушается при последующих открытиях, табы не тасуются вниз.
А запись в Resents (снизу вверх) закрываемых по завершении CudaText табов в порядке слева направо логичнее и удобнее,
хотя и потребует записать их в обратном порядке в массив.
Или переписать цикл закрытие с 0 до n, а не с конца с n до 0.
Открываются же табы все равно не из Resents, а из сохраненной сессии.
Да, небольшая проблема в том, если размер списка Resents больше нужного для записи количества табов, и если писать снизу вверх, то будут пустые места в середине.
Тогда, наверное, все-таки понадобится признак закрытых вручную табов?
Или смотреть, чего нет в сессии?
Как это реализовать красиво и компактно?
Да, можно, наверное, ставить разделитель в Resents '----------------': сверху "ручные" табы (закрытые пользователем), сниу от разделителя и вниз закрытые справа налево табы при завершении CudaText.