Page 1 of 1

Если отменить закрытие, сохраняются не все вкладки

Posted: Wed Dec 14, 2016 11:48 am
by cordylus
Например, открыли 10 вкладок, на третьей что-то отредактировали, закрываем редактор, он спрашивает, сохранять ли изменения на третьей вкладке. Если тут нажать "отмена", чтобы оценить, что это были за изменения, а потом еще раз закрыть редактор, то вкладки с 4 по 10 не сохранятся (не откроются при следующем запуске), потому что их уже нет на момент второго закрытия.

Posted: Wed Dec 28, 2016 7:55 am
by Instructor
cordylus
Сами ответили :)

Posted: Wed Dec 28, 2016 3:19 pm
by cordylus
Ну да, я понимаю, почему так работает, но такое поведение считаю неправильным - обидно было потерять список открытых вкладок.

Правильно было бы, чтобы вкладки не закрывались раньше времени, алгоритм я вижу примерно такой: сначала проход по вкладкам с вопросом сохранить? да/нет/отмена, и только если по всем вкладкам принято решение (не было отмены), то происходит закрытие всех вкладок вместе.

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

Posted: Wed Dec 28, 2016 10:57 pm
by opk44
cordylus wrote:...обидно было потерять список открытых вкладок...

...я оказываюсь в тупиковой ситуации, когда уже не помню, какое там было в файле изменение, а если отменю, чтобы проверить - теряю список вкладок.
[Настройки]--[Параметры]--[Реестр]--[Последние файлы]
Количество файлов: [xxx] (желательно поставить больше 10)

При "потере вкладок", после перезапуска редактора просто восстанавливаете необходимые через меню последних файлов.

P.S. Нелишне напомнить и о том, что:
1. Изменённая вкладка имеет "сигнальную звездочку" (*) на корешке.
2. В ручных установках есть, например, такой параметр статусной строки (StatusUserFormat)
%dm Количество измененных документов (MDI/PMDI).
Этой информации на экране вполне достаточно, чтобы:
1) не оказываться "в тупиковой ситуации"
2) закрывать программу вполне осознанно
3) ни на кого не обижаться
тчк

Posted: Thu Dec 29, 2016 8:00 am
by cordylus
opk44 wrote:Изменённая вкладка имеет "сигнальную звездочку" (*) на корешке.
У меня почему-то нету. Может, когда-то отключил, а сейчас не могу найти, где включить.
opk44 wrote:ни на кого не обижаться
Так я ни на кого лично и не обижаюсь. Наоборот, спасибо автору за отличнейшую программу и Вам за ответ.

Ещё тогда вопрос: можно ли как-то поставить восстановление последней закрытой вкладки на горячую клавишу?

Posted: Thu Dec 29, 2016 3:00 pm
by opk44
cordylus wrote:
opk44 wrote:Изменённая вкладка имеет "сигнальную звездочку" (*) на корешке.
У меня почему-то нету. Может, когда-то отключил, а сейчас не могу найти, где включить
Чтобы что-то найти, нужно, как минимум, попытаться искать. За всех не скажу, но у меня, как правило, поиски начинаются с "руководства пользователя" (AkelHelp-Rus.htm). А там написано следующее:
Ручные установки
...
ShowModify Определяет, где можно будет увидеть, что документ изменен. Задается суммой членов:

1 - Отображение "Изменен" в строке состояния.

2 - Отображение звездочки * в заголовке главного окна (SDI).

4 - Отображение звездочки * в заголовке главного окна и в заголовке окна вкладки (MDI/PMDI).

8 - Отображение звездочки * в имени кнопки вкладки (MDI/PMDI).

По умолчанию: 1+8=9, отображать везде: 1+2+4+8=15.

Posted: Thu Dec 29, 2016 4:29 pm
by Drugmix
tl;dr: проблема пропатчена словесно.

Posted: Thu Dec 29, 2016 6:08 pm
by cordylus
Да ничего не решено, проблема как была, так и осталась.

Звёздочки, чтобы можно было посмотреть заранее и постараться не нажимать раньше времени на закрытие - это не решение проблемы. Как и поштучное восстановление десятка вкладок мышкой через меню.

Posted: Thu Dec 29, 2016 9:06 pm
by Drugmix
Как страдающий от этой же самой проблемы - скажу лишь, что это был сарказм (по аналогии с вербальными интервенциями в экономике).

Posted: Sat Dec 31, 2016 5:59 am
by Instructor
cordylus, Drugmix
Добавлено: ручной флаг 268435456 в параметр "TabOptionsMDI" - при закрытии программы закрывать сперва измененные вкладки.
Тестовая

Posted: Sat Dec 31, 2016 8:43 am
by Drugmix
Instructor
Спасибо, работает.
Но прям насовсем это проблему всё равно не решает, т.к. возможен такой сценарий:
1. открыто n+2 вкладки, не менее двух вкладок имеют не сохранённые изменения;
2. пользователь пытается закрыть окно;
3. на первый вопрос "сохранить изменения?" он отвечает "нет";
4. на второй такой же вопрос он отвечает "отмена" (допустим, чтобы вручную внести какие-то финальные правки в этот файл и закрыть окно).
Итог: 1 вкладка выпала из сессии.

Posted: Sat Dec 31, 2016 4:08 pm
by opk44
Drugmix wrote:...насовсем это проблему всё равно не решает, т.к. возможен такой сценарий...
Если рассматривать все сценарии, то почему бы не вспомнить о том самом, в котором нужная поименованная сессия сохраняется принудительно до закрытия приложения.

Posted: Sat Dec 31, 2016 6:00 pm
by Drugmix
opk44
я не в курсе, что за "поименованная сессия", я хочу чтобы сессии умели работать и невидимо для меня: чтобы всё просто открывалось в том же виде, в котором всё закрывалось, функция "сделать активную сессию беспрерывной для пользователя".
Я бы даже хотел настройку "не спрашивать меня что делать с несохранёнными изменениями в закрываемых файлах", т.е. чтобы акел в файл изменений никаких не вносил, но отдельно сохранял бы хитрый и легковесный diff с несохранёнными изменениями, которые так же накатывал бы при следующем открытии (и чтоб я мог потом даже undo/redo по тем же шагам делать).
На случай, если diff оказывается неэпически большим - можно даже предупреждение об этом рядом с такой настройкой расположить, чтобы пользователь знал, что в случае чего, он - сам себе злой Буратино.
Ну, это если совсем в идеале.
Но спасибо Александру и за последний патч, с ним намного лучше, чем как сейчас в релизе.

Posted: Sat Dec 31, 2016 7:41 pm
by opk44
Drugmix wrote:я не в курсе, что за "поименованная сессия", я хочу чтобы сессии умели работать и невидимо для меня
Практикую работу с несколькими сессиями, и другого способа различать их, как давая им разные имена, мне неизвестно. Если вам этого не нужно и вы готовы постоянно работать с какой-то одной абстрактной "суперсессией", то могу за вас только порадоваться.