View previous topic :: View next topic |
Author |
Message |
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Sun Aug 07, 2016 18:54 Post subject: |
|
|
Skif_off wrote: | всё, что происходит после нажатия кнопки "Сохранить с новым именем" |
В таком разе прошу не счесть за труд и изложить по пунктам всё-всё-всё, что должно, по замыслу автора, происходить при нажатии этой кнопки. Видимо, я её предназначение по-прежнему понимаю неправильно. Кстати, наличие ридми на будущее категорически рекомендуется.
P.S. Вроде бы в новой версии это как-то уже стало похоже на написанное в шапке, а до этого новый файл создавался у меня без информации о вкладках, хотя там всё присутствовало. Но тогда не "clean", а "new", что ли. Или очистка — это приоритетная задача?
P.P.S. А вот подсказки (имена) у вкладок в новый файл не сохраняются. Это плохо. И ещё есть некоторые странности, но об этом позже, мне сейчас придётся прервать тестирование. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Sun Aug 07, 2016 19:49 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), видимо, упускаю, но в справке не вижу и как добавить - тоже.
Добавлено ранее, перенёс в конец поста для наглядности:
Обновил:
- в случае, если поле ввода будет очищено и будет нажата кнопка "Ок", скрипт всё равно пытался переименовать файл или изменить путь в просматриваемом файле. Не знаю, насколько это искуственная ситуация, но файл портится. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Sun Aug 07, 2016 22:21 Post subject: |
|
|
Skif_off
Я, видимо, позже (как только изыщу время) напишу в ЛC. C примерами и прочим. Мне ещё некоторые глюки записать и систематизировать надо. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Wed Aug 10, 2016 02:41 Post subject: |
|
|
Обновил:
- теперь подсказки (имена) вкладок сохраняются в новый файл. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Wed Aug 10, 2016 18:03 Post subject: |
|
|
Avada wrote: | Частичная рамка вокруг списка TAB-файлов (только справа и внизу) — это фича? |
Это что-то вроде придания объёма, полагаю. Мне не удалось подобрать стили так, чтобы убрать это, поэтому - фича
О выносе переключалки языка в GUI подумаю, но, если честно, идея не особо по душе, к тому же потребует перезапуска.
Ещё с тех пор, когда стало ясно, что командам сохранения вкладок быть, периодически всплывает мысль прикрутить SAVETABS, SAVETABSL, SAVETABSR, SAVETABS2, SAVETABS2L, SAVETABS2R... Но это 6 em-команд и есть ли смысл? Пока на 9ку не пересел и плохо представляю, в каком виде на тулбаре пригодились бы лично мне.
Обновил:
- исправлен баг с сохранением вкладки корня диска;
- поправлены комментарии в ini-файле. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10315 Location: Россия, Саратов
|
(Separately) Posted: Wed Aug 10, 2016 19:30 Post subject: |
|
|
Skif_off wrote: | О выносе переключалки языка в GUI подумаю, но, если честно, идея не особо по душе, к тому же потребует перезапуска. |
Если есть желание сделать полноценную поддержку английского — придётся делать и опцию. Поменять значение ключа до запуска TabList в готовом INI не получится, поскольку INI генерируется автоматически, так? А чтобы он сгенерировался, надо запустить TabList и что-то там сделать. Желательно — с пониманием того, что делается. Дальше, думаю, можно не пояснять.
Skif_off wrote: | периодически всплывает мысль прикрутить SAVETABS, SAVETABSL, SAVETABSR, SAVETABS2, SAVETABS2L, SAVETABS2R... |
Правильная мысль. Делать средство управления этими делами — так уж по всем функциям. Я как раз собирался предложить. Будет у меня со временем получше — можем в ЛС обсудить, что там и как. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Wed Aug 10, 2016 20:57 Post subject: |
|
|
Avada
ini-файл генерируется, если его нет, и достаточно только запустить скрипт (на русской ОС русский будет выбран автоматически), потому что следующий шаг - поиск окна ТС и сообщение об ошибке, если не найдено.
Не стал класть в архив конфиг по умолчанию, т.к. скрипт не подхватывает автоматом тот, который рядом, а ищет в зависимости от взаимного расположения скрипта, %COMMANDER_PATH% и %COMMANDER_INI%. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Thu Aug 11, 2016 09:20 Post subject: |
|
|
Обнаружил пару неприятных ошибок, одна совсем нехорошая: если при сохранении в новый файл произойдёт какая-то из предусмотренных (вроде все) ошибок, то скрипт удалит ПРОСМАТРИВАЕМЫЙ файл! Вероятность низкая, поэтому не всплыло, прошу пока не использовать эту фичу (скомпилить и выложить исправленные версии могу только ближе к вечеру по Мск, ссылку в первом сообщении пока убрал).
В попытках предусмотреть ошибки при сохранении файла упустил из виду возможность, что отсутствовать физически могут все пути в секции => записывать будет нечего, придётся подумать, как изменить алгоритм... |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Fri Aug 12, 2016 00:19 Post subject: |
|
|
Обновил:
- исправлен баг с удалением просматриваемого файла в случае какой-либо ошибки при попытке сохранить его с новым именем;
- в некоторых случаях в путях могли удваиваться слэши;
- файл конфигурации: поправлены опечатка и изменено название (TabAction >> OpenTabAction, AitoCloseMain >> AutoCloseMain), небольшие правки комментариев;
- правки локализации;
- внутренние изменения/уточнения;
- несколько изменений в связи с намерением прикрутить работу с SAVETABS* (не влияют на работу скрипта).
TabsList.ini можно удалить и создать новый или изменить вручную, ini-файл целиком в первом сообщении темы. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Fri Oct 07, 2016 01:24 Post subject: |
|
|
TabsList 0.1.5.0 (2016.10.06):
Изменения: - В ТС 9 появилась возможность сохранять вкладки без диалога сохранения (команды savetabs*), добавлены все варианты.
- Добавлена проверка существования в usercmd.ini необходимых пользовательских команд. Добавление команд максимально автоматизировано (включая перезапуск ТС), кнопка удаления команд доступна в опциях.
- Добавлена возможность сменить просматриваемый каталог.
- Добавлена возможность записать новый путь в TabDir (с %COMMANDER_PATH%, если возможно).
- Добавлена возможность перезаписывать новый путь в TabDir, если было выполнено сохранение или загрузка TAB-файла (как ТС, но с %COMMANDER_PATH%, если возможно). При закрытии скрипта, по умолчанию выключено.
- Добавлена индикация активности файловой панели ТС (определяется при запуске скрипта), возможна проверка в фоне (по умолчанию включено на ТС 9 и старше).
- Несколько усложнено получение дескриптора родительской копии ТС, для надёжности.
- Добавлена возможность заменить существующие файлы при переименовании/сохранении TAB-файла.
- Теперь в нижней части главного окна скрипт показывает текущий каталог (если не умещается, то будет сокращён).
- В окне ввода имени реализовано поведение ТС: при открытии диалога выделяется только имя и первое нажатие стрелки вправо в поле ввода не перебросит курсор за точку перед расширением, а только сбросит выделение и курсор окажется перед ней.
- Поддержка сетевых путей \\servername\folder\ (для краткости зову по имени протокола - SMB).
- Все доступные опции вынесены GUI.
- Правка названий опций и локализации.
- Получение длинного имени: внутренняя функция AutoIt (у 3.3.8.1 с ней бывают проблемы, как оказалось) заменена на прямой вызов GetLongPathNameW.
- Исправление ошибок, оптимизация кода.
- Прочее, см. TabsList.txt.
TabsList.ini предыдущих версий лучше удалить.
В планах:
- Дополнительные горячие клавиши в главном окне:
Code: | Переключение вариантов:
Загрузка/просмотр:
"Заменить текущие вкладки" Ctrl+F1
"Заменить, активная левая" Ctrl+F2
"Заменить, активная правая" Ctrl+F3
"Добавить вкладки к текущим" Ctrl+F4
"Добавить, активная левая" Ctrl+F5
"Добавить, активная правая" Ctrl+F6
"Просмотреть TAB-файл" Ctrl+F7
Сохранить вкладки панелей:
"активной" Alt+F1
"левой" Alt+F2
"правой" Alt+F3
"обеих, активная первая" Alt+F4
"обеих, левая первая" Alt+F5
"обеих, правая первая" Alt+F6
"Сохранить" Alt+Enter
"Сохранить как..." Alt+Shift+Enter |
- Горячие клавиши для переключения активности панели (для главного окна и окна просмотра содержимого TAB-файла):
Ctrl+Стрелка влево - поместить курсор в левую панель ТС (cm_FocusLeft);
Ctrl+Стрелка вправо - поместить курсор в правую панель ТС (cm_FocusRight).
- Опция "Поверх всех окон".
Не знаю, нужно ли. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Sat Nov 26, 2016 12:18 Post subject: |
|
|
TabsList 0.1.5.1 (2016.11.26): поправлен размер контрола (текст весь не умещался), пара опечаток (в описании и комментариях). |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1236
|
(Separately) Posted: Sat Apr 22, 2017 16:55 Post subject: |
|
|
TabsList 0.1.5.2 (2017.04.22): в InputBox нажатие клавиши Enter работало аналогично нажатию кнопки Ок даже если фокус был на кнопке Отмена. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|