Я ещё немного подумал и решил сохранять выбранный формат, а то немного достает каждый раз менять. Причем сохраненный формат будет сразу же и в соседних окнах без необходимости перезапуска.
Да, я забыл упомянуть, с самого начала немного поменял логику - при нажатии на Enter будет вставлена дата независимо от того, где нажат Enter - например: стрелочками выбрали вчерашнее число и можно сразу давить Enter
(см. внизу справа). При расчёте номера недели было бы правильно учитывать настройку из локали, с какого дня начинается неделя, (типичные значения: воскресенье, понедельник), а также отдельную настройку, считать ли первой неполную неделю (например, начало этого года пришлось на пятницу) или же начинать счёт с первой полной. 14:04 MSK
Ха, уже упоминавшийся мною выше ISO 8601 даёт ещё один вариант определения первой недели, не совпадающий с двумя другими, описанными в этом сообщении.
Набор макросов от SimSU v2014.10
Posted: Tue 10 May, 2016 13:34
by dimfish
HaRT, Хммм для такой функциональности там нужно переписать весь код по работе с датами
И если это делать то буду юзать strftime - а там есть
%U -- Sunday week of the year, from 00 (48)
%V-- ISO 8601 week of the year, from 01 (48)
%W -- Monday week of the year, from 00 (48)
Переделал полностью UI
посомтрите плиз - нормально?
Код ещё тестирую - выложу позже
Я думаю надо отдельно тему создать
Набор макросов от SimSU v2014.10
Posted: Thu 12 May, 2016 16:57
by HaRT
dimfish wrote: посомтрите плиз - нормально?
В целом симпатично. Вот мои пожелания/предложения: 1. Навигация:
А. Разместить кнопки Назад/Вперёд вокруг соответствующих полей ввода: << 2016 >> < January↓ > — чтобы было сразу понятно, что меняем.
Б. Названия дней недели сделать метками с хоткеями — для быстрого перехода на дату сразу под ними.
В. Перед шаблонами даты и номера недели/дня добавить по метке–хоткею (хоть D и N) — чтобы можно было быстро на них прыгнуть. 2. Цвета:
А. Сделать цвет Sa/Su другим, чем цвет дат из соседних месяцев.
Б. Также отображать даты субботних–воскресных дней другим цветом шрифта.
В. Подсвечивать сегодняшнюю и выбранную дату — другим цветом фона.
Г. В идеале вообще иметь возможность настройки всех цветов (например, в начале кода скрипта).
dimfish wrote: Я думаю надо отдельно тему создать
Поддерживаю. Придумайте своё название, отличное от “Calendar” (т.к. есть такой плагин), и добро пожаловать: http://forum.farmanager.com/viewforum.php?f=15.
Если надо, с названием и оформлением шапки темы могу помочь.
Исследовал как управлять цветами...
Обновил шапку с новой версией
Calendar by dimfish
Posted: Fri 13 May, 2016 12:00
by HaRT
dimfish wrote: Обновил шапку с новой версией
Судя по скриншоту, получилось очень даже!
И решение с указанием хоткеев для года/месяца очень интересное. Однако, поскольку месяц можно менять из вертикально выпадающего списка, предлагаю сделать переключение месяцев через CtrlUp/CtrlDown, а переключение годов — через CtrlLeft/CtrlRight. Мне кажется, так будет интуитивнее (а заодно для месяцев будет совместимость со старым плагином Calendar, где год можно менять с помощью CtrlLeft, CtrlRight).
Calendar by dimfish
Posted: Fri 13 May, 2016 12:47
by abelenki
dimfish, спасибо. календарь получился очень удобный.
посдкажите, в каком файле хранятся настройки? после перезапуска Far запоминает %d-%m-%Y и [%V] [%j].
Calendar by dimfish
Posted: Fri 13 May, 2016 13:07
by dimfish
abelenki wrote:dimfishпосдкажите, в каком файле хранятся настройки? после перезапуска Far запоминает %d-%m-%Y и [%V] [%j].
Дак это As Designed - специально сохраняю что юзер выбрал...
А хранится это всё в базе sqlite плагина luamacro...
Calendar by dimfish
Posted: Fri 13 May, 2016 13:16
by dimfish
HaRT wrote:Однако, поскольку месяц можно менять из вертикально выпадающего списка, предлагаю сделать переключение месяцев через CtrlUp/CtrlDown, а переключение годов — через CtrlLeft/CtrlRight.
Поменял, а также сделал чтобы Ctrl+Arrow работал когда фокус находится на кнопках и инпутах (кроме списка - там свой Ctrl+Down)...
Calendar by dimfish
Posted: Fri 13 May, 2016 13:19
by abelenki
dimfish wrote:А хранится это всё в базе sqlite плагина luamacro...
ага, разобрался, спасибо.
я для себя проще сделал - в самом скрипте переместил на верхнюю строчку нужные мне настройки local Formats и local Weeks.
добавил в local Formats более удобный для себя формат - "%d-%b-%y", чтобы месяц отображался в виде аббревиатуры из трёх букв. ну и цвета немного под себя подправил. всё очень удобно и понятно. ещё раз спасибо!