Skif_off
|
Posted: Sun Aug 07, 2016 19:54 Post subject: |
|
|
Avada
Допустим, в файле есть только одна секция, пусть activetabs, после нажатия кнопки "Сохранить с новым именем" скрипт:
- показывает окно с просьбой ввести имя;
- проверяет, что файл с таким именем не существует;
- пробует создать пустой файл с введённым именем;
- пробует прочитать "0_path" в секции activetabs, если нет, то пробует inactivetabs, если опять мимо - считает, что файл кривой;
- читает значение "activetab" и путь под этим номером;
- последовательно читаются пути в просматриваемом файле и проверяется их существование в файловой системе, если существует - сохраняется в переменную. Если опция "Сохранять пути FS-плагинов и FTP" отмечена, то соответствующие пути будут добавлены в переменную, иначе - проигнорированы;
- далее используется путь и число из пункта курсивом: если путь найден в переменной, то скрипт запишет его порядковый номер в значение activetab, иначе - номер последнего пути (наибольший). Если какая-то ошибка с получением номера или поиском соответствующего пути, то используется номер последнего пути.
- всё пишется в файл и скрипт показывает сообщение.
Если в файле есть и activetabs, и inactivetabs, то для каждой происходит то, что выделено тёмно-синим цветом. В случае ошибки на любом из этапов функция удалит пустой файл и завершится с соответствующим сообщением.
Список tab-файлов в главном окне будет автоматически обновлён, если это необходимо, только после закрытия окна просмотра.
(Возможность удаления произвольного пути несколько нетривиальна из-за нумерации и усложняется, если есть и activetabs, и inactivetabs + вероятность, что пользователь редактировал файл вручную.)
Avada wrote: | Кстати, наличие ридми на будущее категорически рекомендуется. |
TabsList.7z\TabsList\TabsList.txt?
Добавлено спустя 5 минут:
Avada wrote: | Но тогда не "clean", а "new", что ли. Или очистка — это приоритетная задача? |
По сути происходит очистка, а с "clean" понятнее, что именно сделано. Как-то так задумывалось В принципе, наверное, теперь это не особо критично, т.к. имя запрашивается у пользователя.
Avada wrote: | А вот подсказки (имена) у вкладок в новый файл не сохраняются. Это плохо. |
Это очень плохо. Можно пример файла? Или как их создать?
Есть N_path, N_options, N_session (для FTP), видимо, упускаю, но в справке не вижу и как добавить - тоже.
Добавлено ранее, перенёс в конец поста для наглядности:
Обновил:
- в случае, если поле ввода будет очищено и будет нажата кнопка "Ок", скрипт всё равно пытался переименовать файл или изменить путь в просматриваемом файле. Не знаю, насколько это искуственная ситуация, но файл портится. |
|