Page 1 of 12

Calendar by dimfish

Posted: Fri 06 May, 2016 13:27
by dimfish
Calendar FAR macro
Image

Features:
  • Print or copy custom date format
  • First day option
  • Parse date by selected format or any format
  • Macros Key: Ctrl+Alt+F11
  • Hotkeys: Ctrl+Arrows - change Month/Year
  • Hotkeys: Ctrl+Ins, Ctrl+C - copy to Clipboard
  • Hotkeys: Ctrl+[F1,F2,F3,LMB] - change Color of Selected Today or Selected or Today
  • Hotkeys: Ctrl+Shift+[F1,F2,F3,LMB] - change Color of Selected Today Weekend or Selected Weekend or Today Weekend
  • Hotkeys: Ctrl+Alt+[F1,F2,F3,LMB] - change Format of Selected Today or Selected or Today
  • Format Description
Source
Github

Requirement
LuaDate

License
BSD 3-Clause
dimfish_Calendar.7z
(15.36 KiB) Downloaded 226 times

Набор макросов от SimSU v2014.10

Posted: Fri 06 May, 2016 13:51
by HaRT
dimfish wrote: Добавил 3 формата даты на выбор в календарь
Отличная идея!
Но почему же среди форматов нет “YYYY-MM-DD” в соответствии с ISO 8601?
И сложно ли у дней недели вторую букву сделать строчной?

Набор макросов от SimSU v2014.10

Posted: Fri 06 May, 2016 14:28
by dimfish
Да без проблем ;)
Image
SimSU_Common_Calendar.7z
(3.15 KiB) Downloaded 156 times

Набор макросов от SimSU v2014.10

Posted: Tue 10 May, 2016 10:33
by dimfish
Я ещё немного подумал и решил сохранять выбранный формат, а то немного достает каждый раз менять. Причем сохраненный формат будет сразу же и в соседних окнах без необходимости перезапуска.
Да, я забыл упомянуть, с самого начала немного поменял логику - при нажатии на Enter будет вставлена дата независимо от того, где нажат Enter - например: стрелочками выбрали вчерашнее число и можно сразу давить Enter ;)
SimSU_Common_Calendar.7z
(3.18 KiB) Downloaded 150 times

Набор макросов от SimSU v2014.10

Posted: Tue 10 May, 2016 11:41
by HaRT
dimfish, пожелание: добавить отображение номера текущих дня и недели в году. (см. внизу справа). При расчёте номера недели было бы правильно учитывать настройку из локали, с какого дня начинается неделя, (типичные значения: воскресенье, понедельник), а также отдельную настройку, считать ли первой неполную неделю (например, начало этого года пришлось на пятницу) или же начинать счёт с первой полной.
14:04 MSK
Ха, уже упоминавшийся мною выше ISO 8601 даёт ещё один вариант определения первой недели, не совпадающий с двумя другими, описанными в этом сообщении.

Набор макросов от SimSU v2014.10

Posted: Tue 10 May, 2016 13:34
by dimfish
HaRT, Хммм для такой функциональности там нужно переписать весь код по работе с датами ;)
И если это делать то буду юзать strftime - а там есть

Code: Select all

%V	ISO 8601 week number (00-53)
%W	Week number with the first Monday as the first day of week one (00-53)
см http://www.cplusplus.com/reference/ctime/strftime/

NB! Упс, проверил, а %V не работает для lua который в far - остается только %W ...

Набор макросов от SimSU v2014.10

Posted: Thu 12 May, 2016 14:06
by dimfish
Заюзал библиотеку LuaDate
Там есть 3 варианта

Code: Select all

%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
посомтрите плиз - нормально?
Image
Код ещё тестирую - выложу позже
Я думаю надо отдельно тему создать

Набор макросов от 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.
Если надо, с названием и оформлением шапки темы могу помочь.

Набор макросов от SimSU v2014.10

Posted: Thu 12 May, 2016 17:11
by Shmuel
Вот так выглядит календарь из пакета Rh_Scripts:

Календари на любой вкус

Posted: Fri 13 May, 2016 11:38
by dimfish
Исследовал как управлять цветами...
Обновил шапку с новой версией

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", чтобы месяц отображался в виде аббревиатуры из трёх букв. ну и цвета немного под себя подправил. всё очень удобно и понятно. ещё раз спасибо!