From 54802f3e5789094f3ed3e0fb231ba8cc9aecc992 Mon Sep 17 00:00:00 2001 From: noobun Date: Fri, 26 Dec 2025 11:00:29 +0200 Subject: [PATCH 1/2] feat: v0.4.0 --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 234 ++++ LICENSE | 27 +- README.md | 14 +- README.ro.md | 59 + manifest.xml | 17 +- resources/.DS_Store | Bin 6148 -> 8196 bytes resources/customizations/properties.xml | 4 +- resources/db/2025/2025.json | 1230 ++++++--------------- resources/db/2025/glance/aprilie.json | 36 - resources/db/2025/glance/august.json | 21 - resources/db/2025/glance/decembrie.json | 46 - resources/db/2025/glance/februarie.json | 21 - resources/db/2025/glance/ianuarie.json | 66 -- resources/db/2025/glance/iulie.json | 26 - resources/db/2025/glance/iunie.json | 36 - resources/db/2025/glance/mai.json | 31 - resources/db/2025/glance/martie.json | 16 - resources/db/2025/glance/noiembrie.json | 41 - resources/db/2025/glance/octombrie.json | 26 - resources/db/2025/glance/septembrie.json | 31 - resources/db/2025/main/aprilie.json | 81 -- resources/db/2025/main/august.json | 61 - resources/db/2025/main/decembrie.json | 96 -- resources/db/2025/main/februarie.json | 61 - resources/db/2025/main/ianuarie.json | 126 --- resources/db/2025/main/iulie.json | 69 -- resources/db/2025/main/iunie.json | 90 -- resources/db/2025/main/mai.json | 76 -- resources/db/2025/main/martie.json | 59 - resources/db/2025/main/noiembrie.json | 90 -- resources/db/2025/main/octombrie.json | 69 -- resources/db/2025/main/septembrie.json | 75 -- resources/db/2026/2026.json | 356 ++++++ resources/db/_toglance.py | 61 - resources/db/resources.xml | 29 +- resources/drawables/.DS_Store | Bin 6148 -> 0 bytes resources/layouts/view_overview.xml | 4 +- resources/misc/.DS_Store | Bin 6148 -> 0 bytes resources/misc/crop_delete.png | Bin 0 -> 2473 bytes source/.DS_Store | Bin 6148 -> 0 bytes source/MainEntry.mc | 29 +- source/glance/GlanceView.mc | 141 +-- source/misc/generic.mc | 50 + source/misc/logging.mc | 4 +- source/pages/.DS_Store | Bin 6148 -> 0 bytes source/pages/month/MonthDelegate.mc | 1 + source/pages/month/MonthView.mc | 104 +- source/pages/overview/OverviewDelegate.mc | 29 +- source/pages/overview/OverviewView.mc | 84 +- 50 files changed, 1268 insertions(+), 2559 deletions(-) delete mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 README.ro.md delete mode 100644 resources/db/2025/glance/aprilie.json delete mode 100644 resources/db/2025/glance/august.json delete mode 100644 resources/db/2025/glance/decembrie.json delete mode 100644 resources/db/2025/glance/februarie.json delete mode 100644 resources/db/2025/glance/ianuarie.json delete mode 100644 resources/db/2025/glance/iulie.json delete mode 100644 resources/db/2025/glance/iunie.json delete mode 100644 resources/db/2025/glance/mai.json delete mode 100644 resources/db/2025/glance/martie.json delete mode 100644 resources/db/2025/glance/noiembrie.json delete mode 100644 resources/db/2025/glance/octombrie.json delete mode 100644 resources/db/2025/glance/septembrie.json delete mode 100644 resources/db/2025/main/aprilie.json delete mode 100644 resources/db/2025/main/august.json delete mode 100644 resources/db/2025/main/decembrie.json delete mode 100644 resources/db/2025/main/februarie.json delete mode 100644 resources/db/2025/main/ianuarie.json delete mode 100644 resources/db/2025/main/iulie.json delete mode 100644 resources/db/2025/main/iunie.json delete mode 100644 resources/db/2025/main/mai.json delete mode 100644 resources/db/2025/main/martie.json delete mode 100644 resources/db/2025/main/noiembrie.json delete mode 100644 resources/db/2025/main/octombrie.json delete mode 100644 resources/db/2025/main/septembrie.json create mode 100644 resources/db/2026/2026.json delete mode 100644 resources/db/_toglance.py delete mode 100644 resources/drawables/.DS_Store delete mode 100644 resources/misc/.DS_Store create mode 100644 resources/misc/crop_delete.png delete mode 100644 source/.DS_Store delete mode 100644 source/pages/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 68b9b65cdc74497579c9492d40a0551eb89643be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!AiqG5Z!I7O(;SSiXIod7ObtdikA@U4;aydN=;1BV9b^#F^5vfRe#7o@q3)v z-AZff#e)>P1G8^-b|zuohTRMygxaaUPe`2*Vt^u+Oc)jjuA>&Dq&yWsDxQ&&5xFM= z5_?%8T054J0o*$ib`AE7a5A%h@z4vo2dnSiFbv|P+5DiTa%FA3YE+GyaqB$t%t_oN zjcs>yjk62RLvL!k-eoYz`t{9I9wlxN4Mrj%@COiba}`8B&upGXek^hwxnP)v*{^Sp z$F1&RgLT`J1{)u@nhkbz(3wn3V{3QsbZWjU?m{eSjz|39CkXPN=cz`tUER(ej)hLY6XS||?h vS_XOtih^;u#IF=E#8nKjcopw}3IRVu1JF{KO9T&y{t*x~=s`2^rwn`o3`~m* diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a004a1f --- /dev/null +++ b/.gitignore @@ -0,0 +1,234 @@ +# ---> C +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +# ---> Python +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/latest/usage/project/#working-with-version-control +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +*DS_Store* +.git-credentials +developer_key +bin \ No newline at end of file diff --git a/LICENSE b/LICENSE index a37aa84..e3a3d8b 100644 --- a/LICENSE +++ b/LICENSE @@ -2,20 +2,17 @@ MIT License Copyright (c) 2025 noobun -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO +EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index fdf0076..477993d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ -# ROcalendar 2025 -> [!IMPORTANT] -> This works only for the 2025 year +[![ro](https://img.shields.io/badge/lang-ro-red.svg)](README.ro.md) + + +# ROcalendar ROcalendar is an app made for garmin watches (with 5 buttons). @@ -11,7 +12,7 @@ This will display all the events that are part of the Cristian Ortodox Calendar The app supports 3 event types: * Public Holidays -* Blue Cross Cristian Ortodox +* Red Cross Cristian Ortodox * Black Cross Cristian Ortodox > [!TIP] @@ -20,9 +21,7 @@ The app supports 3 event types: # Implementation ### Database -Due to limitations for Connect IQ and memory on device the database needs to be splitted in 2 -> Main one and Glance one - -Database consists in a json file for Main and 12 json for glance +Each year has his own json file inside resources/db/[YEAR] ### Month View @@ -52,7 +51,6 @@ Menu View -> Where you can set colors for each event type # Improvements that could be done -* Multi-Year * More details on event * Notifications/Alerts diff --git a/README.ro.md b/README.ro.md new file mode 100644 index 0000000..3abffcc --- /dev/null +++ b/README.ro.md @@ -0,0 +1,59 @@ + + +[![en](https://img.shields.io/badge/lang-ro-red.svg)](README.md) + + +# ROcalendar + +ROcalendar este o aplicatie pentru ceasurile garmin (cu 5 butoane). + +Aceasta va afisa toate evenimentele care sunt parte din Calendarul Ortotox si Sarbatorile Publice din Romania + +Aplicatia suports 3 tipuri de evenimente +* Sarbatori publice +* Sarbatori cu cruce neagra +* Sarbatori cu cruce rosie + +> [!TIP] +> Poti incarca aplicatia prin sideloading + +# Implementare + +### Baza de date + +Datorita limitarilor legate de memorie, baza de date este impartita per an. Fiecare an are propria fila json in : resources/db/[AN] + +# Screenshots +Glance View -> Unde poti vedea urmatorul eveniment + + + +Main View -> Unde poti sa vezi intreaga luna + + + +Month View -> Unde poti sa vezi o lista de evenimente din luna curenta, cu detalii + + + +Menu View -> Unde poti sa definesti culorile pentru evenimente + + + +# Imbunatatirii + +* Mai multe detalii +* Notificari si Alerte + +# Disclaimer + +Nu sunt promise imbunatariti/rectificari. + +> [!CAUTION] +>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/manifest.xml b/manifest.xml index c8e545d..6f686d5 100644 --- a/manifest.xml +++ b/manifest.xml @@ -5,7 +5,7 @@ Use "Monkey C: Edit Application" from the Visual Studio Code command palette to update the application attributes. --> - + -