Merge pull request #5 from SimpleMobileTools/master

upd
This commit is contained in:
solokot
2018-04-13 14:34:30 +03:00
committed by GitHub
102 changed files with 6508 additions and 5966 deletions

View File

@ -1,6 +1,30 @@
Changelog
==========
Version 3.4.2 *(2018-04-13)*
----------------------------
* Hide public notification content if desired so (by fraang)
* Added optional grid on the monthly view
* Allow exporting events on SD cards
* Allow selecting No Sound as a reminder sound
* Set default event status for CalDAV events as Confirmed
Version 3.4.1 *(2018-03-30)*
----------------------------
* Reworked custom notification sound, should be more reliable
* Fixed some glitches related to the monthly view
* Misc smaller bugfixes and stability improvements
Version 3.4.0 *(2018-02-28)*
----------------------------
* Rewrote the monthly view
* Improved the performance at importing events from ics files
* Added many new country holidays
* Handle some new third party intents
Version 3.3.2 *(2018-02-21)*
----------------------------

View File

@ -10,8 +10,8 @@ android {
applicationId "com.simplemobiletools.calendar"
minSdkVersion 16
targetSdkVersion 27
versionCode 115
versionName "3.3.2"
versionCode 118
versionName "3.4.2"
multiDexEnabled true
setProperty("archivesBaseName", "calendar")
}
@ -46,11 +46,10 @@ ext {
}
dependencies {
implementation 'com.simplemobiletools:commons:3.15.6'
implementation 'com.simplemobiletools:commons:3.18.23'
implementation 'joda-time:joda-time:2.9.9'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.google.code.gson:gson:2.8.2'
debugImplementation "com.squareup.leakcanary:leakcanary-android:$leakCanaryVersion"
releaseImplementation "com.squareup.leakcanary:leakcanary-android-no-op:$leakCanaryVersion"

View File

@ -26,6 +26,7 @@
<activity
android:name=".activities.SplashActivity"
android:launchMode="singleTask"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
@ -34,7 +35,9 @@
</intent-filter>
</activity>
<activity android:name=".activities.MainActivity">
<activity
android:name=".activities.MainActivity"
android:launchMode="singleTask">
<meta-data
android:name="android.app.default_searchable"
android:resource="@xml/searchable"/>
@ -61,6 +64,12 @@
<data android:host="com.android.calendar"/>
<data android:scheme="content"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.item/event"/>
</intent-filter>
</activity>
<activity
@ -112,6 +121,14 @@
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.item/event"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.EDIT"/>
<action android:name="android.intent.action.INSERT"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="vnd.android.cursor.dir/event"/>
</intent-filter>
</activity>
<activity

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,149 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-chn-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:元旦
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20180215@kayaposoft.com
DTSTART;VALUE=DATE:20180215
DTEND;VALUE=DATE:20180222
SUMMARY:春节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20180405@kayaposoft.com
DTSTART;VALUE=DATE:20180405
DTEND;VALUE=DATE:20180408
SUMMARY:清明节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20180429@kayaposoft.com
DTSTART;VALUE=DATE:20180429
DTEND;VALUE=DATE:20180502
SUMMARY:劳动节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20180616@kayaposoft.com
DTSTART;VALUE=DATE:20180616
DTEND;VALUE=DATE:20180619
SUMMARY:端午节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20180922@kayaposoft.com
DTSTART;VALUE=DATE:20180922
DTEND;VALUE=DATE:20180925
SUMMARY:中秋节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20181001@kayaposoft.com
DTSTART;VALUE=DATE:20181001
DTEND;VALUE=DATE:20181008
SUMMARY:国庆节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:元旦
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20190205@kayaposoft.com
DTSTART;VALUE=DATE:20190205
DTEND;VALUE=DATE:20190206
SUMMARY:春节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20190405@kayaposoft.com
DTSTART;VALUE=DATE:20190405
DTEND;VALUE=DATE:20190406
SUMMARY:清明节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:劳动节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20190607@kayaposoft.com
DTSTART;VALUE=DATE:20190607
DTEND;VALUE=DATE:20190608
SUMMARY:端午节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20190913@kayaposoft.com
DTSTART;VALUE=DATE:20190913
DTEND;VALUE=DATE:20190914
SUMMARY:中秋节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20191001@kayaposoft.com
DTSTART;VALUE=DATE:20191001
DTEND;VALUE=DATE:20191002
SUMMARY:国庆节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:元旦
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20200125@kayaposoft.com
DTSTART;VALUE=DATE:20200125
DTEND;VALUE=DATE:20200126
SUMMARY:春节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20200404@kayaposoft.com
DTSTART;VALUE=DATE:20200404
DTEND;VALUE=DATE:20200405
SUMMARY:清明节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:劳动节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20200625@kayaposoft.com
DTSTART;VALUE=DATE:20200625
DTEND;VALUE=DATE:20200626
SUMMARY:端午节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20201001@kayaposoft.com
DTSTART;VALUE=DATE:20201001
DTEND;VALUE=DATE:20201002
SUMMARY:国庆节
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-chn-20201001-529562@kayaposoft.com
DTSTART;VALUE=DATE:20201001
DTEND;VALUE=DATE:20201002
SUMMARY:中秋节
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,422 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-col-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Año Nuevo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180108@kayaposoft.com
DTSTART;VALUE=DATE:20180108
DTEND;VALUE=DATE:20180109
SUMMARY:Día de los Reyes Magos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180319@kayaposoft.com
DTSTART;VALUE=DATE:20180319
DTEND;VALUE=DATE:20180320
SUMMARY:Día de San José
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180325@kayaposoft.com
DTSTART;VALUE=DATE:20180325
DTEND;VALUE=DATE:20180326
SUMMARY:Domingo de Ramos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180329@kayaposoft.com
DTSTART;VALUE=DATE:20180329
DTEND;VALUE=DATE:20180330
SUMMARY:Jueves Santo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180330@kayaposoft.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
SUMMARY:Viernes Santo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:Domingo de Pascuas o Resurrección
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Día del Trabajo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180514@kayaposoft.com
DTSTART;VALUE=DATE:20180514
DTEND;VALUE=DATE:20180515
SUMMARY:Día de la Ascensión
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180604@kayaposoft.com
DTSTART;VALUE=DATE:20180604
DTEND;VALUE=DATE:20180605
SUMMARY:Corpus Christi
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180611@kayaposoft.com
DTSTART;VALUE=DATE:20180611
DTEND;VALUE=DATE:20180612
SUMMARY:Sagrado Corazón de Jesús
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180702@kayaposoft.com
DTSTART;VALUE=DATE:20180702
DTEND;VALUE=DATE:20180703
SUMMARY:San Pedro y San Pablo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180720@kayaposoft.com
DTSTART;VALUE=DATE:20180720
DTEND;VALUE=DATE:20180721
SUMMARY:Declaracion de la Independencia de Colombia
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180807@kayaposoft.com
DTSTART;VALUE=DATE:20180807
DTEND;VALUE=DATE:20180808
SUMMARY:Batalla de Boyacá
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20180820@kayaposoft.com
DTSTART;VALUE=DATE:20180820
DTEND;VALUE=DATE:20180821
SUMMARY:Asunción de la Virgen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20181015@kayaposoft.com
DTSTART;VALUE=DATE:20181015
DTEND;VALUE=DATE:20181016
SUMMARY:Día de la Raza
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20181105@kayaposoft.com
DTSTART;VALUE=DATE:20181105
DTEND;VALUE=DATE:20181106
SUMMARY:Día de todos los Santos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20181112@kayaposoft.com
DTSTART;VALUE=DATE:20181112
DTEND;VALUE=DATE:20181113
SUMMARY:Independencia de Cartagena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20181208@kayaposoft.com
DTSTART;VALUE=DATE:20181208
DTEND;VALUE=DATE:20181209
SUMMARY:Día de la Inmaculada Concepción
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Navidad
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Año Nuevo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190107@kayaposoft.com
DTSTART;VALUE=DATE:20190107
DTEND;VALUE=DATE:20190108
SUMMARY:Día de los Reyes Magos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190325@kayaposoft.com
DTSTART;VALUE=DATE:20190325
DTEND;VALUE=DATE:20190326
SUMMARY:Día de San José
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190414@kayaposoft.com
DTSTART;VALUE=DATE:20190414
DTEND;VALUE=DATE:20190415
SUMMARY:Domingo de Ramos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190418@kayaposoft.com
DTSTART;VALUE=DATE:20190418
DTEND;VALUE=DATE:20190419
SUMMARY:Jueves Santo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190419@kayaposoft.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
SUMMARY:Viernes Santo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:Domingo de Pascuas o Resurrección
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Día del Trabajo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190603@kayaposoft.com
DTSTART;VALUE=DATE:20190603
DTEND;VALUE=DATE:20190604
SUMMARY:Día de la Ascensión
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190624@kayaposoft.com
DTSTART;VALUE=DATE:20190624
DTEND;VALUE=DATE:20190625
SUMMARY:Corpus Christi
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190701@kayaposoft.com
DTSTART;VALUE=DATE:20190701
DTEND;VALUE=DATE:20190702
SUMMARY:Sagrado Corazón de Jesús
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190701-289927@kayaposoft.com
DTSTART;VALUE=DATE:20190701
DTEND;VALUE=DATE:20190702
SUMMARY:San Pedro y San Pablo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190720@kayaposoft.com
DTSTART;VALUE=DATE:20190720
DTEND;VALUE=DATE:20190721
SUMMARY:Declaracion de la Independencia de Colombia
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190807@kayaposoft.com
DTSTART;VALUE=DATE:20190807
DTEND;VALUE=DATE:20190808
SUMMARY:Batalla de Boyacá
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20190819@kayaposoft.com
DTSTART;VALUE=DATE:20190819
DTEND;VALUE=DATE:20190820
SUMMARY:Asunción de la Virgen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20191014@kayaposoft.com
DTSTART;VALUE=DATE:20191014
DTEND;VALUE=DATE:20191015
SUMMARY:Día de la Raza
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20191104@kayaposoft.com
DTSTART;VALUE=DATE:20191104
DTEND;VALUE=DATE:20191105
SUMMARY:Día de todos los Santos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20191111@kayaposoft.com
DTSTART;VALUE=DATE:20191111
DTEND;VALUE=DATE:20191112
SUMMARY:Independencia de Cartagena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20191208@kayaposoft.com
DTSTART;VALUE=DATE:20191208
DTEND;VALUE=DATE:20191209
SUMMARY:Día de la Inmaculada Concepción
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Navidad
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Año Nuevo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200106@kayaposoft.com
DTSTART;VALUE=DATE:20200106
DTEND;VALUE=DATE:20200107
SUMMARY:Día de los Reyes Magos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200323@kayaposoft.com
DTSTART;VALUE=DATE:20200323
DTEND;VALUE=DATE:20200324
SUMMARY:Día de San José
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200405@kayaposoft.com
DTSTART;VALUE=DATE:20200405
DTEND;VALUE=DATE:20200406
SUMMARY:Domingo de Ramos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200409@kayaposoft.com
DTSTART;VALUE=DATE:20200409
DTEND;VALUE=DATE:20200410
SUMMARY:Jueves Santo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200410@kayaposoft.com
DTSTART;VALUE=DATE:20200410
DTEND;VALUE=DATE:20200411
SUMMARY:Viernes Santo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:Domingo de Pascuas o Resurrección
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Día del Trabajo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200525@kayaposoft.com
DTSTART;VALUE=DATE:20200525
DTEND;VALUE=DATE:20200526
SUMMARY:Día de la Ascensión
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200615@kayaposoft.com
DTSTART;VALUE=DATE:20200615
DTEND;VALUE=DATE:20200616
SUMMARY:Corpus Christi
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200622@kayaposoft.com
DTSTART;VALUE=DATE:20200622
DTEND;VALUE=DATE:20200623
SUMMARY:Sagrado Corazón de Jesús
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200629@kayaposoft.com
DTSTART;VALUE=DATE:20200629
DTEND;VALUE=DATE:20200630
SUMMARY:San Pedro y San Pablo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200720@kayaposoft.com
DTSTART;VALUE=DATE:20200720
DTEND;VALUE=DATE:20200721
SUMMARY:Declaracion de la Independencia de Colombia
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200807@kayaposoft.com
DTSTART;VALUE=DATE:20200807
DTEND;VALUE=DATE:20200808
SUMMARY:Batalla de Boyacá
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20200817@kayaposoft.com
DTSTART;VALUE=DATE:20200817
DTEND;VALUE=DATE:20200818
SUMMARY:Asunción de la Virgen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20201012@kayaposoft.com
DTSTART;VALUE=DATE:20201012
DTEND;VALUE=DATE:20201013
SUMMARY:Día de la Raza
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20201102@kayaposoft.com
DTSTART;VALUE=DATE:20201102
DTEND;VALUE=DATE:20201103
SUMMARY:Día de todos los Santos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20201116@kayaposoft.com
DTSTART;VALUE=DATE:20201116
DTEND;VALUE=DATE:20201117
SUMMARY:Independencia de Cartagena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20201208@kayaposoft.com
DTSTART;VALUE=DATE:20201208
DTEND;VALUE=DATE:20201209
SUMMARY:Día de la Inmaculada Concepción
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-col-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Navidad
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,296 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-hrv-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180106@kayaposoft.com
DTSTART;VALUE=DATE:20180106
DTEND;VALUE=DATE:20180107
SUMMARY:Bogojavljanje ili Sveta tri kralja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:Uskrs
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:Uskrsni ponedjeljak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180531@kayaposoft.com
DTSTART;VALUE=DATE:20180531
DTEND;VALUE=DATE:20180601
SUMMARY:Tijelovo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180622@kayaposoft.com
DTSTART;VALUE=DATE:20180622
DTEND;VALUE=DATE:20180623
SUMMARY:Dan antifašističke borbe
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180625@kayaposoft.com
DTSTART;VALUE=DATE:20180625
DTEND;VALUE=DATE:20180626
SUMMARY:Dan državnosti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180805@kayaposoft.com
DTSTART;VALUE=DATE:20180805
DTEND;VALUE=DATE:20180806
SUMMARY:Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20180815@kayaposoft.com
DTSTART;VALUE=DATE:20180815
DTEND;VALUE=DATE:20180816
SUMMARY:Velika Gospa
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20181008@kayaposoft.com
DTSTART;VALUE=DATE:20181008
DTEND;VALUE=DATE:20181009
SUMMARY:Dan neovisnosti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20181101@kayaposoft.com
DTSTART;VALUE=DATE:20181101
DTEND;VALUE=DATE:20181102
SUMMARY:Svi sveti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Božić
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:Prvi dan po Božiću\, Sveti Stjepan
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190106@kayaposoft.com
DTSTART;VALUE=DATE:20190106
DTEND;VALUE=DATE:20190107
SUMMARY:Bogojavljanje ili Sveta tri kralja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:Uskrs
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:Uskrsni ponedjeljak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190620@kayaposoft.com
DTSTART;VALUE=DATE:20190620
DTEND;VALUE=DATE:20190621
SUMMARY:Tijelovo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190622@kayaposoft.com
DTSTART;VALUE=DATE:20190622
DTEND;VALUE=DATE:20190623
SUMMARY:Dan antifašističke borbe
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190625@kayaposoft.com
DTSTART;VALUE=DATE:20190625
DTEND;VALUE=DATE:20190626
SUMMARY:Dan državnosti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190805@kayaposoft.com
DTSTART;VALUE=DATE:20190805
DTEND;VALUE=DATE:20190806
SUMMARY:Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20190815@kayaposoft.com
DTSTART;VALUE=DATE:20190815
DTEND;VALUE=DATE:20190816
SUMMARY:Velika Gospa
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20191008@kayaposoft.com
DTSTART;VALUE=DATE:20191008
DTEND;VALUE=DATE:20191009
SUMMARY:Dan neovisnosti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20191101@kayaposoft.com
DTSTART;VALUE=DATE:20191101
DTEND;VALUE=DATE:20191102
SUMMARY:Svi sveti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Božić
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:Prvi dan po Božiću\, Sveti Stjepan
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200106@kayaposoft.com
DTSTART;VALUE=DATE:20200106
DTEND;VALUE=DATE:20200107
SUMMARY:Bogojavljanje ili Sveta tri kralja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:Uskrs
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:Uskrsni ponedjeljak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200611@kayaposoft.com
DTSTART;VALUE=DATE:20200611
DTEND;VALUE=DATE:20200612
SUMMARY:Tijelovo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200622@kayaposoft.com
DTSTART;VALUE=DATE:20200622
DTEND;VALUE=DATE:20200623
SUMMARY:Dan antifašističke borbe
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200625@kayaposoft.com
DTSTART;VALUE=DATE:20200625
DTEND;VALUE=DATE:20200626
SUMMARY:Dan državnosti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200805@kayaposoft.com
DTSTART;VALUE=DATE:20200805
DTEND;VALUE=DATE:20200806
SUMMARY:Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20200815@kayaposoft.com
DTSTART;VALUE=DATE:20200815
DTEND;VALUE=DATE:20200816
SUMMARY:Velika Gospa
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20201008@kayaposoft.com
DTSTART;VALUE=DATE:20201008
DTEND;VALUE=DATE:20201009
SUMMARY:Dan neovisnosti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20201101@kayaposoft.com
DTSTART;VALUE=DATE:20201101
DTEND;VALUE=DATE:20201102
SUMMARY:Svi sveti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Božić
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-hrv-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:Prvi dan po Božiću\, Sveti Stjepan
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,254 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-dnk-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Nytårsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180325@kayaposoft.com
DTSTART;VALUE=DATE:20180325
DTEND;VALUE=DATE:20180326
SUMMARY:Palmesøndag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180329@kayaposoft.com
DTSTART;VALUE=DATE:20180329
DTEND;VALUE=DATE:20180330
SUMMARY:Skærtorsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180330@kayaposoft.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
SUMMARY:Langfredag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:1. Påskedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:2. Påskedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180427@kayaposoft.com
DTSTART;VALUE=DATE:20180427
DTEND;VALUE=DATE:20180428
SUMMARY:Store Bededag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180510@kayaposoft.com
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180511
SUMMARY:Kristi Himmelfartsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180520@kayaposoft.com
DTSTART;VALUE=DATE:20180520
DTEND;VALUE=DATE:20180521
SUMMARY:1. Pinsedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20180521@kayaposoft.com
DTSTART;VALUE=DATE:20180521
DTEND;VALUE=DATE:20180522
SUMMARY:2. Pinsedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:1. Juledag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:2. Juledag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Nytårsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190414@kayaposoft.com
DTSTART;VALUE=DATE:20190414
DTEND;VALUE=DATE:20190415
SUMMARY:Palmesøndag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190418@kayaposoft.com
DTSTART;VALUE=DATE:20190418
DTEND;VALUE=DATE:20190419
SUMMARY:Skærtorsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190419@kayaposoft.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
SUMMARY:Langfredag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:1. Påskedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:2. Påskedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190517@kayaposoft.com
DTSTART;VALUE=DATE:20190517
DTEND;VALUE=DATE:20190518
SUMMARY:Store Bededag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190530@kayaposoft.com
DTSTART;VALUE=DATE:20190530
DTEND;VALUE=DATE:20190531
SUMMARY:Kristi Himmelfartsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190609@kayaposoft.com
DTSTART;VALUE=DATE:20190609
DTEND;VALUE=DATE:20190610
SUMMARY:1. Pinsedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20190610@kayaposoft.com
DTSTART;VALUE=DATE:20190610
DTEND;VALUE=DATE:20190611
SUMMARY:2. Pinsedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:1. Juledag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:2. Juledag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Nytårsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200405@kayaposoft.com
DTSTART;VALUE=DATE:20200405
DTEND;VALUE=DATE:20200406
SUMMARY:Palmesøndag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200409@kayaposoft.com
DTSTART;VALUE=DATE:20200409
DTEND;VALUE=DATE:20200410
SUMMARY:Skærtorsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200410@kayaposoft.com
DTSTART;VALUE=DATE:20200410
DTEND;VALUE=DATE:20200411
SUMMARY:Langfredag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:1. Påskedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:2. Påskedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200508@kayaposoft.com
DTSTART;VALUE=DATE:20200508
DTEND;VALUE=DATE:20200509
SUMMARY:Store Bededag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200521@kayaposoft.com
DTSTART;VALUE=DATE:20200521
DTEND;VALUE=DATE:20200522
SUMMARY:Kristi Himmelfartsdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200531@kayaposoft.com
DTSTART;VALUE=DATE:20200531
DTEND;VALUE=DATE:20200601
SUMMARY:1. Pinsedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20200601@kayaposoft.com
DTSTART;VALUE=DATE:20200601
DTEND;VALUE=DATE:20200602
SUMMARY:2. Pinsedag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:1. Juledag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-dnk-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:2. Juledag
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -1,219 +1,254 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
SUMMARY:Leheristipäev
UID:87aea25e-f592-47eb-b603-81640c074097
DTSTART;VALUE=DATE:20170518
DTEND;VALUE=DATE:20170519
UID:enrico-est-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:uusaasta
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Taevaminemispüha
UID:6e5e0af9-0230-427b-97f3-e799ddad9294
DTSTART;VALUE=DATE:20170525
DTEND;VALUE=DATE:20170526
UID:enrico-est-20180224@kayaposoft.com
DTSTART;VALUE=DATE:20180224
DTEND;VALUE=DATE:20180225
SUMMARY:iseseisvuspäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:1. nelipüha
UID:496869e4-af27-425b-ac0d-67c6dcb01adc
DTSTART;VALUE=DATE:20170604
DTEND;VALUE=DATE:20170605
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:2. nelipüha
UID:b70ead8d-fad3-484a-bf67-5a52632c579d
DTSTART;VALUE=DATE:20170605
DTEND;VALUE=DATE:20170606
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Suve algus kell 07:24
UID:328ecee3-576a-44e8-9c1e-2f3a5e357f83
DTSTART;VALUE=DATE:20170621
DTEND;VALUE=DATE:20170622
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Sügise algus kell 23:02
UID:afc4d254-2139-497a-a8d8-38df0bbaea0d
DTSTART;VALUE=DATE:20170922
DTEND;VALUE=DATE:20170923
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Kohaliku omavalitsuse volikogu valimised
UID:8da59f54-176f-446e-a270-c111ea3e18dd
DTSTART;VALUE=DATE:20171015
DTEND;VALUE=DATE:20171016
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:1. advent
UID:47dc3b6a-d95b-44b5-bfc7-1b3a35f7205d
DTSTART;VALUE=DATE:20171203
DTEND;VALUE=DATE:20171204
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:2. advent
UID:4864b353-09b9-4efa-83d0-a972392b84bb
DTSTART;VALUE=DATE:20171210
DTEND;VALUE=DATE:20171211
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:3. advent
UID:329a9209-d449-4bbf-a34c-ad1d5a5c614b
DTSTART;VALUE=DATE:20171217
DTEND;VALUE=DATE:20171218
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Talve algus kell 18:28
UID:8f789507-7ebb-43a0-98c3-7d43e02383ab
DTSTART;VALUE=DATE:20171221
DTEND;VALUE=DATE:20171222
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:4. advent
UID:b2be7f14-42d6-4315-ae41-a8e70cc0389d
DTSTART;VALUE=DATE:20171224
DTEND;VALUE=DATE:20171225
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Vastlapäev
UID:a95dc427-9bc3-42c2-bf73-e28475488119
DTSTART;VALUE=DATE:20180213
DTEND;VALUE=DATE:20180214
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Tuhkapäev
UID:f154d202-d199-47d7-8c9b-2f7e9b6ee566
DTSTART;VALUE=DATE:20180214
DTEND;VALUE=DATE:20180215
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Kevade algus kell 18:15
UID:bf16eef0-f725-4bad-8f08-782b799d3c23
DTSTART;VALUE=DATE:20180320
DTEND;VALUE=DATE:20180321
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Suur reede
UID:c6622440-ffcb-4ac1-b74e-9585bbd4201f
UID:enrico-est-20180330@kayaposoft.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
SUMMARY:suur reede
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:1. ülestõusmispüha
UID:e2b4326b-a759-4139-983c-010e11c00ed6
UID:enrico-est-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:ülestõusmispühade 1. püha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:2. ülestõusmispüha
UID:7953c329-b375-453d-aa22-3178ab4c8635
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
UID:enrico-est-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:kevadpüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Tuuleristipäev
UID:3bcd442c-cfb7-4ce2-b094-5c8faa2eb6e3
DTSTART;VALUE=DATE:20180419
DTEND;VALUE=DATE:20180420
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Linnuristipäev
UID:ed690184-a077-404a-9898-526fc30c0edd
DTSTART;VALUE=DATE:20180426
DTEND;VALUE=DATE:20180427
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Leheristipäev
UID:3ee1e9ca-4a0f-4b50-95e2-9d6f0df602b4
DTSTART;VALUE=DATE:20180503
DTEND;VALUE=DATE:20180504
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Taevaminemispüha
UID:77e33601-6e4a-451d-8f05-f0e32aae10e8
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180511
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:1. nelipüha
UID:b1ec19e5-7aad-4c68-9b57-afb2fdc443d7
UID:enrico-est-20180520@kayaposoft.com
DTSTART;VALUE=DATE:20180520
DTEND;VALUE=DATE:20180521
SUMMARY:nelipühade 1. püha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:2. nelipüha
UID:fbd7814f-0b3b-4916-94de-3c20d7a32fae
DTSTART;VALUE=DATE:20180521
DTEND;VALUE=DATE:20180522
UID:enrico-est-20180623@kayaposoft.com
DTSTART;VALUE=DATE:20180623
DTEND;VALUE=DATE:20180624
SUMMARY:võidupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Suve algus kell 13:07
UID:2c96272e-c227-46ba-8219-54e5ae360ffd
DTSTART;VALUE=DATE:20180621
DTEND;VALUE=DATE:20180622
UID:enrico-est-20180624@kayaposoft.com
DTSTART;VALUE=DATE:20180624
DTEND;VALUE=DATE:20180625
SUMMARY:jaanipäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Sügise algus kell 04:54
UID:5f22d789-9b4b-4aeb-9691-f813e2a01aa8
DTSTART;VALUE=DATE:20180923
DTEND;VALUE=DATE:20180924
UID:enrico-est-20180820@kayaposoft.com
DTSTART;VALUE=DATE:20180820
DTEND;VALUE=DATE:20180821
SUMMARY:taasiseseisvumispäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:1. advent
UID:ec10f2a1-aa5f-44d3-afe1-a6d1cf3e5a9e
DTSTART;VALUE=DATE:20181202
DTEND;VALUE=DATE:20181203
UID:enrico-est-20181224@kayaposoft.com
DTSTART;VALUE=DATE:20181224
DTEND;VALUE=DATE:20181225
SUMMARY:jõululaupäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:2. advent
UID:c29c4c4a-6905-4864-9bb9-ebf6c1ed394e
DTSTART;VALUE=DATE:20181209
DTEND;VALUE=DATE:20181210
UID:enrico-est-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:esimene jõulupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:3. advent
UID:fc82eb9d-15b2-4182-9e7c-30096371decc
DTSTART;VALUE=DATE:20181216
DTEND;VALUE=DATE:20181217
UID:enrico-est-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:teine jõulupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Talve algus kell 00:23
UID:89ae6fc6-699f-4189-80db-c118f2aca9c4
DTSTART;VALUE=DATE:20181222
DTEND;VALUE=DATE:20181223
UID:enrico-est-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:uusaasta
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:4. advent
UID:6b3cd6d7-77ab-4d12-97c8-92fbe78264a8
DTSTART;VALUE=DATE:20181223
DTEND;VALUE=DATE:20181224
UID:enrico-est-20190224@kayaposoft.com
DTSTART;VALUE=DATE:20190224
DTEND;VALUE=DATE:20190225
SUMMARY:iseseisvuspäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190419@kayaposoft.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
SUMMARY:suur reede
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:ülestõusmispühade 1. püha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:kevadpüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190609@kayaposoft.com
DTSTART;VALUE=DATE:20190609
DTEND;VALUE=DATE:20190610
SUMMARY:nelipühade 1. püha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190623@kayaposoft.com
DTSTART;VALUE=DATE:20190623
DTEND;VALUE=DATE:20190624
SUMMARY:võidupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190624@kayaposoft.com
DTSTART;VALUE=DATE:20190624
DTEND;VALUE=DATE:20190625
SUMMARY:jaanipäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20190820@kayaposoft.com
DTSTART;VALUE=DATE:20190820
DTEND;VALUE=DATE:20190821
SUMMARY:taasiseseisvumispäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20191224@kayaposoft.com
DTSTART;VALUE=DATE:20191224
DTEND;VALUE=DATE:20191225
SUMMARY:jõululaupäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:esimene jõulupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:teine jõulupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:uusaasta
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200224@kayaposoft.com
DTSTART;VALUE=DATE:20200224
DTEND;VALUE=DATE:20200225
SUMMARY:iseseisvuspäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200410@kayaposoft.com
DTSTART;VALUE=DATE:20200410
DTEND;VALUE=DATE:20200411
SUMMARY:suur reede
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:ülestõusmispühade 1. püha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:kevadpüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200531@kayaposoft.com
DTSTART;VALUE=DATE:20200531
DTEND;VALUE=DATE:20200601
SUMMARY:nelipühade 1. püha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200623@kayaposoft.com
DTSTART;VALUE=DATE:20200623
DTEND;VALUE=DATE:20200624
SUMMARY:võidupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200624@kayaposoft.com
DTSTART;VALUE=DATE:20200624
DTEND;VALUE=DATE:20200625
SUMMARY:jaanipäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20200820@kayaposoft.com
DTSTART;VALUE=DATE:20200820
DTEND;VALUE=DATE:20200821
SUMMARY:taasiseseisvumispäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20201224@kayaposoft.com
DTSTART;VALUE=DATE:20201224
DTEND;VALUE=DATE:20201225
SUMMARY:jõululaupäev
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:esimene jõulupüha
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-est-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:teine jõulupüha
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -65,16 +65,16 @@ END:VEVENT
BEGIN:VEVENT
SUMMARY:Naistenpäivä
UID:55954496-9c99-4eeb-871e-b015d0f8ce40
DTSTART;VALUE=DATE:19750308
DTEND;VALUE=DATE:19750309
DTSTART;VALUE=DATE:20170308
DTEND;VALUE=DATE:20170309
STATUS:CONFIRMED
RRULE:FREQ=YEARLY;INTERVAL=1
END:VEVENT
BEGIN:VEVENT
SUMMARY:Ruotsalaisuuden päivä
UID:ac081b74-6737-49a2-aeaf-4993eec75d0e
DTSTART;VALUE=DATE:19801106
DTEND;VALUE=DATE:19801107
DTSTART;VALUE=DATE:20171106
DTEND;VALUE=DATE:20171107
STATUS:CONFIRMED
RRULE:FREQ=YEARLY;INTERVAL=1
END:VEVENT

View File

@ -0,0 +1,300 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:20171212T045342Z-268948299@marudot.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180101
SUMMARY:New Year's Day 2018
DESCRIPTION:Tahun Baru 2018
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-601964501@marudot.com
DTSTART;VALUE=DATE:20180216
DTEND;VALUE=DATE:20180216
SUMMARY:Chinese New Year
DESCRIPTION:Tahun Baru Imlek 2569
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-417357037@marudot.com
DTSTART;VALUE=DATE:20180228
DTEND;VALUE=DATE:20180228
SUMMARY:Coming to Indonesia-Cross Cultural Training
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-578292563@marudot.com
DTSTART;VALUE=DATE:20180301
DTEND;VALUE=DATE:20180301
SUMMARY:Working in Indonesia-Cross Cultural Workshop for Expats
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1099619811@marudot.com
DTSTART;VALUE=DATE:20180313
DTEND;VALUE=DATE:20180313
SUMMARY:Living in Indonesia-Cross Cultural Workshop for Spouses
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-894503703@marudot.com
DTSTART;VALUE=DATE:20180314
DTEND;VALUE=DATE:20180314
SUMMARY:Management in Indonesia-Cross Cultural Workshop
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-791851244@marudot.com
DTSTART;VALUE=DATE:20180317
DTEND;VALUE=DATE:20180317
SUMMARY:Balinese New Year
DESCRIPTION:Hari Raya Nyepi 1940
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-329618688@marudot.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180330
SUMMARY:Good Friday
DESCRIPTION:Wafat Isa Al-Masih
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-190146881@marudot.com
DTSTART;VALUE=DATE:20180414
DTEND;VALUE=DATE:20180414
SUMMARY:Ascension of Prophet Muhammad SAW
DESCRIPTION:Isra Miraj Nabi Muhammad SAW
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-435386496@marudot.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180501
SUMMARY:Labor Day
DESCRIPTION:Hari Buruh Internasional
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-418653428@marudot.com
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180510
SUMMARY:Waisak Day (“Buddhas Birthday” 2562)
DESCRIPTION:Hari Waisak 2562
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-2110293750@marudot.com
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180510
SUMMARY:Ascension Day of Jesus Christ
DESCRIPTION:Kenaikan Isa Almasih
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-119842090@marudot.com
DTSTART;VALUE=DATE:20180601
DTEND;VALUE=DATE:20180601
SUMMARY:Birthday of Pancasila
DESCRIPTION:Hari Lahir Pancasila
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1166612864@marudot.com
DTSTART;VALUE=DATE:20180615
DTEND;VALUE=DATE:20180615
SUMMARY:End of Ramadan Eid-al-Fitr 1439H (1st of Shawwal)
DESCRIPTION:Hari Raya Idul Fitri 1439H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-640873938@marudot.com
DTSTART;VALUE=DATE:20180616
DTEND;VALUE=DATE:20180616
SUMMARY:End of Ramadan Eid-al-Fitr 1439H (2nd of Shawwal)
DESCRIPTION:Hari Raya Idul Fitri 1439H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1948724575@marudot.com
DTSTART;VALUE=DATE:20180808
DTEND;VALUE=DATE:20180808
SUMMARY:Working in Indonesia-Cross Cultural Workshop for Expats
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1926764224@marudot.com
DTSTART;VALUE=DATE:20180814
DTEND;VALUE=DATE:20180814
SUMMARY:Management in Indonesia-Cross Cultural Workshop
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-828431129@marudot.com
DTSTART;VALUE=DATE:20180817
DTEND;VALUE=DATE:20180817
SUMMARY:Indonesia Independence Day
DESCRIPTION:Hari Kemerdekaan Republik Indonesia ke-73
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1713949044@marudot.com
DTSTART;VALUE=DATE:20180822
DTEND;VALUE=DATE:20180822
SUMMARY:Islamic feast of Sacrifice (Bakr-Eid) 1439H
DESCRIPTION:Hari Raya Idul Adha 1439H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1202137034@marudot.com
DTSTART;VALUE=DATE:20180911
DTEND;VALUE=DATE:20180911
SUMMARY:Islamic New Year (1st Muharram 1440H)
DESCRIPTION:Tahun Baru Islam 1440H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-209129850@marudot.com
DTSTART;VALUE=DATE:20181120
DTEND;VALUE=DATE:20181120
SUMMARY:Birth of the Prophet Muhammad SAW
DESCRIPTION:Maulid Nabi
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-946856460@marudot.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181225
SUMMARY:Christmas Day
DESCRIPTION:Hari Raya Natal
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-2689482992@marudot.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190101
SUMMARY:New Year's Day 2019
DESCRIPTION:Tahun Baru 2019
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-6019645012@marudot.com
DTSTART;VALUE=DATE:20190205
DTEND;VALUE=DATE:20190205
SUMMARY:Chinese New Year
DESCRIPTION:Tahun Baru Imlek 2569
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-7918512442@marudot.com
DTSTART;VALUE=DATE:20190307
DTEND;VALUE=DATE:20190307
SUMMARY:Balinese New Year
DESCRIPTION:Hari Raya Nyepi 1940
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-3296186882@marudot.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190419
SUMMARY:Good Friday
DESCRIPTION:Wafat Isa Al-Masih
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1901468812@marudot.com
DTSTART;VALUE=DATE:20190530
DTEND;VALUE=DATE:20190530
SUMMARY:Ascension of Prophet Muhammad SAW
DESCRIPTION:Isra Miraj Nabi Muhammad SAW
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-4353864962@marudot.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190501
SUMMARY:Labor Day
DESCRIPTION:Hari Buruh Internasional
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-4186534282@marudot.com
DTSTART;VALUE=DATE:20190519
DTEND;VALUE=DATE:20190519
SUMMARY:Waisak Day (“Buddhas Birthday” 2562)
DESCRIPTION:Hari Waisak 2562
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-21102937502@marudot.com
DTSTART;VALUE=DATE:20190530
DTEND;VALUE=DATE:20190530
SUMMARY:Ascension Day of Jesus Christ
DESCRIPTION:Kenaikan Isa Almasih
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-1198420902@marudot.com
DTSTART;VALUE=DATE:20190601
DTEND;VALUE=DATE:20190601
SUMMARY:Birthday of Pancasila
DESCRIPTION:Hari Lahir Pancasila
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-11666128642@marudot.com
DTSTART;VALUE=DATE:20180605
DTEND;VALUE=DATE:20180605
SUMMARY:End of Ramadan Eid-al-Fitr 1439H (1st of Shawwal)
DESCRIPTION:Hari Raya Idul Fitri 1439H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-6408739382@marudot.com
DTSTART;VALUE=DATE:20180606
DTEND;VALUE=DATE:20180606
SUMMARY:End of Ramadan Eid-al-Fitr 1439H (2nd of Shawwal)
DESCRIPTION:Hari Raya Idul Fitri 1439H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-8284311292@marudot.com
DTSTART;VALUE=DATE:20190817
DTEND;VALUE=DATE:20190817
SUMMARY:Indonesia Independence Day
DESCRIPTION:Hari Kemerdekaan Republik Indonesia ke-73
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-17139490442@marudot.com
DTSTART;VALUE=DATE:20180812
DTEND;VALUE=DATE:20180812
SUMMARY:Islamic feast of Sacrifice (Bakr-Eid) 1439H
DESCRIPTION:Hari Raya Idul Adha 1439H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-12021370342@marudot.com
DTSTART;VALUE=DATE:20180901
DTEND;VALUE=DATE:20180901
SUMMARY:Islamic New Year (1st Muharram 1440H)
DESCRIPTION:Tahun Baru Islam 1440H
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-2091298502@marudot.com
DTSTART;VALUE=DATE:20181110
DTEND;VALUE=DATE:20181110
SUMMARY:Birth of the Prophet Muhammad SAW
DESCRIPTION:Maulid Nabi
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:20171212T045342Z-9468564602@marudot.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181225
SUMMARY:Christmas Day
DESCRIPTION:Hari Raya Natal
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,326 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-lva-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Jaungada dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180330@kayaposoft.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
SUMMARY:Lielo Piektdienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:Pirmās Lieldienas
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:Otro Lieldienu dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180430@kayaposoft.com
DTSTART;VALUE=DATE:20180430
DTEND;VALUE=DATE:20180501
SUMMARY:Darba svētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Darba svētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180504@kayaposoft.com
DTSTART;VALUE=DATE:20180504
DTEND;VALUE=DATE:20180505
SUMMARY:Latvijas Republikas Neatkarības atjaunošanas dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180513@kayaposoft.com
DTSTART;VALUE=DATE:20180513
DTEND;VALUE=DATE:20180514
SUMMARY:Mātes diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180520@kayaposoft.com
DTSTART;VALUE=DATE:20180520
DTEND;VALUE=DATE:20180521
SUMMARY:Vasarsvētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180623@kayaposoft.com
DTSTART;VALUE=DATE:20180623
DTEND;VALUE=DATE:20180624
SUMMARY:Līgo dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20180624@kayaposoft.com
DTSTART;VALUE=DATE:20180624
DTEND;VALUE=DATE:20180625
SUMMARY:Jāņu dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20181119@kayaposoft.com
DTSTART;VALUE=DATE:20181119
DTEND;VALUE=DATE:20181120
SUMMARY:Latvijas Republikas proklamēšanas diena
DESCRIPTION:Holiday in lieu of 18 Nov 2018
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20181224@kayaposoft.com
DTSTART;VALUE=DATE:20181224
DTEND;VALUE=DATE:20181225
SUMMARY:Ziemassvētku vakars
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Ziemassvētki
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:2. Ziemassvētki
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20181231@kayaposoft.com
DTSTART;VALUE=DATE:20181231
DTEND;VALUE=DATE:20190101
SUMMARY:Vecgada vakars
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Jaungada dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190419@kayaposoft.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
SUMMARY:Lielo Piektdienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:Pirmās Lieldienas
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:Otro Lieldienu dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Darba svētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190506@kayaposoft.com
DTSTART;VALUE=DATE:20190506
DTEND;VALUE=DATE:20190507
SUMMARY:Latvijas Republikas Neatkarības atjaunošanas dienu
DESCRIPTION:Holiday in lieu of 4 May 2019
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190512@kayaposoft.com
DTSTART;VALUE=DATE:20190512
DTEND;VALUE=DATE:20190513
SUMMARY:Mātes diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190609@kayaposoft.com
DTSTART;VALUE=DATE:20190609
DTEND;VALUE=DATE:20190610
SUMMARY:Vasarsvētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190623@kayaposoft.com
DTSTART;VALUE=DATE:20190623
DTEND;VALUE=DATE:20190624
SUMMARY:Līgo dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20190624@kayaposoft.com
DTSTART;VALUE=DATE:20190624
DTEND;VALUE=DATE:20190625
SUMMARY:Jāņu dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20191118@kayaposoft.com
DTSTART;VALUE=DATE:20191118
DTEND;VALUE=DATE:20191119
SUMMARY:Latvijas Republikas proklamēšanas diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20191224@kayaposoft.com
DTSTART;VALUE=DATE:20191224
DTEND;VALUE=DATE:20191225
SUMMARY:Ziemassvētku vakars
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Ziemassvētki
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:2. Ziemassvētki
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20191231@kayaposoft.com
DTSTART;VALUE=DATE:20191231
DTEND;VALUE=DATE:20200101
SUMMARY:Vecgada vakars
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Jaungada dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200410@kayaposoft.com
DTSTART;VALUE=DATE:20200410
DTEND;VALUE=DATE:20200411
SUMMARY:Lielo Piektdienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:Pirmās Lieldienas
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:Otro Lieldienu dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Darba svētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200504@kayaposoft.com
DTSTART;VALUE=DATE:20200504
DTEND;VALUE=DATE:20200505
SUMMARY:Latvijas Republikas Neatkarības atjaunošanas dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200510@kayaposoft.com
DTSTART;VALUE=DATE:20200510
DTEND;VALUE=DATE:20200511
SUMMARY:Mātes diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200531@kayaposoft.com
DTSTART;VALUE=DATE:20200531
DTEND;VALUE=DATE:20200601
SUMMARY:Vasarsvētkus
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200623@kayaposoft.com
DTSTART;VALUE=DATE:20200623
DTEND;VALUE=DATE:20200624
SUMMARY:Līgo dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20200624@kayaposoft.com
DTSTART;VALUE=DATE:20200624
DTEND;VALUE=DATE:20200625
SUMMARY:Jāņu dienu
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20201118@kayaposoft.com
DTSTART;VALUE=DATE:20201118
DTEND;VALUE=DATE:20201119
SUMMARY:Latvijas Republikas proklamēšanas diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20201224@kayaposoft.com
DTSTART;VALUE=DATE:20201224
DTEND;VALUE=DATE:20201225
SUMMARY:Ziemassvētku vakars
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Ziemassvētki
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:2. Ziemassvētki
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lva-20201231@kayaposoft.com
DTSTART;VALUE=DATE:20201231
DTEND;VALUE=DATE:20210101
SUMMARY:Vecgada vakars
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,317 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-ltu-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Naujieji metai
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180216@kayaposoft.com
DTSTART;VALUE=DATE:20180216
DTEND;VALUE=DATE:20180217
SUMMARY:Lietuvos valstybės atkūrimo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180311@kayaposoft.com
DTSTART;VALUE=DATE:20180311
DTEND;VALUE=DATE:20180312
SUMMARY:Lietuvos nepriklausomybės atkūrimo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:Velykos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:Velykos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Tarptautinė darbo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180506@kayaposoft.com
DTSTART;VALUE=DATE:20180506
DTEND;VALUE=DATE:20180507
SUMMARY:Motinos diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180603@kayaposoft.com
DTSTART;VALUE=DATE:20180603
DTEND;VALUE=DATE:20180604
SUMMARY:Tėvo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180624@kayaposoft.com
DTSTART;VALUE=DATE:20180624
DTEND;VALUE=DATE:20180625
SUMMARY:Rasos (Joninės)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180706@kayaposoft.com
DTSTART;VALUE=DATE:20180706
DTEND;VALUE=DATE:20180707
SUMMARY:Valstybės (Lietuvos karaliaus Mindaugo karūnavimo) diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20180815@kayaposoft.com
DTSTART;VALUE=DATE:20180815
DTEND;VALUE=DATE:20180816
SUMMARY:Žolinė (Švč. Mergelės Marijos ėmimo į dangų diena)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20181101@kayaposoft.com
DTSTART;VALUE=DATE:20181101
DTEND;VALUE=DATE:20181102
SUMMARY:Visų šventųjų diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20181224@kayaposoft.com
DTSTART;VALUE=DATE:20181224
DTEND;VALUE=DATE:20181225
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Naujieji metai
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190216@kayaposoft.com
DTSTART;VALUE=DATE:20190216
DTEND;VALUE=DATE:20190217
SUMMARY:Lietuvos valstybės atkūrimo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190311@kayaposoft.com
DTSTART;VALUE=DATE:20190311
DTEND;VALUE=DATE:20190312
SUMMARY:Lietuvos nepriklausomybės atkūrimo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:Velykos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:Velykos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Tarptautinė darbo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190505@kayaposoft.com
DTSTART;VALUE=DATE:20190505
DTEND;VALUE=DATE:20190506
SUMMARY:Motinos diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190602@kayaposoft.com
DTSTART;VALUE=DATE:20190602
DTEND;VALUE=DATE:20190603
SUMMARY:Tėvo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190624@kayaposoft.com
DTSTART;VALUE=DATE:20190624
DTEND;VALUE=DATE:20190625
SUMMARY:Rasos (Joninės)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190706@kayaposoft.com
DTSTART;VALUE=DATE:20190706
DTEND;VALUE=DATE:20190707
SUMMARY:Valstybės (Lietuvos karaliaus Mindaugo karūnavimo) diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20190815@kayaposoft.com
DTSTART;VALUE=DATE:20190815
DTEND;VALUE=DATE:20190816
SUMMARY:Žolinė (Švč. Mergelės Marijos ėmimo į dangų diena)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20191101@kayaposoft.com
DTSTART;VALUE=DATE:20191101
DTEND;VALUE=DATE:20191102
SUMMARY:Visų šventųjų diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20191224@kayaposoft.com
DTSTART;VALUE=DATE:20191224
DTEND;VALUE=DATE:20191225
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Naujieji metai
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200216@kayaposoft.com
DTSTART;VALUE=DATE:20200216
DTEND;VALUE=DATE:20200217
SUMMARY:Lietuvos valstybės atkūrimo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200311@kayaposoft.com
DTSTART;VALUE=DATE:20200311
DTEND;VALUE=DATE:20200312
SUMMARY:Lietuvos nepriklausomybės atkūrimo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:Velykos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:Velykos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Tarptautinė darbo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200503@kayaposoft.com
DTSTART;VALUE=DATE:20200503
DTEND;VALUE=DATE:20200504
SUMMARY:Motinos diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200607@kayaposoft.com
DTSTART;VALUE=DATE:20200607
DTEND;VALUE=DATE:20200608
SUMMARY:Tėvo diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200624@kayaposoft.com
DTSTART;VALUE=DATE:20200624
DTEND;VALUE=DATE:20200625
SUMMARY:Rasos (Joninės)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200706@kayaposoft.com
DTSTART;VALUE=DATE:20200706
DTEND;VALUE=DATE:20200707
SUMMARY:Valstybės (Lietuvos karaliaus Mindaugo karūnavimo) diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20200815@kayaposoft.com
DTSTART;VALUE=DATE:20200815
DTEND;VALUE=DATE:20200816
SUMMARY:Žolinė (Švč. Mergelės Marijos ėmimo į dangų diena)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20201101@kayaposoft.com
DTSTART;VALUE=DATE:20201101
DTEND;VALUE=DATE:20201102
SUMMARY:Visų šventųjų diena
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20201224@kayaposoft.com
DTSTART;VALUE=DATE:20201224
DTEND;VALUE=DATE:20201225
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ltu-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:Šv. Kalėdos
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,212 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-lux-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Neijoerschdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:Ouschterméindeg
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Dag vun der Aarbecht
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20180510@kayaposoft.com
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180511
SUMMARY:Christi Himmelfaart
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20180521@kayaposoft.com
DTSTART;VALUE=DATE:20180521
DTEND;VALUE=DATE:20180522
SUMMARY:Péngschtméindeg
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20180623@kayaposoft.com
DTSTART;VALUE=DATE:20180623
DTEND;VALUE=DATE:20180624
SUMMARY:Nationalfeierdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20180815@kayaposoft.com
DTSTART;VALUE=DATE:20180815
DTEND;VALUE=DATE:20180816
SUMMARY:Mariä Himmelfaart
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20181101@kayaposoft.com
DTSTART;VALUE=DATE:20181101
DTEND;VALUE=DATE:20181102
SUMMARY:Allerhellgen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Chrëschtdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:Stiefesdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Neijoerschdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:Ouschterméindeg
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Dag vun der Aarbecht
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190530@kayaposoft.com
DTSTART;VALUE=DATE:20190530
DTEND;VALUE=DATE:20190531
SUMMARY:Christi Himmelfaart
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190610@kayaposoft.com
DTSTART;VALUE=DATE:20190610
DTEND;VALUE=DATE:20190611
SUMMARY:Péngschtméindeg
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190623@kayaposoft.com
DTSTART;VALUE=DATE:20190623
DTEND;VALUE=DATE:20190624
SUMMARY:Nationalfeierdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20190815@kayaposoft.com
DTSTART;VALUE=DATE:20190815
DTEND;VALUE=DATE:20190816
SUMMARY:Mariä Himmelfaart
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20191101@kayaposoft.com
DTSTART;VALUE=DATE:20191101
DTEND;VALUE=DATE:20191102
SUMMARY:Allerhellgen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Chrëschtdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:Stiefesdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Neijoerschdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:Ouschterméindeg
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Dag vun der Aarbecht
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200521@kayaposoft.com
DTSTART;VALUE=DATE:20200521
DTEND;VALUE=DATE:20200522
SUMMARY:Christi Himmelfaart
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200601@kayaposoft.com
DTSTART;VALUE=DATE:20200601
DTEND;VALUE=DATE:20200602
SUMMARY:Péngschtméindeg
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200623@kayaposoft.com
DTSTART;VALUE=DATE:20200623
DTEND;VALUE=DATE:20200624
SUMMARY:Nationalfeierdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20200815@kayaposoft.com
DTSTART;VALUE=DATE:20200815
DTEND;VALUE=DATE:20200816
SUMMARY:Mariä Himmelfaart
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20201101@kayaposoft.com
DTSTART;VALUE=DATE:20201101
DTEND;VALUE=DATE:20201102
SUMMARY:Allerhellgen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Chrëschtdag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-lux-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:Stiefesdag
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,239 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-mkd-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Нова Година\, Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180108@kayaposoft.com
DTSTART;VALUE=DATE:20180108
DTEND;VALUE=DATE:20180109
SUMMARY:Прв ден Божик\, Prv den Božik
DESCRIPTION:Holiday in lieu of 7 Jan 2018
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180409@kayaposoft.com
DTSTART;VALUE=DATE:20180409
DTEND;VALUE=DATE:20180410
SUMMARY:Втор ден Велигден\, Vtor den Veligden
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Ден на трудот\, Den na trudot
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180524@kayaposoft.com
DTSTART;VALUE=DATE:20180524
DTEND;VALUE=DATE:20180525
SUMMARY:Св. Кирил и Методиј\, Ден на сèсловенските просветители; Sv. Kiril i Metodij\, Den na sèslovenskite prosvetiteli
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180615@kayaposoft.com
DTSTART;VALUE=DATE:20180615
DTEND;VALUE=DATE:20180616
SUMMARY:Рамазан Бајрам\, Ramazan Bajram
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180802@kayaposoft.com
DTSTART;VALUE=DATE:20180802
DTEND;VALUE=DATE:20180803
SUMMARY:Ден на Републиката\, Den na Republikata
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20180908@kayaposoft.com
DTSTART;VALUE=DATE:20180908
DTEND;VALUE=DATE:20180909
SUMMARY:Ден на независноста\, Den na nezavisnosta
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20181011@kayaposoft.com
DTSTART;VALUE=DATE:20181011
DTEND;VALUE=DATE:20181012
SUMMARY:Ден на востанието\, Den na vostanieto
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20181023@kayaposoft.com
DTSTART;VALUE=DATE:20181023
DTEND;VALUE=DATE:20181024
SUMMARY:Ден на македонската револуционерна борба\, Den na makedonskata revolucionarna borba
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20181208@kayaposoft.com
DTSTART;VALUE=DATE:20181208
DTEND;VALUE=DATE:20181209
SUMMARY:Св. Климент Охридски\, Sv. Kliment Ohridski
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Нова Година\, Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190107@kayaposoft.com
DTSTART;VALUE=DATE:20190107
DTEND;VALUE=DATE:20190108
SUMMARY:Прв ден Божик\, Prv den Božik
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190429@kayaposoft.com
DTSTART;VALUE=DATE:20190429
DTEND;VALUE=DATE:20190430
SUMMARY:Втор ден Велигден\, Vtor den Veligden
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Ден на трудот\, Den na trudot
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190524@kayaposoft.com
DTSTART;VALUE=DATE:20190524
DTEND;VALUE=DATE:20190525
SUMMARY:Св. Кирил и Методиј\, Ден на сèсловенските просветители; Sv. Kiril i Metodij\, Den na sèslovenskite prosvetiteli
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190604@kayaposoft.com
DTSTART;VALUE=DATE:20190604
DTEND;VALUE=DATE:20190605
SUMMARY:Рамазан Бајрам\, Ramazan Bajram
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190802@kayaposoft.com
DTSTART;VALUE=DATE:20190802
DTEND;VALUE=DATE:20190803
SUMMARY:Ден на Републиката\, Den na Republikata
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20190909@kayaposoft.com
DTSTART;VALUE=DATE:20190909
DTEND;VALUE=DATE:20190910
SUMMARY:Ден на независноста\, Den na nezavisnosta
DESCRIPTION:Holiday in lieu of 8 Sep 2019
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20191011@kayaposoft.com
DTSTART;VALUE=DATE:20191011
DTEND;VALUE=DATE:20191012
SUMMARY:Ден на востанието\, Den na vostanieto
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20191023@kayaposoft.com
DTSTART;VALUE=DATE:20191023
DTEND;VALUE=DATE:20191024
SUMMARY:Ден на македонската револуционерна борба\, Den na makedonskata revolucionarna borba
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20191209@kayaposoft.com
DTSTART;VALUE=DATE:20191209
DTEND;VALUE=DATE:20191210
SUMMARY:Св. Климент Охридски\, Sv. Kliment Ohridski
DESCRIPTION:Holiday in lieu of 8 Dec 2019
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Нова Година\, Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200107@kayaposoft.com
DTSTART;VALUE=DATE:20200107
DTEND;VALUE=DATE:20200108
SUMMARY:Прв ден Божик\, Prv den Božik
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200420@kayaposoft.com
DTSTART;VALUE=DATE:20200420
DTEND;VALUE=DATE:20200421
SUMMARY:Втор ден Велигден\, Vtor den Veligden
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Ден на трудот\, Den na trudot
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200524@kayaposoft.com
DTSTART;VALUE=DATE:20200524
DTEND;VALUE=DATE:20200525
SUMMARY:Рамазан Бајрам\, Ramazan Bajram
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200525@kayaposoft.com
DTSTART;VALUE=DATE:20200525
DTEND;VALUE=DATE:20200526
SUMMARY:Св. Кирил и Методиј\, Ден на сèсловенските просветители; Sv. Kiril i Metodij\, Den na sèslovenskite prosvetiteli
DESCRIPTION:Holiday in lieu of 24 May 2020
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200803@kayaposoft.com
DTSTART;VALUE=DATE:20200803
DTEND;VALUE=DATE:20200804
SUMMARY:Ден на Републиката\, Den na Republikata
DESCRIPTION:Holiday in lieu of 2 Aug 2020
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20200908@kayaposoft.com
DTSTART;VALUE=DATE:20200908
DTEND;VALUE=DATE:20200909
SUMMARY:Ден на независноста\, Den na nezavisnosta
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20201012@kayaposoft.com
DTSTART;VALUE=DATE:20201012
DTEND;VALUE=DATE:20201013
SUMMARY:Ден на востанието\, Den na vostanieto
DESCRIPTION:Holiday in lieu of 11 Oct 2020
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20201023@kayaposoft.com
DTSTART;VALUE=DATE:20201023
DTEND;VALUE=DATE:20201024
SUMMARY:Ден на македонската револуционерна борба\, Den na makedonskata revolucionarna borba
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mkd-20201208@kayaposoft.com
DTSTART;VALUE=DATE:20201208
DTEND;VALUE=DATE:20201209
SUMMARY:Св. Климент Охридски\, Sv. Kliment Ohridski
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,156 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-mex-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Año Nuevo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20180205@kayaposoft.com
DTSTART;VALUE=DATE:20180205
DTEND;VALUE=DATE:20180206
SUMMARY:Día de la Constitución Mexicana
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20180319@kayaposoft.com
DTSTART;VALUE=DATE:20180319
DTEND;VALUE=DATE:20180320
SUMMARY:Natalicio de Benito Juárez
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Día del Trabajo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20180916@kayaposoft.com
DTSTART;VALUE=DATE:20180916
DTEND;VALUE=DATE:20180917
SUMMARY:Día de la Independencia
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20181119@kayaposoft.com
DTSTART;VALUE=DATE:20181119
DTEND;VALUE=DATE:20181120
SUMMARY:Revolución Mexicana
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20181201@kayaposoft.com
DTSTART;VALUE=DATE:20181201
DTEND;VALUE=DATE:20181202
SUMMARY:Transmisión del Poder Ejecutivo Federal
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Día de Navidad
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Año Nuevo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20190204@kayaposoft.com
DTSTART;VALUE=DATE:20190204
DTEND;VALUE=DATE:20190205
SUMMARY:Día de la Constitución Mexicana
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20190318@kayaposoft.com
DTSTART;VALUE=DATE:20190318
DTEND;VALUE=DATE:20190319
SUMMARY:Natalicio de Benito Juárez
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Día del Trabajo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20190916@kayaposoft.com
DTSTART;VALUE=DATE:20190916
DTEND;VALUE=DATE:20190917
SUMMARY:Día de la Independencia
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20191118@kayaposoft.com
DTSTART;VALUE=DATE:20191118
DTEND;VALUE=DATE:20191119
SUMMARY:Revolución Mexicana
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Día de Navidad
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Año Nuevo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20200203@kayaposoft.com
DTSTART;VALUE=DATE:20200203
DTEND;VALUE=DATE:20200204
SUMMARY:Día de la Constitución Mexicana
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20200316@kayaposoft.com
DTSTART;VALUE=DATE:20200316
DTEND;VALUE=DATE:20200317
SUMMARY:Natalicio de Benito Juárez
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Día del Trabajo
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20200916@kayaposoft.com
DTSTART;VALUE=DATE:20200916
DTEND;VALUE=DATE:20200917
SUMMARY:Día de la Independencia
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20201116@kayaposoft.com
DTSTART;VALUE=DATE:20201116
DTEND;VALUE=DATE:20201117
SUMMARY:Revolución Mexicana
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-mex-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Día de Navidad
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,296 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-rou-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Anul nou
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180102@kayaposoft.com
DTSTART;VALUE=DATE:20180102
DTEND;VALUE=DATE:20180103
SUMMARY:Anul nou
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180124@kayaposoft.com
DTSTART;VALUE=DATE:20180124
DTEND;VALUE=DATE:20180125
SUMMARY:Unirea Principatelor Române/Mica Unire
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180408@kayaposoft.com
DTSTART;VALUE=DATE:20180408
DTEND;VALUE=DATE:20180409
SUMMARY:Paştele
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180409@kayaposoft.com
DTSTART;VALUE=DATE:20180409
DTEND;VALUE=DATE:20180410
SUMMARY:Doua zi de Pasti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Ziua muncii
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180527@kayaposoft.com
DTSTART;VALUE=DATE:20180527
DTEND;VALUE=DATE:20180528
SUMMARY:Rusaliile
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180528@kayaposoft.com
DTSTART;VALUE=DATE:20180528
DTEND;VALUE=DATE:20180529
SUMMARY:Doua zi de Rusaliile
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180601@kayaposoft.com
DTSTART;VALUE=DATE:20180601
DTEND;VALUE=DATE:20180602
SUMMARY:Ziua Copilului
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20180815@kayaposoft.com
DTSTART;VALUE=DATE:20180815
DTEND;VALUE=DATE:20180816
SUMMARY:Adormirea Maicii Domnului/Sfânta Maria Mare
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20181130@kayaposoft.com
DTSTART;VALUE=DATE:20181130
DTEND;VALUE=DATE:20181201
SUMMARY:Sfântul Andrei
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20181201@kayaposoft.com
DTSTART;VALUE=DATE:20181201
DTEND;VALUE=DATE:20181202
SUMMARY:Ziua Națională/Marea Unire
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Crăciunul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:Crăciunul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Anul nou
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190102@kayaposoft.com
DTSTART;VALUE=DATE:20190102
DTEND;VALUE=DATE:20190103
SUMMARY:Anul nou
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190124@kayaposoft.com
DTSTART;VALUE=DATE:20190124
DTEND;VALUE=DATE:20190125
SUMMARY:Unirea Principatelor Române/Mica Unire
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190428@kayaposoft.com
DTSTART;VALUE=DATE:20190428
DTEND;VALUE=DATE:20190429
SUMMARY:Paştele
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190429@kayaposoft.com
DTSTART;VALUE=DATE:20190429
DTEND;VALUE=DATE:20190430
SUMMARY:Doua zi de Pasti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Ziua muncii
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190601@kayaposoft.com
DTSTART;VALUE=DATE:20190601
DTEND;VALUE=DATE:20190602
SUMMARY:Ziua Copilului
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190616@kayaposoft.com
DTSTART;VALUE=DATE:20190616
DTEND;VALUE=DATE:20190617
SUMMARY:Rusaliile
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190617@kayaposoft.com
DTSTART;VALUE=DATE:20190617
DTEND;VALUE=DATE:20190618
SUMMARY:Doua zi de Rusaliile
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20190815@kayaposoft.com
DTSTART;VALUE=DATE:20190815
DTEND;VALUE=DATE:20190816
SUMMARY:Adormirea Maicii Domnului/Sfânta Maria Mare
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20191130@kayaposoft.com
DTSTART;VALUE=DATE:20191130
DTEND;VALUE=DATE:20191201
SUMMARY:Sfântul Andrei
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20191201@kayaposoft.com
DTSTART;VALUE=DATE:20191201
DTEND;VALUE=DATE:20191202
SUMMARY:Ziua Națională/Marea Unire
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Crăciunul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:Crăciunul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Anul nou
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200102@kayaposoft.com
DTSTART;VALUE=DATE:20200102
DTEND;VALUE=DATE:20200103
SUMMARY:Anul nou
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200124@kayaposoft.com
DTSTART;VALUE=DATE:20200124
DTEND;VALUE=DATE:20200125
SUMMARY:Unirea Principatelor Române/Mica Unire
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200419@kayaposoft.com
DTSTART;VALUE=DATE:20200419
DTEND;VALUE=DATE:20200420
SUMMARY:Paştele
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200420@kayaposoft.com
DTSTART;VALUE=DATE:20200420
DTEND;VALUE=DATE:20200421
SUMMARY:Doua zi de Pasti
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Ziua muncii
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200601@kayaposoft.com
DTSTART;VALUE=DATE:20200601
DTEND;VALUE=DATE:20200602
SUMMARY:Ziua Copilului
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200607@kayaposoft.com
DTSTART;VALUE=DATE:20200607
DTEND;VALUE=DATE:20200608
SUMMARY:Rusaliile
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200608@kayaposoft.com
DTSTART;VALUE=DATE:20200608
DTEND;VALUE=DATE:20200609
SUMMARY:Doua zi de Rusaliile
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20200815@kayaposoft.com
DTSTART;VALUE=DATE:20200815
DTEND;VALUE=DATE:20200816
SUMMARY:Adormirea Maicii Domnului/Sfânta Maria Mare
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20201130@kayaposoft.com
DTSTART;VALUE=DATE:20201130
DTEND;VALUE=DATE:20201201
SUMMARY:Sfântul Andrei
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20201201@kayaposoft.com
DTSTART;VALUE=DATE:20201201
DTEND;VALUE=DATE:20201202
SUMMARY:Ziua Națională/Marea Unire
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Crăciunul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-rou-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:Crăciunul
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,247 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-srb-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180102@kayaposoft.com
DTSTART;VALUE=DATE:20180102
DTEND;VALUE=DATE:20180103
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180107@kayaposoft.com
DTSTART;VALUE=DATE:20180107
DTEND;VALUE=DATE:20180108
SUMMARY:Božić
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180215@kayaposoft.com
DTSTART;VALUE=DATE:20180215
DTEND;VALUE=DATE:20180216
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180216@kayaposoft.com
DTSTART;VALUE=DATE:20180216
DTEND;VALUE=DATE:20180217
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180406@kayaposoft.com
DTSTART;VALUE=DATE:20180406
DTEND;VALUE=DATE:20180407
SUMMARY:Veliki petak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180408@kayaposoft.com
DTSTART;VALUE=DATE:20180408
DTEND;VALUE=DATE:20180409
SUMMARY:Vaskrs
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180409@kayaposoft.com
DTSTART;VALUE=DATE:20180409
DTEND;VALUE=DATE:20180410
SUMMARY:Vaskrsni ponedeljak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20180502@kayaposoft.com
DTSTART;VALUE=DATE:20180502
DTEND;VALUE=DATE:20180503
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20181111@kayaposoft.com
DTSTART;VALUE=DATE:20181111
DTEND;VALUE=DATE:20181112
SUMMARY:Dan primirja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20181112@kayaposoft.com
DTSTART;VALUE=DATE:20181112
DTEND;VALUE=DATE:20181113
SUMMARY:Dan primirja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190102@kayaposoft.com
DTSTART;VALUE=DATE:20190102
DTEND;VALUE=DATE:20190103
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190107@kayaposoft.com
DTSTART;VALUE=DATE:20190107
DTEND;VALUE=DATE:20190108
SUMMARY:Božić
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190215@kayaposoft.com
DTSTART;VALUE=DATE:20190215
DTEND;VALUE=DATE:20190216
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190216@kayaposoft.com
DTSTART;VALUE=DATE:20190216
DTEND;VALUE=DATE:20190217
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190426@kayaposoft.com
DTSTART;VALUE=DATE:20190426
DTEND;VALUE=DATE:20190427
SUMMARY:Veliki petak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190428@kayaposoft.com
DTSTART;VALUE=DATE:20190428
DTEND;VALUE=DATE:20190429
SUMMARY:Vaskrs
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190429@kayaposoft.com
DTSTART;VALUE=DATE:20190429
DTEND;VALUE=DATE:20190430
SUMMARY:Vaskrsni ponedeljak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20190502@kayaposoft.com
DTSTART;VALUE=DATE:20190502
DTEND;VALUE=DATE:20190503
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20191111@kayaposoft.com
DTSTART;VALUE=DATE:20191111
DTEND;VALUE=DATE:20191112
SUMMARY:Dan primirja
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200102@kayaposoft.com
DTSTART;VALUE=DATE:20200102
DTEND;VALUE=DATE:20200103
SUMMARY:Nova Godina
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200107@kayaposoft.com
DTSTART;VALUE=DATE:20200107
DTEND;VALUE=DATE:20200108
SUMMARY:Božić
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200215@kayaposoft.com
DTSTART;VALUE=DATE:20200215
DTEND;VALUE=DATE:20200216
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200216@kayaposoft.com
DTSTART;VALUE=DATE:20200216
DTEND;VALUE=DATE:20200217
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200217@kayaposoft.com
DTSTART;VALUE=DATE:20200217
DTEND;VALUE=DATE:20200218
SUMMARY:Dan državnosti Srbije
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200417@kayaposoft.com
DTSTART;VALUE=DATE:20200417
DTEND;VALUE=DATE:20200418
SUMMARY:Veliki petak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200419@kayaposoft.com
DTSTART;VALUE=DATE:20200419
DTEND;VALUE=DATE:20200420
SUMMARY:Vaskrs
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200420@kayaposoft.com
DTSTART;VALUE=DATE:20200420
DTEND;VALUE=DATE:20200421
SUMMARY:Vaskrsni ponedeljak
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20200502@kayaposoft.com
DTSTART;VALUE=DATE:20200502
DTEND;VALUE=DATE:20200503
SUMMARY:Praznik rada
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-srb-20201111@kayaposoft.com
DTSTART;VALUE=DATE:20201111
DTEND;VALUE=DATE:20201112
SUMMARY:Dan primirja
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -0,0 +1,275 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-zaf-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:New Year's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180321@kayaposoft.com
DTSTART;VALUE=DATE:20180321
DTEND;VALUE=DATE:20180322
SUMMARY:Human Rights Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180330@kayaposoft.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
SUMMARY:Good Friday
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:Family Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180427@kayaposoft.com
DTSTART;VALUE=DATE:20180427
DTEND;VALUE=DATE:20180428
SUMMARY:Freedom Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Workers' Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180616@kayaposoft.com
DTSTART;VALUE=DATE:20180616
DTEND;VALUE=DATE:20180617
SUMMARY:Youth Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180809@kayaposoft.com
DTSTART;VALUE=DATE:20180809
DTEND;VALUE=DATE:20180810
SUMMARY:National Women's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20180924@kayaposoft.com
DTSTART;VALUE=DATE:20180924
DTEND;VALUE=DATE:20180925
SUMMARY:Heritage Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20181216@kayaposoft.com
DTSTART;VALUE=DATE:20181216
DTEND;VALUE=DATE:20181217
SUMMARY:Day of Reconciliation
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20181217@kayaposoft.com
DTSTART;VALUE=DATE:20181217
DTEND;VALUE=DATE:20181218
SUMMARY:Day of Reconciliation
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Christmas Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:Day of Goodwill
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:New Year's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190321@kayaposoft.com
DTSTART;VALUE=DATE:20190321
DTEND;VALUE=DATE:20190322
SUMMARY:Human Rights Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190419@kayaposoft.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
SUMMARY:Good Friday
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:Family Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190427@kayaposoft.com
DTSTART;VALUE=DATE:20190427
DTEND;VALUE=DATE:20190428
SUMMARY:Freedom Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Workers' Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190616@kayaposoft.com
DTSTART;VALUE=DATE:20190616
DTEND;VALUE=DATE:20190617
SUMMARY:Youth Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190617@kayaposoft.com
DTSTART;VALUE=DATE:20190617
DTEND;VALUE=DATE:20190618
SUMMARY:Youth Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190809@kayaposoft.com
DTSTART;VALUE=DATE:20190809
DTEND;VALUE=DATE:20190810
SUMMARY:National Women's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20190924@kayaposoft.com
DTSTART;VALUE=DATE:20190924
DTEND;VALUE=DATE:20190925
SUMMARY:Heritage Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20191216@kayaposoft.com
DTSTART;VALUE=DATE:20191216
DTEND;VALUE=DATE:20191217
SUMMARY:Day of Reconciliation
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Christmas Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:Day of Goodwill
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:New Year's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200321@kayaposoft.com
DTSTART;VALUE=DATE:20200321
DTEND;VALUE=DATE:20200322
SUMMARY:Human Rights Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200410@kayaposoft.com
DTSTART;VALUE=DATE:20200410
DTEND;VALUE=DATE:20200411
SUMMARY:Good Friday
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:Family Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200427@kayaposoft.com
DTSTART;VALUE=DATE:20200427
DTEND;VALUE=DATE:20200428
SUMMARY:Freedom Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Workers' Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200616@kayaposoft.com
DTSTART;VALUE=DATE:20200616
DTEND;VALUE=DATE:20200617
SUMMARY:Youth Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200809@kayaposoft.com
DTSTART;VALUE=DATE:20200809
DTEND;VALUE=DATE:20200810
SUMMARY:National Women's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200810@kayaposoft.com
DTSTART;VALUE=DATE:20200810
DTEND;VALUE=DATE:20200811
SUMMARY:National Women's Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20200924@kayaposoft.com
DTSTART;VALUE=DATE:20200924
DTEND;VALUE=DATE:20200925
SUMMARY:Heritage Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20201216@kayaposoft.com
DTSTART;VALUE=DATE:20201216
DTEND;VALUE=DATE:20201217
SUMMARY:Day of Reconciliation
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Christmas Day
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-zaf-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:Day of Goodwill
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

655
app/src/main/assets/sweden.ics Executable file → Normal file
View File

@ -1,380 +1,275 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
SUMMARY:Kristi himmelfärdsdag
UID:uuid1211149223742
DTSTART;VALUE=DATE:20170525
DTEND;VALUE=DATE:20170526
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pingstafton
UID:uuid1211149223743
DTSTART;VALUE=DATE:20170603
DTEND;VALUE=DATE:20170604
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pingstdagen
UID:uuid1211149223744
DTSTART;VALUE=DATE:20170604
DTEND;VALUE=DATE:20170605
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nationaldagen
UID:uuid1211149223745
DTSTART;VALUE=DATE:20170606
DTEND;VALUE=DATE:20170607
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Midsommarafton
UID:a076d1a7-69bb-4af5-9a60-89a3c533e6bf
DTSTART;VALUE=DATE:20170623
DTEND;VALUE=DATE:20170624
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Midsommardagen
UID:uuid1211149223746
DTSTART;VALUE=DATE:20170624
DTEND;VALUE=DATE:20170625
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Övergång till vintertid
UID:uuid1211149223747
DTSTART;VALUE=DATE:20171029
DTEND;VALUE=DATE:20171030
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Alla helgons dag
UID:uuid1211149223748
DTSTART;VALUE=DATE:20171104
DTEND;VALUE=DATE:20171105
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Julafton
UID:uuid1211149223749
DTSTART;VALUE=DATE:20171224
DTEND;VALUE=DATE:20171225
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Juldagen
UID:uuid1211149223750
DTSTART;VALUE=DATE:20171225
DTEND;VALUE=DATE:20171226
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Annandag jul
UID:uuid1211149223751
DTSTART;VALUE=DATE:20171226
DTEND;VALUE=DATE:20171227
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nyårsafton
UID:uuid1211149223752
DTSTART;VALUE=DATE:20171231
DTEND;VALUE=DATE:20180101
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nyårsdagen
UID:uuid1211149223753
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Trettondagsafton
UID:uuid1211149223754
DTSTART;VALUE=DATE:20180105
DTEND;VALUE=DATE:20180106
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Trettondag jul
UID:uuid1211149223755
DTSTART;VALUE=DATE:20180106
DTEND;VALUE=DATE:20180107
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Skärtorsdag
UID:uuid1211149223757
DTSTART;VALUE=DATE:20180329
DTEND;VALUE=DATE:20180330
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Långfredag
UID:uuid1211149223758
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Påskdagen
UID:uuid1211149223759
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Annandag påsk
UID:uuid1211149223760
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Valborgsmässoafton
UID:uuid1211149223761
DTSTART;VALUE=DATE:20180430
DTEND;VALUE=DATE:20180501
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Första maj
UID:uuid1211149223762
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Kristi himmelfärdsdag
UID:uuid1211149223763
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180511
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pingstafton
UID:uuid1211149223764
DTSTART;VALUE=DATE:20180519
DTEND;VALUE=DATE:20180520
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pingstdagen
UID:uuid1211149223765
DTSTART;VALUE=DATE:20180520
DTEND;VALUE=DATE:20180521
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nationaldagen
UID:uuid1211149223766
DTSTART;VALUE=DATE:20180606
DTEND;VALUE=DATE:20180607
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Midsommarafton
UID:ed74665e-e6b5-4dc8-8788-48eaab5640eb
DTSTART;VALUE=DATE:20180622
DTEND;VALUE=DATE:20180623
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Midsommardagen
UID:uuid1211149223767
DTSTART;VALUE=DATE:20180623
DTEND;VALUE=DATE:20180624
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Övergång till vintertid
UID:uuid1211149223768
DTSTART;VALUE=DATE:20181028
DTEND;VALUE=DATE:20181029
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Alla helgons dag
UID:uuid1211149223769
DTSTART;VALUE=DATE:20181103
DTEND;VALUE=DATE:20181104
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Julafton
UID:uuid1211149223770
DTSTART;VALUE=DATE:20181224
DTEND;VALUE=DATE:20181225
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Juldagen
UID:uuid1211149223771
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Annandag jul
UID:uuid1211149223772
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nyårsafton
UID:uuid1211149223773
DTSTART;VALUE=DATE:20181231
DTEND;VALUE=DATE:20190101
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nyårsdagen
UID:uuid1211149223774
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Trettondagsafton
UID:uuid1211149223775
DTSTART;VALUE=DATE:20190105
DTEND;VALUE=DATE:20190106
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Trettondag jul
UID:uuid1211149223776
DTSTART;VALUE=DATE:20190106
DTEND;VALUE=DATE:20190107
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Skärtorsdag
UID:uuid1211149223778
DTSTART;VALUE=DATE:20190418
DTEND;VALUE=DATE:20190419
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Långfredag
UID:uuid1211149223779
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Påskdagen
UID:uuid1211149223780
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Annandag påsk
UID:uuid1211149223781
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Valborgsmässoafton
UID:uuid1211149223782
DTSTART;VALUE=DATE:20190430
DTEND;VALUE=DATE:20190501
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Första maj
UID:uuid1211149223783
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Kristi himmelfärdsdag
UID:uuid1211149223784
DTSTART;VALUE=DATE:20190530
DTEND;VALUE=DATE:20190531
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nationaldagen
UID:uuid1211149223785
DTSTART;VALUE=DATE:20190606
DTEND;VALUE=DATE:20190607
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pingstafton
UID:uuid1211149223786
DTSTART;VALUE=DATE:20190608
DTEND;VALUE=DATE:20190609
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Pingstdagen
UID:uuid1211149223787
DTSTART;VALUE=DATE:20190609
DTEND;VALUE=DATE:20190610
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Midsommarafton
UID:eeea5d95-9cd0-46ff-84a9-e6c575b3fca1
DTSTART;VALUE=DATE:20190621
DTEND;VALUE=DATE:20190622
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Midsommardagen
UID:uuid1211149223788
DTSTART;VALUE=DATE:20190622
DTEND;VALUE=DATE:20190623
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Övergång till vintertid
UID:uuid1211149223789
DTSTART;VALUE=DATE:20191027
DTEND;VALUE=DATE:20191028
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Alla helgons dag
UID:uuid1211149223790
DTSTART;VALUE=DATE:20191102
DTEND;VALUE=DATE:20191103
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Julafton
UID:uuid1211149223791
DTSTART;VALUE=DATE:20191224
DTEND;VALUE=DATE:20191225
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Juldagen
UID:uuid1211149223792
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Annandag jul
UID:uuid1211149223793
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
SUMMARY:Nyårsafton
UID:uuid1211149223794
DTSTART;VALUE=DATE:20191231
DTEND;VALUE=DATE:20200101
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-swe-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Nyårsdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180106@kayaposoft.com
DTSTART;VALUE=DATE:20180106
DTEND;VALUE=DATE:20180107
SUMMARY:Trettondagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180330@kayaposoft.com
DTSTART;VALUE=DATE:20180330
DTEND;VALUE=DATE:20180331
SUMMARY:Långfredagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180401@kayaposoft.com
DTSTART;VALUE=DATE:20180401
DTEND;VALUE=DATE:20180402
SUMMARY:Påskdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180402@kayaposoft.com
DTSTART;VALUE=DATE:20180402
DTEND;VALUE=DATE:20180403
SUMMARY:Annandag påsk
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:Första maj
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180510@kayaposoft.com
DTSTART;VALUE=DATE:20180510
DTEND;VALUE=DATE:20180511
SUMMARY:Kristi himmelfärds dag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180520@kayaposoft.com
DTSTART;VALUE=DATE:20180520
DTEND;VALUE=DATE:20180521
SUMMARY:Pingstdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180606@kayaposoft.com
DTSTART;VALUE=DATE:20180606
DTEND;VALUE=DATE:20180607
SUMMARY:Sveriges nationaldag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20180623@kayaposoft.com
DTSTART;VALUE=DATE:20180623
DTEND;VALUE=DATE:20180624
SUMMARY:Midsommardagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20181103@kayaposoft.com
DTSTART;VALUE=DATE:20181103
DTEND;VALUE=DATE:20181104
SUMMARY:Alla helgons dag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Juldagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20181226@kayaposoft.com
DTSTART;VALUE=DATE:20181226
DTEND;VALUE=DATE:20181227
SUMMARY:Annandag jul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Nyårsdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190106@kayaposoft.com
DTSTART;VALUE=DATE:20190106
DTEND;VALUE=DATE:20190107
SUMMARY:Trettondagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190419@kayaposoft.com
DTSTART;VALUE=DATE:20190419
DTEND;VALUE=DATE:20190420
SUMMARY:Långfredagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190421@kayaposoft.com
DTSTART;VALUE=DATE:20190421
DTEND;VALUE=DATE:20190422
SUMMARY:Påskdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190422@kayaposoft.com
DTSTART;VALUE=DATE:20190422
DTEND;VALUE=DATE:20190423
SUMMARY:Annandag påsk
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:Första maj
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190530@kayaposoft.com
DTSTART;VALUE=DATE:20190530
DTEND;VALUE=DATE:20190531
SUMMARY:Kristi himmelfärds dag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190606@kayaposoft.com
DTSTART;VALUE=DATE:20190606
DTEND;VALUE=DATE:20190607
SUMMARY:Sveriges nationaldag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190609@kayaposoft.com
DTSTART;VALUE=DATE:20190609
DTEND;VALUE=DATE:20190610
SUMMARY:Pingstdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20190622@kayaposoft.com
DTSTART;VALUE=DATE:20190622
DTEND;VALUE=DATE:20190623
SUMMARY:Midsommardagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20191102@kayaposoft.com
DTSTART;VALUE=DATE:20191102
DTEND;VALUE=DATE:20191103
SUMMARY:Alla helgons dag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Juldagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20191226@kayaposoft.com
DTSTART;VALUE=DATE:20191226
DTEND;VALUE=DATE:20191227
SUMMARY:Annandag jul
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Nyårsdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200106@kayaposoft.com
DTSTART;VALUE=DATE:20200106
DTEND;VALUE=DATE:20200107
SUMMARY:Trettondagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200410@kayaposoft.com
DTSTART;VALUE=DATE:20200410
DTEND;VALUE=DATE:20200411
SUMMARY:Långfredagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200412@kayaposoft.com
DTSTART;VALUE=DATE:20200412
DTEND;VALUE=DATE:20200413
SUMMARY:Påskdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200413@kayaposoft.com
DTSTART;VALUE=DATE:20200413
DTEND;VALUE=DATE:20200414
SUMMARY:Annandag påsk
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:Första maj
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200521@kayaposoft.com
DTSTART;VALUE=DATE:20200521
DTEND;VALUE=DATE:20200522
SUMMARY:Kristi himmelfärds dag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200531@kayaposoft.com
DTSTART;VALUE=DATE:20200531
DTEND;VALUE=DATE:20200601
SUMMARY:Pingstdagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200606@kayaposoft.com
DTSTART;VALUE=DATE:20200606
DTEND;VALUE=DATE:20200607
SUMMARY:Sveriges nationaldag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20200620@kayaposoft.com
DTSTART;VALUE=DATE:20200620
DTEND;VALUE=DATE:20200621
SUMMARY:Midsommardagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20201031@kayaposoft.com
DTSTART;VALUE=DATE:20201031
DTEND;VALUE=DATE:20201101
SUMMARY:Alla helgons dag
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Juldagen
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-swe-20201226@kayaposoft.com
DTSTART;VALUE=DATE:20201226
DTEND;VALUE=DATE:20201227
SUMMARY:Annandag jul
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,316 @@
BEGIN:VCALENDAR
BEGIN:VEVENT
UID:enrico-ukr-20180101@kayaposoft.com
DTSTART;VALUE=DATE:20180101
DTEND;VALUE=DATE:20180102
SUMMARY:Новий Рік
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180108@kayaposoft.com
DTSTART;VALUE=DATE:20180108
DTEND;VALUE=DATE:20180109
SUMMARY:Різдво
DESCRIPTION:Holiday in lieu of 7 Jan 2018
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180308@kayaposoft.com
DTSTART;VALUE=DATE:20180308
DTEND;VALUE=DATE:20180309
SUMMARY:Міжнародний жіночий день
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180309@kayaposoft.com
DTSTART;VALUE=DATE:20180309
DTEND;VALUE=DATE:20180310
SUMMARY:Свято
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180408@kayaposoft.com
DTSTART;VALUE=DATE:20180408
DTEND;VALUE=DATE:20180409
SUMMARY:Пасха
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180409@kayaposoft.com
DTSTART;VALUE=DATE:20180409
DTEND;VALUE=DATE:20180410
SUMMARY:Пасха
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180430@kayaposoft.com
DTSTART;VALUE=DATE:20180430
DTEND;VALUE=DATE:20180501
SUMMARY:Свято
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180501@kayaposoft.com
DTSTART;VALUE=DATE:20180501
DTEND;VALUE=DATE:20180502
SUMMARY:День праці (День міжнародної солідарності трудящих)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180509@kayaposoft.com
DTSTART;VALUE=DATE:20180509
DTEND;VALUE=DATE:20180510
SUMMARY:День перемоги над нацизмом у Другій світовій війні
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180527@kayaposoft.com
DTSTART;VALUE=DATE:20180527
DTEND;VALUE=DATE:20180528
SUMMARY:Трійця
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180528@kayaposoft.com
DTSTART;VALUE=DATE:20180528
DTEND;VALUE=DATE:20180529
SUMMARY:Трійця
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180628@kayaposoft.com
DTSTART;VALUE=DATE:20180628
DTEND;VALUE=DATE:20180629
SUMMARY:День Конституції
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180629@kayaposoft.com
DTSTART;VALUE=DATE:20180629
DTEND;VALUE=DATE:20180630
SUMMARY:Свято
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20180824@kayaposoft.com
DTSTART;VALUE=DATE:20180824
DTEND;VALUE=DATE:20180825
SUMMARY:День Незалежності
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20181015@kayaposoft.com
DTSTART;VALUE=DATE:20181015
DTEND;VALUE=DATE:20181016
SUMMARY:День захисника України
DESCRIPTION:Holiday in lieu of 14 Oct 2018
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20181224@kayaposoft.com
DTSTART;VALUE=DATE:20181224
DTEND;VALUE=DATE:20181225
SUMMARY:Свято
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20181225@kayaposoft.com
DTSTART;VALUE=DATE:20181225
DTEND;VALUE=DATE:20181226
SUMMARY:Різдво
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20181231@kayaposoft.com
DTSTART;VALUE=DATE:20181231
DTEND;VALUE=DATE:20190101
SUMMARY:Свято
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190101@kayaposoft.com
DTSTART;VALUE=DATE:20190101
DTEND;VALUE=DATE:20190102
SUMMARY:Новий Рік
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190107@kayaposoft.com
DTSTART;VALUE=DATE:20190107
DTEND;VALUE=DATE:20190108
SUMMARY:Різдво
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190308@kayaposoft.com
DTSTART;VALUE=DATE:20190308
DTEND;VALUE=DATE:20190309
SUMMARY:Міжнародний жіночий день
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190428@kayaposoft.com
DTSTART;VALUE=DATE:20190428
DTEND;VALUE=DATE:20190429
SUMMARY:Пасха
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190429@kayaposoft.com
DTSTART;VALUE=DATE:20190429
DTEND;VALUE=DATE:20190430
SUMMARY:Пасха
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190501@kayaposoft.com
DTSTART;VALUE=DATE:20190501
DTEND;VALUE=DATE:20190502
SUMMARY:День праці (День міжнародної солідарності трудящих)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190509@kayaposoft.com
DTSTART;VALUE=DATE:20190509
DTEND;VALUE=DATE:20190510
SUMMARY:День перемоги над нацизмом у Другій світовій війні
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190616@kayaposoft.com
DTSTART;VALUE=DATE:20190616
DTEND;VALUE=DATE:20190617
SUMMARY:Трійця
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190617@kayaposoft.com
DTSTART;VALUE=DATE:20190617
DTEND;VALUE=DATE:20190618
SUMMARY:Трійця
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190628@kayaposoft.com
DTSTART;VALUE=DATE:20190628
DTEND;VALUE=DATE:20190629
SUMMARY:День Конституції
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20190826@kayaposoft.com
DTSTART;VALUE=DATE:20190826
DTEND;VALUE=DATE:20190827
SUMMARY:День Незалежності
DESCRIPTION:Holiday in lieu of 24 Aug 2019
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20191014@kayaposoft.com
DTSTART;VALUE=DATE:20191014
DTEND;VALUE=DATE:20191015
SUMMARY:День захисника України
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20191225@kayaposoft.com
DTSTART;VALUE=DATE:20191225
DTEND;VALUE=DATE:20191226
SUMMARY:Різдво
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200101@kayaposoft.com
DTSTART;VALUE=DATE:20200101
DTEND;VALUE=DATE:20200102
SUMMARY:Новий Рік
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200107@kayaposoft.com
DTSTART;VALUE=DATE:20200107
DTEND;VALUE=DATE:20200108
SUMMARY:Різдво
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200309@kayaposoft.com
DTSTART;VALUE=DATE:20200309
DTEND;VALUE=DATE:20200310
SUMMARY:Міжнародний жіночий день
DESCRIPTION:Holiday in lieu of 8 Mar 2020
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200419@kayaposoft.com
DTSTART;VALUE=DATE:20200419
DTEND;VALUE=DATE:20200420
SUMMARY:Пасха
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200420@kayaposoft.com
DTSTART;VALUE=DATE:20200420
DTEND;VALUE=DATE:20200421
SUMMARY:Пасха
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200501@kayaposoft.com
DTSTART;VALUE=DATE:20200501
DTEND;VALUE=DATE:20200502
SUMMARY:День праці (День міжнародної солідарності трудящих)
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200511@kayaposoft.com
DTSTART;VALUE=DATE:20200511
DTEND;VALUE=DATE:20200512
SUMMARY:День перемоги над нацизмом у Другій світовій війні
DESCRIPTION:Holiday in lieu of 9 May 2020
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200607@kayaposoft.com
DTSTART;VALUE=DATE:20200607
DTEND;VALUE=DATE:20200608
SUMMARY:Трійця
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200608@kayaposoft.com
DTSTART;VALUE=DATE:20200608
DTEND;VALUE=DATE:20200609
SUMMARY:Трійця
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200629@kayaposoft.com
DTSTART;VALUE=DATE:20200629
DTEND;VALUE=DATE:20200630
SUMMARY:День Конституції
DESCRIPTION:Holiday in lieu of 28 Jun 2020
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20200824@kayaposoft.com
DTSTART;VALUE=DATE:20200824
DTEND;VALUE=DATE:20200825
SUMMARY:День Незалежності
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20201014@kayaposoft.com
DTSTART;VALUE=DATE:20201014
DTEND;VALUE=DATE:20201015
SUMMARY:День захисника України
STATUS:CONFIRMED
END:VEVENT
BEGIN:VEVENT
UID:enrico-ukr-20201225@kayaposoft.com
DTSTART;VALUE=DATE:20201225
DTEND;VALUE=DATE:20201226
SUMMARY:Різдво
STATUS:CONFIRMED
END:VEVENT
END:VCALENDAR

View File

@ -174,22 +174,22 @@ class EventActivity : SimpleActivity() {
}
private fun showReminder1Dialog() {
showPickIntervalDialog(mReminder1Minutes) {
mReminder1Minutes = it
showPickSecondsDialogHelper(mReminder1Minutes) {
mReminder1Minutes = if (it <= 0) it else it / 60
checkReminderTexts()
}
}
private fun showReminder2Dialog() {
showPickIntervalDialog(mReminder2Minutes) {
mReminder2Minutes = it
showPickSecondsDialogHelper(mReminder2Minutes) {
mReminder2Minutes = if (it <= 0) it else it / 60
checkReminderTexts()
}
}
private fun showReminder3Dialog() {
showPickIntervalDialog(mReminder3Minutes) {
mReminder3Minutes = it
showPickSecondsDialogHelper(mReminder3Minutes) {
mReminder3Minutes = if (it <= 0) it else it / 60
checkReminderTexts()
}
}
@ -700,7 +700,7 @@ class EventActivity : SimpleActivity() {
private fun setupStartTime() {
hideKeyboard()
TimePickerDialog(this, mDialogTheme, startTimeSetListener, mEventStartDateTime.hourOfDay, mEventStartDateTime.minuteOfHour, config.use24hourFormat).show()
TimePickerDialog(this, mDialogTheme, startTimeSetListener, mEventStartDateTime.hourOfDay, mEventStartDateTime.minuteOfHour, config.use24HourFormat).show()
}
@SuppressLint("NewApi")
@ -718,7 +718,7 @@ class EventActivity : SimpleActivity() {
private fun setupEndTime() {
hideKeyboard()
TimePickerDialog(this, mDialogTheme, endTimeSetListener, mEventEndDateTime.hourOfDay, mEventEndDateTime.minuteOfHour, config.use24hourFormat).show()
TimePickerDialog(this, mDialogTheme, endTimeSetListener, mEventEndDateTime.hourOfDay, mEventEndDateTime.minuteOfHour, config.use24HourFormat).show()
}
private val startDateSetListener = DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth ->

View File

@ -63,12 +63,15 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
private var mStoredDayCode = ""
private var mStoredIsSundayFirst = false
private var mStoredUse24HourFormat = false
private var mStoredUseEnglish = false
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
appLaunched()
// just get a reference to the database to make sure it is created properly
dbHelper
checkWhatsNewDialog()
calendar_fab.beVisibleIf(config.storedView != YEARLY_VIEW)
calendar_fab.setOnClickListener {
@ -83,8 +86,20 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
if (intent?.action == Intent.ACTION_VIEW && intent.data != null) {
val uri = intent.data
if (uri.authority == "com.android.calendar") {
// clicking date on a third party widget: content://com.android.calendar/time/1507309245683
if (intent?.extras?.getBoolean("DETAIL_VIEW", false) == true) {
if (uri.path.startsWith("/events")) {
// intents like content://com.android.calendar/events/1756
val eventId = uri.lastPathSegment
val id = dbHelper.getEventIdWithLastImportId(eventId)
if (id != 0) {
Intent(this, EventActivity::class.java).apply {
putExtra(EVENT_ID, id)
startActivity(this)
}
} else {
toast(R.string.unknown_error_occurred)
}
} else if (intent?.extras?.getBoolean("DETAIL_VIEW", false) == true) {
// clicking date on a third party widget: content://com.android.calendar/time/1507309245683
val timestamp = uri.pathSegments.last()
if (timestamp.areDigitsOnly()) {
openDayAt(timestamp.toLong())
@ -111,11 +126,6 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
override fun onResume() {
super.onResume()
if (mStoredUseEnglish != config.useEnglish) {
restartActivity()
return
}
if (mStoredTextColor != config.textColor || mStoredBackgroundColor != config.backgroundColor || mStoredPrimaryColor != config.primaryColor
|| mStoredDayCode != Formatter.getTodayCode(applicationContext)) {
updateViewPager()
@ -126,7 +136,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
}
if (config.storedView == WEEKLY_VIEW) {
if (mStoredIsSundayFirst != config.isSundayFirst || mStoredUse24HourFormat != config.use24hourFormat) {
if (mStoredIsSundayFirst != config.isSundayFirst || mStoredUse24HourFormat != config.use24HourFormat) {
updateViewPager()
}
}
@ -199,14 +209,19 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
}
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
setIntent(intent)
checkOpenIntents()
}
private fun storeStateVariables() {
config.apply {
mStoredUseEnglish = useEnglish
mStoredIsSundayFirst = isSundayFirst
mStoredTextColor = textColor
mStoredPrimaryColor = primaryColor
mStoredBackgroundColor = backgroundColor
mStoredUse24HourFormat = use24hourFormat
mStoredUse24HourFormat = use24HourFormat
}
mStoredDayCode = Formatter.getTodayCode(applicationContext)
}
@ -647,8 +662,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
if (events.isEmpty()) {
toast(R.string.no_entries_for_exporting)
} else {
toast(R.string.exporting)
IcsExporter().exportEvents(this, file, events as ArrayList<Event>) {
IcsExporter().exportEvents(this, file, events as ArrayList<Event>, true) {
toast(when (it) {
IcsExporter.ExportResult.EXPORT_OK -> R.string.exporting_successful
IcsExporter.ExportResult.EXPORT_PARTIAL -> R.string.exporting_some_entries_failed
@ -673,7 +687,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
FAQItem(getString(R.string.faq_1_title), getString(R.string.faq_1_text)),
FAQItem(getString(R.string.faq_2_title), getString(R.string.faq_2_text)))
startAboutActivity(R.string.app_name, LICENSE_KOTLIN or LICENSE_JODA or LICENSE_STETHO or LICENSE_MULTISELECT or LICENSE_LEAK_CANARY,
startAboutActivity(R.string.app_name, LICENSE_JODA or LICENSE_STETHO or LICENSE_MULTISELECT or LICENSE_LEAK_CANARY,
BuildConfig.VERSION_NAME, faqItems)
}
@ -730,7 +744,10 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
put("Bolivia", "bolivia.ics")
put("Brasil", "brazil.ics")
put("Canada", "canada.ics")
put("China", "china.ics")
put("Colombia", "colombia.ics")
put("Česká republika", "czech.ics")
put("Danmark", "denmark.ics")
put("Deutschland", "germany.ics")
put("Eesti", "estonia.ics")
put("España", "spain.ics")
@ -738,10 +755,17 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
put("France", "france.ics")
put("Hanguk", "southkorea.ics")
put("Hellas", "greece.ics")
put("Hrvatska", "croatia.ics")
put("India", "india.ics")
put("Indonesia", "indonesia.ics")
put("Ísland", "iceland.ics")
put("Italia", "italy.ics")
put("Latvija", "latvia.ics")
put("Lietuva", "lithuania.ics")
put("Luxemburg", "luxembourg.ics")
put("Makedonija", "macedonia.ics")
put("Magyarország", "hungary.ics")
put("México", "mexico.ics")
put("Nederland", "netherlands.ics")
put("日本", "japan.ics")
put("Norge", "norway.ics")
@ -750,11 +774,15 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
put("Polska", "poland.ics")
put("Portugal", "portugal.ics")
put("Россия", "russia.ics")
put("România", "romania.ics")
put("Schweiz", "switzerland.ics")
put("Srbija", "serbia.ics")
put("Slovenija", "slovenia.ics")
put("Slovensko", "slovakia.ics")
put("South Africa", "southafrica.ics")
put("Suomi", "finland.ics")
put("Sverige", "sweden.ics")
put("Ukraine", "ukraine.ics")
put("United Kingdom", "unitedkingdom.ics")
put("United States", "unitedstates.ics")
@ -794,6 +822,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener {
add(Release(86, R.string.release_86))
add(Release(88, R.string.release_88))
add(Release(98, R.string.release_98))
add(Release(117, R.string.release_117))
checkWhatsNew(this, BuildConfig.VERSION_CODE)
}
}

View File

@ -35,7 +35,6 @@ class ManageEventTypesActivity : SimpleActivity(), DeleteEventTypesListener {
val adapter = ManageEventTypesAdapter(this, it, this, manage_event_types_list) {
showEventTypeDialog(it as EventType)
}
adapter.setupDragListener(true)
manage_event_types_list.adapter = adapter
}
}
@ -62,11 +61,13 @@ class ManageEventTypesActivity : SimpleActivity(), DeleteEventTypesListener {
}
}
dbHelper.deleteEventTypes(eventTypes, deleteEvents) {
if (it == 0) {
toast(R.string.unknown_error_occurred)
Thread {
dbHelper.deleteEventTypes(eventTypes, deleteEvents) {
if (it == 0) {
toast(R.string.unknown_error_occurred)
}
}
}
}.start()
return true
}
}

View File

@ -2,12 +2,9 @@ package com.simplemobiletools.calendar.activities
import android.content.Intent
import android.content.res.Resources
import android.media.RingtoneManager
import android.net.Uri
import android.media.AudioManager
import android.os.Bundle
import android.os.Parcelable
import android.text.TextUtils
import com.simplemobiletools.calendar.BuildConfig
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.dialogs.SelectCalendarsDialog
import com.simplemobiletools.calendar.extensions.*
@ -19,12 +16,14 @@ import com.simplemobiletools.calendar.models.EventType
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
import com.simplemobiletools.commons.dialogs.CustomIntervalPickerDialog
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.dialogs.SelectAlarmSoundDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_NOTIFICATION
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALENDAR
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CALENDAR
import com.simplemobiletools.commons.models.AlarmSound
import com.simplemobiletools.commons.models.RadioItem
import kotlinx.android.synthetic.main.activity_settings.*
import java.io.File
import java.util.*
class SettingsActivity : SimpleActivity() {
@ -53,6 +52,7 @@ class SettingsActivity : SimpleActivity() {
setupDeleteAllEvents()
setupReplaceDescription()
setupWeekNumbers()
setupShowGrid()
setupWeeklyStart()
setupWeeklyEnd()
setupVibrate()
@ -102,7 +102,7 @@ class SettingsActivity : SimpleActivity() {
settings_use_english_holder.setOnClickListener {
settings_use_english.toggle()
config.useEnglish = settings_use_english.isChecked
useEnglishToggled()
System.exit(0)
}
}
@ -113,10 +113,10 @@ class SettingsActivity : SimpleActivity() {
}
private fun setupHourFormat() {
settings_hour_format.isChecked = config.use24hourFormat
settings_hour_format.isChecked = config.use24HourFormat
settings_hour_format_holder.setOnClickListener {
settings_hour_format.toggle()
config.use24hourFormat = settings_hour_format.isChecked
config.use24HourFormat = settings_hour_format.isChecked
}
}
@ -268,36 +268,45 @@ class SettingsActivity : SimpleActivity() {
}
private fun setupWeekNumbers() {
settings_week_numbers.isChecked = config.displayWeekNumbers
settings_week_numbers.isChecked = config.showWeekNumbers
settings_week_numbers_holder.setOnClickListener {
settings_week_numbers.toggle()
config.displayWeekNumbers = settings_week_numbers.isChecked
config.showWeekNumbers = settings_week_numbers.isChecked
}
}
private fun setupShowGrid() {
settings_show_grid.isChecked = config.showGrid
settings_show_grid_holder.setOnClickListener {
settings_show_grid.toggle()
config.showGrid = settings_show_grid.isChecked
}
}
private fun setupReminderSound() {
val noRingtone = res.getString(R.string.no_ringtone_selected)
if (config.reminderSound.isEmpty()) {
settings_reminder_sound.text = noRingtone
} else {
settings_reminder_sound.text = RingtoneManager.getRingtone(this, Uri.parse(config.reminderSound))?.getTitle(this) ?: noRingtone
}
settings_reminder_sound.text = config.reminderSoundTitle
settings_reminder_sound_holder.setOnClickListener {
Intent(RingtoneManager.ACTION_RINGTONE_PICKER).apply {
putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION)
putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, res.getString(R.string.reminder_sound))
putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, Uri.parse(config.reminderSound))
if (resolveActivity(packageManager) != null)
startActivityForResult(this, GET_RINGTONE_URI)
else {
toast(R.string.no_ringtone_picker)
SelectAlarmSoundDialog(this, config.reminderSoundUri, AudioManager.STREAM_NOTIFICATION, GET_RINGTONE_URI, ALARM_SOUND_TYPE_NOTIFICATION, false,
onAlarmPicked = {
if (it != null) {
updateReminderSound(it)
}
}, onAlarmSoundDeleted = {
if (it.uri == config.reminderSoundUri) {
val defaultAlarm = getDefaultAlarmSound(ALARM_SOUND_TYPE_NOTIFICATION)
updateReminderSound(defaultAlarm)
}
}
})
}
}
private fun updateReminderSound(alarmSound: AlarmSound) {
config.reminderSoundTitle = alarmSound.title
config.reminderSoundUri = alarmSound.uri
settings_reminder_sound.text = alarmSound.title
}
private fun setupVibrate() {
settings_vibrate.isChecked = config.vibrateOnReminder
settings_vibrate_holder.setOnClickListener {
@ -319,8 +328,8 @@ class SettingsActivity : SimpleActivity() {
private fun setupSnoozeTime() {
updateSnoozeTime()
settings_snooze_time_holder.setOnClickListener {
showPickIntervalDialog(config.snoozeTime, true) {
config.snoozeTime = it
showPickSecondsDialogHelper(config.snoozeTime, true) {
config.snoozeTime = it / 60
updateSnoozeTime()
}
}
@ -381,24 +390,10 @@ class SettingsActivity : SimpleActivity() {
})
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
if (resultCode == RESULT_OK) {
if (requestCode == GET_RINGTONE_URI) {
var uri = resultData?.getParcelableExtra<Parcelable>(RingtoneManager.EXTRA_RINGTONE_PICKED_URI)
if (uri == null) {
config.reminderSound = ""
} else {
try {
if ((uri as Uri).scheme == "file") {
uri = getFilePublicUri(File(uri.path), BuildConfig.APPLICATION_ID)
}
settings_reminder_sound.text = RingtoneManager.getRingtone(this, uri)?.getTitle(this)
config.reminderSound = uri.toString()
} catch (e: Exception) {
showErrorToast(e)
}
}
}
super.onActivityResult(requestCode, resultCode, resultData)
if (requestCode == GET_RINGTONE_URI && resultCode == RESULT_OK && resultData != null) {
val newAlarmSound = storeNewYourAlarmSound(resultData)
updateReminderSound(newAlarmSound)
}
}
}

View File

@ -6,17 +6,17 @@ import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.dbHelper
import com.simplemobiletools.calendar.extensions.rescheduleReminder
import com.simplemobiletools.calendar.helpers.EVENT_ID
import com.simplemobiletools.commons.extensions.showPickIntervalDialog
import com.simplemobiletools.commons.extensions.showPickSecondsDialogHelper
class SnoozeReminderActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
showPickIntervalDialog(config.snoozeTime, true, cancelCallback = { dialogCancelled() }) {
showPickSecondsDialogHelper(config.snoozeTime, true, cancelCallback = { dialogCancelled() }) {
val eventId = intent.getIntExtra(EVENT_ID, 0)
val event = dbHelper.getEventWithId(eventId)
config.snoozeTime = it
rescheduleReminder(event, it)
config.snoozeTime = it / 60
rescheduleReminder(event, it / 60)
finishActivity()
}
}

View File

@ -106,15 +106,15 @@ class WidgetListConfigureActivity : SimpleActivity() {
}
private fun pickBackgroundColor() {
ColorPickerDialog(this, mBgColorWithoutTransparency) {
mBgColorWithoutTransparency = it
ColorPickerDialog(this, mBgColorWithoutTransparency) { wasPositivePressed, color ->
mBgColorWithoutTransparency = color
updateBgColor()
}
}
private fun pickTextColor() {
ColorPickerDialog(this, mTextColor) {
mTextColorWithoutTransparency = it
ColorPickerDialog(this, mTextColor) { wasPositivePressed, color ->
mTextColorWithoutTransparency = color
updateColors()
}
}

View File

@ -88,7 +88,7 @@ class WidgetMonthlyConfigureActivity : SimpleActivity(), MonthlyCalendar {
config_bg_seekbar.progress = (mBgAlpha * 100).toInt()
updateBgColor()
MonthlyCalendarImpl(this, applicationContext).updateMonthlyCalendar(DateTime(), false)
MonthlyCalendarImpl(this, applicationContext).updateMonthlyCalendar(DateTime().withDayOfMonth(1), false)
}
private fun saveConfig() {
@ -110,15 +110,15 @@ class WidgetMonthlyConfigureActivity : SimpleActivity(), MonthlyCalendar {
}
private fun pickBackgroundColor() {
ColorPickerDialog(this, mBgColorWithoutTransparency) {
mBgColorWithoutTransparency = it
ColorPickerDialog(this, mBgColorWithoutTransparency) { wasPositivePressed, color ->
mBgColorWithoutTransparency = color
updateBgColor()
}
}
private fun pickTextColor() {
ColorPickerDialog(this, mTextColor) {
mTextColorWithoutTransparency = it
ColorPickerDialog(this, mTextColor) { wasPositivePressed, color ->
mTextColorWithoutTransparency = color
updateColors()
updateDays()
}
@ -154,7 +154,7 @@ class WidgetMonthlyConfigureActivity : SimpleActivity(), MonthlyCalendar {
private fun updateDays() {
val len = mDays!!.size
if (applicationContext.config.displayWeekNumbers) {
if (applicationContext.config.showWeekNumbers) {
week_num.setTextColor(mTextColor)
week_num.beVisible()
@ -194,7 +194,7 @@ class WidgetMonthlyConfigureActivity : SimpleActivity(), MonthlyCalendar {
}
}
override fun updateMonthlyCalendar(context: Context, month: String, days: List<DayMonthly>, checkedEvents: Boolean) {
override fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList<DayMonthly>, checkedEvents: Boolean) {
runOnUiThread {
mDays = days
top_value.text = month

View File

@ -24,6 +24,10 @@ class DayEventsAdapter(activity: SimpleActivity, val events: ArrayList<Event>, r
private var allDayString = resources.getString(R.string.all_day)
private var replaceDescriptionWithLocation = activity.config.replaceDescription
init {
setupDragListener(true)
}
override fun getActionMenuId() = R.menu.cab_day
override fun prepareActionMode(menu: Menu) {}

View File

@ -35,7 +35,7 @@ class EventListAdapter(activity: SimpleActivity, val listItems: ArrayList<ListIt
private val redTextColor = resources.getColor(R.color.red_text)
private val now = activity.getNowSeconds()
private val todayDate = Formatter.getDayTitle(activity, Formatter.getDayCodeFromTS(now))
private var use24HourFormat = activity.config.use24hourFormat
private var use24HourFormat = activity.config.use24HourFormat
override fun getActionMenuId() = R.menu.cab_event_list

View File

@ -23,6 +23,10 @@ import java.util.*
class ManageEventTypesAdapter(activity: SimpleActivity, val eventTypes: ArrayList<EventType>, val listener: DeleteEventTypesListener?, recyclerView: MyRecyclerView,
itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick) {
init {
setupDragListener(true)
}
override fun getActionMenuId() = R.menu.cab_event_type
override fun prepareActionMode(menu: Menu) {}

View File

@ -29,8 +29,8 @@ class DeleteEventDialog(val activity: Activity, eventIds: List<Int>, val callbac
.setPositiveButton(R.string.yes, { dialog, which -> dialogConfirmed(view as ViewGroup, hasRepeatableEvent) })
.setNegativeButton(R.string.no, null)
.create().apply {
activity.setupDialogStuff(view, this)
}
activity.setupDialogStuff(view, this)
}
}
private fun dialogConfirmed(view: ViewGroup, hasRepeatableEvent: Boolean) {

View File

@ -39,26 +39,26 @@ class ExportEventsDialog(val activity: SimpleActivity, val path: String, val cal
.setPositiveButton(R.string.ok, null)
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this, R.string.export_events) {
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
val filename = view.export_events_filename.value
when {
filename.isEmpty() -> activity.toast(R.string.empty_name)
filename.isAValidFilename() -> {
val file = File(path, "$filename.ics")
if (file.exists()) {
activity.toast(R.string.name_taken)
return@setOnClickListener
}
activity.setupDialogStuff(view, this, R.string.export_events) {
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
val filename = view.export_events_filename.value
when {
filename.isEmpty() -> activity.toast(R.string.empty_name)
filename.isAValidFilename() -> {
val file = File(path, "$filename.ics")
if (file.exists()) {
activity.toast(R.string.name_taken)
return@setOnClickListener
}
val eventTypes = (view.export_events_types_list.adapter as FilterEventTypeAdapter).getSelectedItemsSet()
callback(view.export_events_checkbox.isChecked, file, eventTypes)
dismiss()
val eventTypes = (view.export_events_types_list.adapter as FilterEventTypeAdapter).getSelectedItemsSet()
callback(view.export_events_checkbox.isChecked, file, eventTypes)
dismiss()
}
else -> activity.toast(R.string.invalid_name)
}
}
else -> activity.toast(R.string.invalid_name)
}
}
}
}
}
}

View File

@ -22,8 +22,8 @@ class FilterEventTypesDialog(val activity: SimpleActivity, val callback: () -> U
.setPositiveButton(R.string.ok, { dialogInterface, i -> confirmEventTypes() })
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this, R.string.filter_events_by_type)
}
activity.setupDialogStuff(view, this, R.string.filter_events_by_type)
}
}
private fun confirmEventTypes() {

View File

@ -34,17 +34,17 @@ class ImportEventsDialog(val activity: SimpleActivity, val path: String, val cal
.setPositiveButton(R.string.ok, null)
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this, R.string.import_events) {
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
activity.toast(R.string.importing)
Thread {
val result = IcsImporter(activity).importEvents(path, currEventTypeId, currEventTypeCalDAVCalendarId)
handleParseResult(result)
dismiss()
}.start()
activity.setupDialogStuff(view, this, R.string.import_events) {
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
activity.toast(R.string.importing)
Thread {
val result = IcsImporter(activity).importEvents(path, currEventTypeId, currEventTypeCalDAVCalendarId)
handleParseResult(result)
dismiss()
}.start()
}
}
}
}
}
}
private fun updateEventType(view: ViewGroup) {

View File

@ -36,8 +36,8 @@ class SelectCalendarsDialog(val activity: SimpleActivity, val callback: () -> Un
.setPositiveButton(R.string.ok, { dialogInterface, i -> confirmSelection() })
.setNegativeButton(R.string.cancel, null)
.create().apply {
activity.setupDialogStuff(view, this, R.string.select_caldav_calendars)
}
activity.setupDialogStuff(view, this, R.string.select_caldav_calendars)
}
}
private fun addCalendarItem(isEvent: Boolean, text: String, tag: Int = 0, shouldCheck: Boolean = false) {

View File

@ -39,8 +39,8 @@ class SelectEventCalendarDialog(val activity: Activity, val calendars: List<CalD
dialog = AlertDialog.Builder(activity)
.create().apply {
activity.setupDialogStuff(view, this)
}
activity.setupDialogStuff(view, this)
}
}
private fun addRadioButton(title: String, typeId: Int, color: Int) {

View File

@ -32,8 +32,8 @@ class SelectEventTypeColorDialog(val activity: Activity, val eventType: EventTyp
wasInit = true
dialog = AlertDialog.Builder(activity)
.create().apply {
activity.setupDialogStuff(view, this)
}
activity.setupDialogStuff(view, this)
}
}
private fun addRadioButton(colorKey: Int, color: Int) {

View File

@ -23,8 +23,8 @@ class UpdateEventTypeDialog(val activity: Activity, var eventType: EventType? =
type_title.setText(eventType!!.title)
type_color.setOnClickListener {
if (eventType?.caldavCalendarId == 0) {
ColorPickerDialog(activity, eventType!!.color) {
eventType!!.color = it
ColorPickerDialog(activity, eventType!!.color) { wasPositivePressed, color ->
eventType!!.color = color
setupColor(type_color)
}
} else {

View File

@ -23,7 +23,7 @@ fun BaseSimpleActivity.shareEvents(ids: List<Int>) {
}
val events = dbHelper.getEventsWithIds(ids)
IcsExporter().exportEvents(this, file, events) {
IcsExporter().exportEvents(this, file, events, false) {
if (it == IcsExporter.ExportResult.EXPORT_OK) {
sharePathIntent(file.absolutePath, BuildConfig.APPLICATION_ID)
}

View File

@ -10,16 +10,18 @@ import android.content.Context
import android.content.Intent
import android.content.res.Resources
import android.database.ContentObserver
import android.media.AudioAttributes
import android.media.AudioManager
import android.net.Uri
import android.os.Bundle
import android.provider.CalendarContract
import android.support.v4.app.AlarmManagerCompat
import android.support.v4.app.NotificationCompat
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import com.simplemobiletools.calendar.BuildConfig
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.EventActivity
import com.simplemobiletools.calendar.activities.SimpleActivity
@ -31,14 +33,11 @@ import com.simplemobiletools.calendar.receivers.CalDAVSyncReceiver
import com.simplemobiletools.calendar.receivers.NotificationReceiver
import com.simplemobiletools.calendar.services.SnoozeService
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.isKitkatPlus
import com.simplemobiletools.commons.helpers.isLollipopPlus
import com.simplemobiletools.commons.helpers.isMarshmallowPlus
import com.simplemobiletools.commons.helpers.SILENT
import com.simplemobiletools.commons.helpers.isOreoPlus
import org.joda.time.DateTime
import org.joda.time.DateTimeZone
import org.joda.time.LocalDate
import java.io.File
import java.text.SimpleDateFormat
import java.util.*
@ -49,12 +48,11 @@ val Context.dbHelper: DBHelper get() = DBHelper.newInstance(applicationContext)
fun Context.getNowSeconds() = (System.currentTimeMillis() / 1000).toInt()
fun Context.updateWidgets() {
val widgetsCnt = AppWidgetManager.getInstance(applicationContext).getAppWidgetIds(ComponentName(applicationContext, MyWidgetMonthlyProvider::class.java))
if (widgetsCnt.isNotEmpty()) {
val ids = intArrayOf(R.xml.widget_monthly_info)
val widgetIDs = AppWidgetManager.getInstance(applicationContext).getAppWidgetIds(ComponentName(applicationContext, MyWidgetMonthlyProvider::class.java))
if (widgetIDs.isNotEmpty()) {
Intent(applicationContext, MyWidgetMonthlyProvider::class.java).apply {
action = AppWidgetManager.ACTION_APPWIDGET_UPDATE
putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids)
putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIDs)
sendBroadcast(this)
}
}
@ -63,12 +61,11 @@ fun Context.updateWidgets() {
}
fun Context.updateListWidget() {
val widgetsCnt = AppWidgetManager.getInstance(applicationContext).getAppWidgetIds(ComponentName(applicationContext, MyWidgetListProvider::class.java))
if (widgetsCnt.isNotEmpty()) {
val ids = intArrayOf(R.xml.widget_list_info)
val widgetIDs = AppWidgetManager.getInstance(applicationContext).getAppWidgetIds(ComponentName(applicationContext, MyWidgetListProvider::class.java))
if (widgetIDs.isNotEmpty()) {
Intent(applicationContext, MyWidgetListProvider::class.java).apply {
action = AppWidgetManager.ACTION_APPWIDGET_UPDATE
putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids)
putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIDs)
sendBroadcast(this)
}
}
@ -109,12 +106,7 @@ fun Context.scheduleEventIn(notifTS: Long, event: Event) {
val pendingIntent = getNotificationIntent(applicationContext, event)
val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
when {
isMarshmallowPlus() -> alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, notifTS, pendingIntent)
isKitkatPlus() -> alarmManager.setExact(AlarmManager.RTC_WAKEUP, notifTS, pendingIntent)
else -> alarmManager.set(AlarmManager.RTC_WAKEUP, notifTS, pendingIntent)
}
AlarmManagerCompat.setExactAndAllowWhileIdle(alarmManager, AlarmManager.RTC_WAKEUP, notifTS, pendingIntent)
}
fun Context.cancelNotification(id: Int) {
@ -159,69 +151,77 @@ fun Context.notifyEvent(event: Event) {
val startTime = Formatter.getTimeFromTS(applicationContext, event.startTS)
val endTime = Formatter.getTimeFromTS(applicationContext, event.endTS)
val startDate = Formatter.getDateFromTS(event.startTS)
val displayedStartDate: String
if (startDate == LocalDate.now()) {
displayedStartDate = ""
} else if (startDate == LocalDate.now().plusDays(1)) {
displayedStartDate = getString(R.string.tomorrow)
} else /* At least 2 days in the future */ {
displayedStartDate = Formatter.getDayAndMonth(startDate)
val displayedStartDate = when (startDate) {
LocalDate.now() -> ""
LocalDate.now().plusDays(1) -> getString(R.string.tomorrow)
else -> "${Formatter.getDateFromCode(this, Formatter.getDayCodeFromTS(event.startTS))},"
}
val timeRange = if (event.getIsAllDay()) getString(R.string.all_day) else getFormattedEventTime(startTime, endTime)
val descriptionOrLocation = if (config.replaceDescription) event.location else event.description
val content = arrayOf(displayedStartDate, timeRange, descriptionOrLocation).joinToString(" ")
val notification = getNotification(applicationContext, pendingIntent, event, content)
val content = "$displayedStartDate $timeRange $descriptionOrLocation".trim()
val notification = getNotification(pendingIntent, event, content)
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.notify(event.id, notification)
}
@SuppressLint("NewApi")
private fun getNotification(context: Context, pendingIntent: PendingIntent, event: Event, content: String): Notification {
val channelId = "reminder_channel"
fun Context.getNotification(pendingIntent: PendingIntent, event: Event, content: String, publicVersion: Boolean = false): Notification {
var soundUri = config.reminderSoundUri
if (soundUri == SILENT) {
soundUri = ""
} else {
grantReadUriPermission(soundUri)
}
val channelId = "my_reminder_channel_$soundUri"
if (isOreoPlus()) {
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
val name = context.resources.getString(R.string.event_reminders)
val audioAttributes = AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setLegacyStreamType(AudioManager.STREAM_NOTIFICATION)
.setFlags(AudioAttributes.FLAG_AUDIBILITY_ENFORCED)
.build()
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
val name = resources.getString(R.string.event_reminders)
val importance = NotificationManager.IMPORTANCE_HIGH
NotificationChannel(channelId, name, importance).apply {
enableLights(true)
lightColor = event.color
enableVibration(false)
setSound(Uri.parse(soundUri), audioAttributes)
notificationManager.createNotificationChannel(this)
}
}
var soundUri = Uri.parse(context.config.reminderSound)
if (soundUri.scheme == "file") {
try {
soundUri = context.getFilePublicUri(File(soundUri.path), BuildConfig.APPLICATION_ID)
} catch (ignored: Exception) {
}
}
val contentTitle = if (publicVersion) resources.getString(R.string.app_name) else event.title
val contentText = if (publicVersion) resources.getString(R.string.public_event_notification_text) else content
val builder = NotificationCompat.Builder(context)
.setContentTitle(event.title)
.setContentText(content)
val builder = NotificationCompat.Builder(this)
.setContentTitle(contentTitle)
.setContentText(contentText)
.setSmallIcon(R.drawable.ic_calendar)
.setContentIntent(pendingIntent)
.setPriority(Notification.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_LIGHTS)
.setAutoCancel(true)
.setSound(soundUri)
.setSound(Uri.parse(soundUri), AudioManager.STREAM_NOTIFICATION)
.setChannelId(channelId)
.addAction(R.drawable.ic_snooze, context.getString(R.string.snooze), getSnoozePendingIntent(context, event))
.addAction(R.drawable.ic_snooze, getString(R.string.snooze), getSnoozePendingIntent(this, event))
if (isLollipopPlus()) {
builder.setVisibility(Notification.VISIBILITY_PUBLIC)
if (config.vibrateOnReminder) {
builder.setVibrate(longArrayOf(0, 300, 300, 300))
}
if (context.config.vibrateOnReminder) {
builder.setVibrate(longArrayOf(0, 300, 300, 300))
if (!publicVersion) {
builder.setPublicVersion(getNotification(pendingIntent, event, content, true))
}
return builder.build()
}
private fun getFormattedEventTime(startTime: String, endTime: String) = if (startTime == endTime) startTime else "$startTime\u2013$endTime"
private fun getFormattedEventTime(startTime: String, endTime: String) = if (startTime == endTime) startTime else "$startTime \u2013 $endTime"
private fun getPendingIntent(context: Context, event: Event): PendingIntent {
val intent = Intent(context, EventActivity::class.java)

View File

@ -94,8 +94,8 @@ class DayFragment : Fragment() {
.setNegativeButton(R.string.cancel, null)
.setPositiveButton(R.string.ok) { dialog, which -> positivePressed(dateTime, datePicker) }
.create().apply {
activity?.setupDialogStuff(view, this)
}
activity?.setupDialogStuff(view, this)
}
}
private fun positivePressed(dateTime: DateTime, datePicker: DatePicker) {
@ -123,7 +123,7 @@ class DayFragment : Fragment() {
lastHash = newHash
val replaceDescription = context!!.config.replaceDescription
val sorted = ArrayList<Event>(filtered.sortedWith(compareBy({ it.startTS }, { it.endTS }, { it.title }, {
val sorted = ArrayList<Event>(filtered.sortedWith(compareBy({ !it.getIsAllDay() }, { it.startTS }, { it.endTS }, { it.title }, {
if (replaceDescription) it.location else it.description
})))
@ -139,7 +139,6 @@ class DayFragment : Fragment() {
DayEventsAdapter(activity as SimpleActivity, events, mHolder.day_events) {
editEvent(it as Event)
}.apply {
setupDragListener(true)
addVerticalDividers(true)
mHolder.day_events.adapter = this
}

View File

@ -36,7 +36,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
mView.calendar_empty_list_placeholder.text = placeholderText
mView.background = ColorDrawable(context!!.config.backgroundColor)
mView.calendar_events_list_holder?.id = (System.currentTimeMillis() % 100000).toInt()
use24HourFormat = context!!.config.use24hourFormat
use24HourFormat = context!!.config.use24HourFormat
updateActionBarTitle()
return mView
}
@ -44,7 +44,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
override fun onResume() {
super.onResume()
checkEvents()
val use24Hour = context!!.config.use24hourFormat
val use24Hour = context!!.config.use24HourFormat
if (use24Hour != use24HourFormat) {
use24HourFormat = use24Hour
(mView.calendar_events_list.adapter as? EventListAdapter)?.toggle24HourFormat(use24HourFormat)
@ -53,7 +53,7 @@ class EventListFragment : MyFragmentHolder(), RefreshRecyclerViewListener {
override fun onPause() {
super.onPause()
use24HourFormat = context!!.config.use24hourFormat
use24HourFormat = context!!.config.use24HourFormat
}
private fun checkEvents() {

View File

@ -9,13 +9,9 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.DatePicker
import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.MainActivity
import com.simplemobiletools.calendar.extensions.addDayEvents
import com.simplemobiletools.calendar.extensions.addDayNumber
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.helpers.Config
import com.simplemobiletools.calendar.helpers.DAY_CODE
@ -24,8 +20,10 @@ import com.simplemobiletools.calendar.helpers.MonthlyCalendarImpl
import com.simplemobiletools.calendar.interfaces.MonthlyCalendar
import com.simplemobiletools.calendar.interfaces.NavigationListener
import com.simplemobiletools.calendar.models.DayMonthly
import com.simplemobiletools.commons.extensions.*
import kotlinx.android.synthetic.main.first_row.*
import com.simplemobiletools.commons.extensions.applyColorFilter
import com.simplemobiletools.commons.extensions.beGone
import com.simplemobiletools.commons.extensions.getDialogTheme
import com.simplemobiletools.commons.extensions.setupDialogStuff
import kotlinx.android.synthetic.main.fragment_month.view.*
import kotlinx.android.synthetic.main.top_navigation.view.*
import org.joda.time.DateTime
@ -33,9 +31,9 @@ import org.joda.time.DateTime
class MonthFragment : Fragment(), MonthlyCalendar {
private var mTextColor = 0
private var mSundayFirst = false
private var mShowWeekNumbers = false
private var mDayCode = ""
private var mPackageName = ""
private var mDayLabelHeight = 0
private var mLastHash = 0L
private var mCalendar: MonthlyCalendarImpl? = null
@ -52,10 +50,9 @@ class MonthFragment : Fragment(), MonthlyCalendar {
mHolder = view.month_calendar_holder
mDayCode = arguments!!.getString(DAY_CODE)
mConfig = context!!.config
mSundayFirst = mConfig.isSundayFirst
storeStateVariables()
setupButtons()
setupLabels()
mCalendar = MonthlyCalendarImpl(this, context!!)
return view
@ -63,14 +60,13 @@ class MonthFragment : Fragment(), MonthlyCalendar {
override fun onPause() {
super.onPause()
mSundayFirst = context!!.config.isSundayFirst
storeStateVariables()
}
override fun onResume() {
super.onResume()
if (mConfig.isSundayFirst != mSundayFirst) {
mSundayFirst = mConfig.isSundayFirst
setupLabels()
if (mConfig.showWeekNumbers != mShowWeekNumbers) {
mLastHash = -1L
}
mCalendar!!.apply {
@ -78,14 +74,22 @@ class MonthFragment : Fragment(), MonthlyCalendar {
getDays(false) // prefill the screen asap, even if without events
}
storeStateVariables()
updateCalendar()
}
private fun storeStateVariables() {
mConfig.apply {
mSundayFirst = isSundayFirst
mShowWeekNumbers = showWeekNumbers
}
}
fun updateCalendar() {
mCalendar?.updateMonthlyCalendar(Formatter.getDateTimeFromCode(mDayCode))
}
override fun updateMonthlyCalendar(context: Context, month: String, days: List<DayMonthly>, checkedEvents: Boolean) {
override fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList<DayMonthly>, checkedEvents: Boolean) {
val newHash = month.hashCode() + days.hashCode().toLong()
if ((mLastHash != 0L && !checkedEvents) || mLastHash == newHash) {
return
@ -153,51 +157,9 @@ class MonthFragment : Fragment(), MonthlyCalendar {
listener?.goToDateTime(newDateTime)
}
private fun setupLabels() {
val letters = context!!.resources.getStringArray(R.array.week_day_letters)
for (i in 0..6) {
var index = i
if (mSundayFirst) {
index = (index + 6) % letters.size
}
mHolder.findViewById<TextView>(mRes.getIdentifier("label_$i", "id", mPackageName)).apply {
setTextColor(mTextColor)
text = letters[index]
}
}
}
private fun updateDays(days: List<DayMonthly>) {
val displayWeekNumbers = mConfig.displayWeekNumbers
val len = days.size
if (week_num == null)
return
week_num.setTextColor(mTextColor)
week_num.beVisibleIf(displayWeekNumbers)
for (i in 0..5) {
mHolder.findViewById<TextView>(mRes.getIdentifier("week_num_$i", "id", mPackageName)).apply {
text = "${days[i * 7 + 3].weekOfYear}:" // fourth day of the week matters
setTextColor(mTextColor)
beVisibleIf(displayWeekNumbers)
}
}
val dividerMargin = mRes.displayMetrics.density.toInt()
for (i in 0 until len) {
mHolder.findViewById<LinearLayout>(mRes.getIdentifier("day_$i", "id", mPackageName)).apply {
val day = days[i]
setOnClickListener {
(activity as MainActivity).openDayFromMonthly(Formatter.getDateTimeFromCode(day.code))
}
removeAllViews()
context.addDayNumber(mTextColor, day, this, mDayLabelHeight) { mDayLabelHeight = it }
context.addDayEvents(day, this, mRes, dividerMargin)
}
private fun updateDays(days: ArrayList<DayMonthly>) {
mHolder.month_view_wrapper.updateDays(days) {
(activity as MainActivity).openDayFromMonthly(Formatter.getDateTimeFromCode(it.code))
}
}
}

View File

@ -72,7 +72,7 @@ class MonthFragmentsHolder : MyFragmentHolder(), NavigationListener {
private fun getMonths(code: String): List<String> {
val months = ArrayList<String>(PREFILLED_MONTHS)
val today = Formatter.getDateTimeFromCode(code)
val today = Formatter.getDateTimeFromCode(code).withDayOfMonth(1)
for (i in -PREFILLED_MONTHS / 2..PREFILLED_MONTHS / 2) {
months.add(Formatter.getDayCodeFromDateTime(today.plusMonths(i)))
}
@ -108,5 +108,5 @@ class MonthFragmentsHolder : MyFragmentHolder(), NavigationListener {
(activity as MainActivity).supportActionBar?.title = getString(R.string.app_launcher_name)
}
override fun getNewEventDayCode() = currentDayCode
override fun getNewEventDayCode() = if (shouldGoToTodayBeVisible()) currentDayCode else todayDayCode
}

View File

@ -143,7 +143,9 @@ class WeekFragment : Fragment(), WeeklyCalendar {
val todayCode = Formatter.getDayCodeFromDateTime(DateTime())
for (i in 0..6) {
val dayCode = Formatter.getDayCodeFromDateTime(curDay)
val dayLetter = getDayLetter(curDay.dayOfWeek)
val dayLetters = mRes.getStringArray(R.array.week_day_letters).toList() as ArrayList<String>
val dayLetter = dayLetters[curDay.dayOfWeek - 1]
mView.findViewById<TextView>(mRes.getIdentifier("week_day_label_$i", "id", context!!.packageName)).apply {
text = "$dayLetter\n${curDay.dayOfMonth}"
setTextColor(if (todayCode == dayCode) primaryColor else textColor)
@ -155,18 +157,6 @@ class WeekFragment : Fragment(), WeeklyCalendar {
}
}
private fun getDayLetter(pos: Int): String {
return mRes.getString(when (pos) {
1 -> R.string.monday_letter
2 -> R.string.tuesday_letter
3 -> R.string.wednesday_letter
4 -> R.string.thursday_letter
5 -> R.string.friday_letter
6 -> R.string.saturday_letter
else -> R.string.sunday_letter
})
}
private fun checkScrollLimits(y: Int) {
if (minScrollY != -1 && y < minScrollY) {
mScrollView.scrollY = minScrollY
@ -359,10 +349,10 @@ class WeekFragment : Fragment(), WeeklyCalendar {
val minTS = Math.max(startDateTime.seconds(), mWeekTimestamp)
val maxTS = Math.min(endDateTime.seconds(), mWeekTimestamp + WEEK_SECONDS)
val startDateTimeInWeek = Formatter.getDateTimeFromTS(minTS)
val firstDayIndex = (startDateTimeInWeek.dayOfWeek - if (context!!.config.isSundayFirst) 0 else 1) % 7
val daysCnt = Days.daysBetween(Formatter.getDateTimeFromTS(minTS).toLocalDate(), Formatter.getDateTimeFromTS(maxTS).toLocalDate()).days
val startDateTimeInWeek = Formatter.getDateTimeFromTS(minTS)
val firstDayIndex = (startDateTimeInWeek.dayOfWeek - if (context!!.config.isSundayFirst) 0 else 1) % 7
var doesEventFit: Boolean
val cnt = allDayRows.size - 1
var wasEventHandled = false
@ -383,7 +373,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
wasEventHandled = true
} else if (index == cnt) {
if (allDayRows.size == index + 1) {
allDayRows.add(HashSet<Int>())
allDayRows.add(HashSet())
addNewLine()
drawAtLine++
wasEventHandled = true

View File

@ -361,6 +361,7 @@ class CalDAVHandler(val context: Context) {
put(CalendarContract.Events.RRULE, Parser().getRepeatCode(event))
put(CalendarContract.Events.EVENT_TIMEZONE, TimeZone.getDefault().toString())
put(CalendarContract.Events.EVENT_LOCATION, event.location)
put(CalendarContract.Events.STATUS, CalendarContract.Events.STATUS_CONFIRMED)
if (event.getIsAllDay() && event.endTS > event.startTS)
event.endTS += DAY

View File

@ -1,9 +1,11 @@
package com.simplemobiletools.calendar.helpers
import android.content.Context
import android.media.RingtoneManager
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.scheduleCalDAVSync
import com.simplemobiletools.commons.extensions.getDefaultAlarmTitle
import com.simplemobiletools.commons.extensions.getDefaultAlarmUri
import com.simplemobiletools.commons.helpers.ALARM_SOUND_TYPE_NOTIFICATION
import com.simplemobiletools.commons.helpers.BaseConfig
import java.util.*
@ -12,9 +14,9 @@ class Config(context: Context) : BaseConfig(context) {
fun newInstance(context: Context) = Config(context)
}
var displayWeekNumbers: Boolean
var showWeekNumbers: Boolean
get() = prefs.getBoolean(WEEK_NUMBERS, false)
set(displayWeekNumbers) = prefs.edit().putBoolean(WEEK_NUMBERS, displayWeekNumbers).apply()
set(showWeekNumbers) = prefs.edit().putBoolean(WEEK_NUMBERS, showWeekNumbers).apply()
var startWeeklyAt: Int
get() = prefs.getInt(START_WEEKLY_AT, 7)
@ -28,9 +30,13 @@ class Config(context: Context) : BaseConfig(context) {
get() = prefs.getBoolean(VIBRATE, false)
set(vibrate) = prefs.edit().putBoolean(VIBRATE, vibrate).apply()
var reminderSound: String
get() = prefs.getString(REMINDER_SOUND, getDefaultNotificationSound())
set(path) = prefs.edit().putString(REMINDER_SOUND, path).apply()
var reminderSoundUri: String
get() = prefs.getString(REMINDER_SOUND_URI, context.getDefaultAlarmUri(ALARM_SOUND_TYPE_NOTIFICATION).toString())
set(reminderSoundUri) = prefs.edit().putString(REMINDER_SOUND_URI, reminderSoundUri).apply()
var reminderSoundTitle: String
get() = prefs.getString(REMINDER_SOUND_TITLE, context.getDefaultAlarmTitle(ALARM_SOUND_TYPE_NOTIFICATION))
set(reminderSoundTitle) = prefs.edit().putString(REMINDER_SOUND_TITLE, reminderSoundTitle).apply()
var storedView: Int
get() = prefs.getInt(VIEW, MONTHLY_VIEW)
@ -79,6 +85,10 @@ class Config(context: Context) : BaseConfig(context) {
get() = prefs.getBoolean(REPLACE_DESCRIPTION, false)
set(replaceDescription) = prefs.edit().putBoolean(REPLACE_DESCRIPTION, replaceDescription).apply()
var showGrid: Boolean
get() = prefs.getBoolean(SHOW_GRID, false)
set(showGrid) = prefs.edit().putBoolean(SHOW_GRID, showGrid).apply()
fun getSyncedCalendarIdsAsList() = caldavSyncedCalendarIDs.split(",").filter { it.trim().isNotEmpty() } as ArrayList<String>
fun addDisplayEventType(type: String) {
@ -97,14 +107,6 @@ class Config(context: Context) : BaseConfig(context) {
displayEventTypes = currDisplayEventTypes
}
private fun getDefaultNotificationSound(): String {
return try {
RingtoneManager.getActualDefaultRingtoneUri(context, RingtoneManager.TYPE_NOTIFICATION)?.toString() ?: ""
} catch (e: Exception) {
""
}
}
fun getFontSize() = when (fontSize) {
FONT_SIZE_SMALL -> getSmallFontSize()
FONT_SIZE_MEDIUM -> getMediumFontSize()

View File

@ -37,7 +37,8 @@ const val WEEK_NUMBERS = "week_numbers"
const val START_WEEKLY_AT = "start_weekly_at"
const val END_WEEKLY_AT = "end_weekly_at"
const val VIBRATE = "vibrate"
const val REMINDER_SOUND = "reminder_sound"
const val REMINDER_SOUND_URI = "reminder_sound_uri"
const val REMINDER_SOUND_TITLE = "reminder_sound_title"
const val VIEW = "view"
const val REMINDER_MINUTES = "reminder_minutes"
const val REMINDER_MINUTES_2 = "reminder_minutes_2"
@ -49,6 +50,7 @@ const val CALDAV_SYNCED_CALENDAR_IDS = "caldav_synced_calendar_ids"
const val LAST_USED_CALDAV_CALENDAR = "last_used_caldav_calendar"
const val DISPLAY_PAST_EVENTS = "display_past_events"
const val REPLACE_DESCRIPTION = "replace_description"
const val SHOW_GRID = "show_grid"
// repeat_rule for monthly repetition
const val REPEAT_MONTH_SAME_DAY = 1 // ie 25th every month

View File

@ -225,6 +225,35 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
callback(event.id)
}
fun insertEvents(events: ArrayList<Event>, addToCalDAV: Boolean) {
mDb.beginTransaction()
try {
for (event in events) {
if (event.startTS > event.endTS) {
continue
}
val eventValues = fillEventValues(event)
val id = mDb.insert(MAIN_TABLE_NAME, null, eventValues)
event.id = id.toInt()
if (event.repeatInterval != 0 && event.parentId == 0) {
val metaValues = fillMetaValues(event)
mDb.insert(META_TABLE_NAME, null, metaValues)
}
context.scheduleNextEventReminder(event, this)
if (addToCalDAV && event.source != SOURCE_SIMPLE_CALENDAR && context.config.caldavSync) {
CalDAVHandler(context).insertCalDAVEvent(event)
}
}
mDb.setTransactionSuccessful()
} finally {
mDb.endTransaction()
context.updateWidgets()
}
}
fun update(event: Event, updateAtCalDAV: Boolean, callback: (() -> Unit)? = null) {
val values = fillEventValues(event)
val selection = "$COL_ID = ?"
@ -605,6 +634,18 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
}
}
fun getEventIdWithLastImportId(id: String): Int {
val selection = "$MAIN_TABLE_NAME.$COL_IMPORT_ID LIKE ?"
val selectionArgs = arrayOf("%-$id")
val cursor = getEventsCursor(selection, selectionArgs)
val events = fillEvents(cursor)
return if (events.isNotEmpty()) {
events.minBy { it.id }?.id ?: 0
} else {
0
}
}
fun getEventsWithSearchQuery(text: String, callback: (searchedText: String, events: List<Event>) -> Unit) {
Thread {
val searchQuery = "%$text%"

View File

@ -9,7 +9,6 @@ import org.joda.time.DateTime
import org.joda.time.DateTimeZone
import org.joda.time.LocalDate
import org.joda.time.format.DateTimeFormat
import java.text.DateFormat
object Formatter {
val DAYCODE_PATTERN = "YYYYMMdd"
@ -89,9 +88,9 @@ object Formatter {
fun getYear(dateTime: DateTime) = dateTime.toString(YEAR_PATTERN)
fun getHourPattern(context: Context) = if (context.config.use24hourFormat) PATTERN_HOURS_24 else PATTERN_HOURS_12
fun getHourPattern(context: Context) = if (context.config.use24HourFormat) PATTERN_HOURS_24 else PATTERN_HOURS_12
fun getTimePattern(context: Context) = if (context.config.use24hourFormat) PATTERN_TIME_24 else PATTERN_TIME_12
fun getTimePattern(context: Context) = if (context.config.use24HourFormat) PATTERN_TIME_24 else PATTERN_TIME_12
fun getExportedTime(ts: Long): String {
val dateTime = DateTime(ts, DateTimeZone.UTC)
@ -108,6 +107,4 @@ object Formatter {
}
fun getShiftedImportTimestamp(ts: Int) = getUTCDateTimeFromTS(ts).withTime(13, 0, 0, 0).withZoneRetainFields(DateTimeZone.getDefault()).seconds()
fun getDayAndMonth(localDate: LocalDate) = localDate.toString("dd.MM.")
}

View File

@ -1,10 +1,12 @@
package com.simplemobiletools.calendar.helpers
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.dbHelper
import com.simplemobiletools.calendar.helpers.IcsExporter.ExportResult.*
import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getFileOutputStream
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.extensions.writeLn
import com.simplemobiletools.commons.models.FileDirItem
import java.io.BufferedWriter
@ -18,14 +20,18 @@ class IcsExporter {
private var eventsExported = 0
private var eventsFailed = 0
fun exportEvents(activity: BaseSimpleActivity, file: File, events: ArrayList<Event>, callback: (result: ExportResult) -> Unit) {
fun exportEvents(activity: BaseSimpleActivity, file: File, events: ArrayList<Event>, showExportingToast: Boolean, callback: (result: ExportResult) -> Unit) {
val fileDirItem = FileDirItem(file.absolutePath, file.name)
activity.getFileOutputStream(fileDirItem) {
activity.getFileOutputStream(fileDirItem, true) {
if (it == null) {
callback(EXPORT_FAIL)
return@getFileOutputStream
}
if (showExportingToast) {
activity.toast(R.string.exporting)
}
it.bufferedWriter().use { out ->
out.writeLn(BEGIN_CALENDAR)
out.writeLn(CALENDAR_PRODID)

View File

@ -43,6 +43,7 @@ class IcsImporter(val activity: SimpleActivity) {
fun importEvents(path: String, defaultEventType: Int, calDAVCalendarId: Int): ImportResult {
try {
val existingEvents = activity.dbHelper.getEventsWithImportIds()
val eventsToInsert = ArrayList<Event>()
var prevLine = ""
val inputStream = if (path.contains("/")) {
@ -131,7 +132,6 @@ class IcsImporter(val activity: SimpleActivity) {
continue
}
val eventToUpdate = existingEvents.firstOrNull { curImportId.isNotEmpty() && curImportId == it.importId }
if (eventToUpdate != null && eventToUpdate.lastUpdated >= curLastModified) {
continue
@ -148,11 +148,15 @@ class IcsImporter(val activity: SimpleActivity) {
}
if (eventToUpdate == null) {
activity.dbHelper.insert(event, true) {
for (exceptionTS in curRepeatExceptions) {
activity.dbHelper.addEventRepeatException(it, exceptionTS, true)
if (curRepeatExceptions.isEmpty()) {
eventsToInsert.add(event)
} else {
activity.dbHelper.insert(event, true) {
for (exceptionTS in curRepeatExceptions) {
activity.dbHelper.addEventRepeatException(it, exceptionTS, true)
}
existingEvents.add(event)
}
existingEvents.add(event)
}
} else {
event.id = eventToUpdate.id
@ -164,6 +168,8 @@ class IcsImporter(val activity: SimpleActivity) {
prevLine = line
}
}
activity.dbHelper.insertEvents(eventsToInsert, true)
} catch (e: Exception) {
activity.showErrorToast(e, Toast.LENGTH_LONG)
eventsFailed++

View File

@ -25,8 +25,8 @@ class MonthlyCalendarImpl(val mCallback: MonthlyCalendar, val mContext: Context)
fun updateMonthlyCalendar(targetDate: DateTime, filterEventTypes: Boolean = true) {
mFilterEventTypes = filterEventTypes
mTargetDate = targetDate
val startTS = mTargetDate.minusMonths(1).seconds()
val endTS = mTargetDate.plusMonths(1).seconds()
val startTS = mTargetDate.minusDays(7).seconds()
val endTS = mTargetDate.plusDays(43).seconds()
mContext.dbHelper.getEvents(startTS, endTS) {
gotEvents(it as ArrayList<Event>)
}
@ -47,7 +47,7 @@ class MonthlyCalendarImpl(val mCallback: MonthlyCalendar, val mContext: Context)
var isThisMonth = false
var isToday: Boolean
var value = prevMonthDays - firstDayIndex + 1
var curDay: DateTime = mTargetDate
var curDay = mTargetDate
for (i in 0 until DAYS_CNT) {
when {
@ -67,11 +67,11 @@ class MonthlyCalendarImpl(val mCallback: MonthlyCalendar, val mContext: Context)
}
}
isToday = isThisMonth && isToday(mTargetDate, value)
isToday = isToday(curDay, value)
val newDay = curDay.withDayOfMonth(value)
val dayCode = Formatter.getDayCodeFromDateTime(newDay)
val day = DayMonthly(value, isThisMonth, isToday, dayCode, newDay.weekOfWeekyear, ArrayList())
val day = DayMonthly(value, isThisMonth, isToday, dayCode, newDay.weekOfWeekyear, ArrayList(), i)
days.add(day)
value++
}
@ -94,14 +94,16 @@ class MonthlyCalendarImpl(val mCallback: MonthlyCalendar, val mContext: Context)
var currDay = startDateTime
var dayCode = Formatter.getDayCodeFromDateTime(currDay)
var currDayEvents = (dayEvents[dayCode] ?: ArrayList()).apply { add(it) }
dayEvents.put(dayCode, currDayEvents)
var currDayEvents = dayEvents[dayCode] ?: ArrayList()
currDayEvents.add(it)
dayEvents[dayCode] = currDayEvents
while (Formatter.getDayCodeFromDateTime(currDay) != endCode) {
currDay = currDay.plusDays(1)
dayCode = Formatter.getDayCodeFromDateTime(currDay)
currDayEvents = (dayEvents[dayCode] ?: ArrayList()).apply { add(it) }
dayEvents.put(dayCode, currDayEvents)
currDayEvents = dayEvents[dayCode] ?: ArrayList()
currDayEvents.add(it)
dayEvents[dayCode] = currDayEvents
}
}
@ -113,10 +115,8 @@ class MonthlyCalendarImpl(val mCallback: MonthlyCalendar, val mContext: Context)
}
private fun isToday(targetDate: DateTime, curDayInMonth: Int): Boolean {
return if (curDayInMonth > targetDate.dayOfMonth().maximumValue)
false
else
targetDate.withDayOfMonth(curDayInMonth).toString(Formatter.DAYCODE_PATTERN) == mToday
val targetMonthDays = targetDate.dayOfMonth().maximumValue
return targetDate.withDayOfMonth(Math.min(curDayInMonth, targetMonthDays)).toString(Formatter.DAYCODE_PATTERN) == mToday
}
private val monthName: String

View File

@ -24,7 +24,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() {
private val NEW_EVENT = "new_event"
companion object {
private var targetDate = DateTime.now()
private var targetDate = DateTime.now().withDayOfMonth(1)
}
override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {
@ -82,7 +82,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() {
}
private fun updateDays(context: Context, views: RemoteViews, days: List<DayMonthly>) {
val displayWeekNumbers = context.config.displayWeekNumbers
val displayWeekNumbers = context.config.showWeekNumbers
val textColor = context.config.widgetTextColor
val smallerFontSize = context.config.getFontSize() - 3f
val res = context.resources
@ -149,7 +149,7 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() {
}
private val monthlyCalendar = object : MonthlyCalendar {
override fun updateMonthlyCalendar(context: Context, month: String, days: List<DayMonthly>, checkedEvents: Boolean) {
override fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList<DayMonthly>, checkedEvents: Boolean) {
val largerFontSize = context.config.getFontSize() + 3f
val textColor = context.config.widgetTextColor
val resources = context.resources
@ -182,7 +182,10 @@ class MyWidgetMonthlyProvider : AppWidgetProvider() {
val monthCode = days.firstOrNull { it.code.substring(6) == "01" }?.code ?: Formatter.getTodayCode(context)
setupAppOpenIntent(context, views, R.id.top_value, monthCode)
appWidgetManager.updateAppWidget(it, views)
try {
appWidgetManager.updateAppWidget(it, views)
} catch (ignored: RuntimeException) {
}
}
}
}

View File

@ -4,5 +4,5 @@ import android.content.Context
import com.simplemobiletools.calendar.models.DayMonthly
interface MonthlyCalendar {
fun updateMonthlyCalendar(context: Context, month: String, days: List<DayMonthly>, checkedEvents: Boolean)
fun updateMonthlyCalendar(context: Context, month: String, days: ArrayList<DayMonthly>, checkedEvents: Boolean)
}

View File

@ -1,6 +1,7 @@
package com.simplemobiletools.calendar.models
data class DayMonthly(val value: Int, val isThisMonth: Boolean, val isToday: Boolean, val code: String, val weekOfYear: Int, var dayEvents: ArrayList<Event>) {
data class DayMonthly(val value: Int, val isThisMonth: Boolean, val isToday: Boolean, val code: String, val weekOfYear: Int, var dayEvents: ArrayList<Event>,
var indexOnMonthView: Int) {
fun hasEvent() = dayEvents.isNotEmpty()
}

View File

@ -0,0 +1,4 @@
package com.simplemobiletools.calendar.models
data class MonthViewEvent(val id: Int, val title: String, val startTS: Int, val color: Int, val startDayIndex: Int, val daysCnt: Int, val originalStartDayIndex: Int,
val isAllDay: Boolean)

View File

@ -9,11 +9,13 @@ import com.simplemobiletools.calendar.extensions.scheduleAllEvents
class BootCompletedReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, arg1: Intent) {
context.apply {
scheduleAllEvents()
notifyRunningEvents()
recheckCalDAVCalendars {}
}
override fun onReceive(context: Context, intent: Intent) {
Thread {
context.apply {
scheduleAllEvents()
notifyRunningEvents()
recheckCalDAVCalendars {}
}
}.start()
}
}

View File

@ -15,14 +15,20 @@ class NotificationReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val powerManager = context.getSystemService(Context.POWER_SERVICE) as PowerManager
val wakelock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Simple Calendar")
wakelock.acquire(5000)
wakelock.acquire(3000)
context.updateListWidget()
Thread {
handleIntent(context, intent)
}.start()
}
private fun handleIntent(context: Context, intent: Intent) {
val id = intent.getIntExtra(EVENT_ID, -1)
if (id == -1) {
return
}
context.updateListWidget()
val event = context.dbHelper.getEventWithId(id)
if (event == null || event.getReminders().isEmpty()) {
return

View File

@ -0,0 +1,335 @@
package com.simplemobiletools.calendar.views
import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.RectF
import android.text.TextPaint
import android.text.TextUtils
import android.util.AttributeSet
import android.util.SparseIntArray
import android.view.View
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.extensions.seconds
import com.simplemobiletools.calendar.helpers.Formatter
import com.simplemobiletools.calendar.helpers.LOW_ALPHA
import com.simplemobiletools.calendar.models.DayMonthly
import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.calendar.models.MonthViewEvent
import com.simplemobiletools.commons.extensions.adjustAlpha
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
import com.simplemobiletools.commons.extensions.getContrastColor
import com.simplemobiletools.commons.extensions.moveLastItemToFront
import org.joda.time.DateTime
import org.joda.time.Days
// used in the Monthly view fragment, 1 view per screen
class MonthView(context: Context, attrs: AttributeSet, defStyle: Int) : View(context, attrs, defStyle) {
private val BG_CORNER_RADIUS = 4f
private val ROW_COUNT = 6
private var paint: Paint
private var eventTitlePaint: TextPaint
private var gridPaint: Paint
private var dayWidth = 0f
private var dayHeight = 0f
private var primaryColor = 0
private var textColor = 0
private var weekDaysLetterHeight = 0
private var eventTitleHeight = 0
private var currDayOfWeek = 0
private var smallPadding = 0
private var maxEventsPerDay = 0
private var horizontalOffset = 0
private var showWeekNumbers = false
private var allEvents = ArrayList<MonthViewEvent>()
private var bgRectF = RectF()
private var dayLetters = ArrayList<String>()
private var days = ArrayList<DayMonthly>()
private var dayVerticalOffsets = SparseIntArray()
constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0)
init {
primaryColor = context.getAdjustedPrimaryColor()
textColor = context.config.textColor
showWeekNumbers = context.config.showWeekNumbers
smallPadding = resources.displayMetrics.density.toInt()
val normalTextSize = resources.getDimensionPixelSize(R.dimen.normal_text_size)
weekDaysLetterHeight = normalTextSize * 2
paint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = textColor
textSize = normalTextSize.toFloat()
textAlign = Paint.Align.CENTER
}
gridPaint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = textColor.adjustAlpha(LOW_ALPHA)
}
val smallerTextSize = resources.getDimensionPixelSize(R.dimen.smaller_text_size)
eventTitleHeight = smallerTextSize
eventTitlePaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
color = textColor
textSize = smallerTextSize.toFloat()
textAlign = Paint.Align.LEFT
}
initWeekDayLetters()
setupCurrentDayOfWeekIndex()
}
fun updateDays(newDays: ArrayList<DayMonthly>) {
days = newDays
showWeekNumbers = context.config.showWeekNumbers
horizontalOffset = if (showWeekNumbers) eventTitleHeight * 2 else 0
initWeekDayLetters()
setupCurrentDayOfWeekIndex()
groupAllEvents()
invalidate()
}
private fun groupAllEvents() {
days.forEach {
val day = it
day.dayEvents.forEach {
val event = it
// make sure we properly handle events lasting multiple days and repeating ones
val lastEvent = allEvents.lastOrNull { it.id == event.id }
val daysCnt = getEventLastingDaysCount(event)
if (lastEvent == null || lastEvent.startDayIndex + daysCnt <= day.indexOnMonthView) {
val monthViewEvent = MonthViewEvent(event.id, event.title, event.startTS, event.color, day.indexOnMonthView,
daysCnt, day.indexOnMonthView, event.getIsAllDay())
allEvents.add(monthViewEvent)
}
}
}
allEvents = allEvents.sortedWith(compareBy({ -it.daysCnt }, { !it.isAllDay }, { it.startTS }, { it.startDayIndex }, { it.title })).toMutableList() as ArrayList<MonthViewEvent>
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
dayVerticalOffsets.clear()
measureDaySize(canvas)
if (context.config.showGrid) {
drawGrid(canvas)
}
addWeekDayLetters(canvas)
if (showWeekNumbers) {
addWeekNumbers(canvas)
}
var curId = 0
for (y in 0 until ROW_COUNT) {
for (x in 0..6) {
val day = days.getOrNull(curId)
if (day != null) {
dayVerticalOffsets.put(day.indexOnMonthView, dayVerticalOffsets[day.indexOnMonthView] + weekDaysLetterHeight)
val verticalOffset = dayVerticalOffsets[day.indexOnMonthView]
val xPos = x * dayWidth + horizontalOffset
val yPos = y * dayHeight + verticalOffset
val xPosCenter = xPos + dayWidth / 2
if (day.isToday) {
canvas.drawCircle(xPosCenter, yPos + paint.textSize * 0.7f, paint.textSize * 0.75f, getCirclePaint(day))
}
canvas.drawText(day.value.toString(), xPosCenter, yPos + paint.textSize, getTextPaint(day))
dayVerticalOffsets.put(day.indexOnMonthView, (verticalOffset + paint.textSize * 2).toInt())
}
curId++
}
}
drawEvents(canvas)
}
private fun drawGrid(canvas: Canvas) {
// vertical lines
for (i in 0..6) {
var lineX = i * dayWidth
if (showWeekNumbers) {
lineX += horizontalOffset
}
canvas.drawLine(lineX, 0f, lineX, canvas.height.toFloat(), gridPaint)
}
// horizontal lines
canvas.drawLine(0f, 0f, canvas.width.toFloat(), 0f, gridPaint)
for (i in 0..5) {
canvas.drawLine(0f, i * dayHeight + weekDaysLetterHeight, canvas.width.toFloat(), i * dayHeight + weekDaysLetterHeight, gridPaint)
}
}
private fun addWeekDayLetters(canvas: Canvas) {
for (i in 0..6) {
val xPos = horizontalOffset + (i + 1) * dayWidth - dayWidth / 2
var weekDayLetterPaint = paint
if (i == currDayOfWeek) {
weekDayLetterPaint = getColoredPaint(primaryColor)
}
canvas.drawText(dayLetters[i], xPos, weekDaysLetterHeight * 0.7f, weekDayLetterPaint)
}
}
private fun addWeekNumbers(canvas: Canvas) {
val weekNumberPaint = Paint(paint)
weekNumberPaint.textAlign = Paint.Align.RIGHT
for (i in 0 until ROW_COUNT) {
// fourth day of the week matters
val weekOfYear = days.getOrNull(i * 7 + 3)?.weekOfYear ?: 1
val id = "$weekOfYear:"
val yPos = i * dayHeight + weekDaysLetterHeight
canvas.drawText(id, horizontalOffset.toFloat() * 0.9f, yPos + paint.textSize, weekNumberPaint)
}
}
private fun measureDaySize(canvas: Canvas) {
dayWidth = (canvas.width - horizontalOffset) / 7f
dayHeight = (canvas.height - weekDaysLetterHeight) / ROW_COUNT.toFloat()
val availableHeightForEvents = dayHeight.toInt() - weekDaysLetterHeight
maxEventsPerDay = availableHeightForEvents / eventTitleHeight
}
private fun drawEvents(canvas: Canvas) {
for (event in allEvents) {
drawEvent(event, canvas)
}
}
private fun drawEvent(event: MonthViewEvent, canvas: Canvas) {
val verticalOffset = dayVerticalOffsets[event.startDayIndex]
val xPos = event.startDayIndex % 7 * dayWidth + horizontalOffset
val yPos = (event.startDayIndex / 7) * dayHeight
val xPosCenter = xPos + dayWidth / 2
if (verticalOffset - eventTitleHeight * 2 > dayHeight) {
canvas.drawText("...", xPosCenter, yPos + verticalOffset - eventTitleHeight / 2, getTextPaint(days[event.startDayIndex]))
return
}
// event background rectangle
val backgroundY = yPos + verticalOffset
val bgLeft = xPos + smallPadding
val bgTop = backgroundY + smallPadding - eventTitleHeight
var bgRight = xPos - smallPadding + dayWidth * event.daysCnt
val bgBottom = backgroundY + smallPadding * 2
if (bgRight > canvas.width.toFloat()) {
bgRight = canvas.width.toFloat() - smallPadding
val newStartDayIndex = (event.startDayIndex / 7 + 1) * 7
if (newStartDayIndex < 42) {
val newEvent = event.copy(startDayIndex = newStartDayIndex, daysCnt = event.daysCnt - (newStartDayIndex - event.startDayIndex))
drawEvent(newEvent, canvas)
}
}
val startDayIndex = days[event.originalStartDayIndex]
val endDayIndex = days[Math.min(event.startDayIndex + event.daysCnt - 1, 41)]
bgRectF.set(bgLeft, bgTop, bgRight, bgBottom)
canvas.drawRoundRect(bgRectF, BG_CORNER_RADIUS, BG_CORNER_RADIUS, getEventBackgroundColor(event, startDayIndex, endDayIndex))
drawEventTitle(event.title, canvas, xPos, yPos + verticalOffset, bgRight - bgLeft - smallPadding, event.color, startDayIndex, endDayIndex)
for (i in 0 until Math.min(event.daysCnt, 7 - event.startDayIndex % 7)) {
dayVerticalOffsets.put(event.startDayIndex + i, verticalOffset + eventTitleHeight + smallPadding * 2)
}
}
private fun drawEventTitle(title: String, canvas: Canvas, x: Float, y: Float, availableWidth: Float, eventColor: Int, startDay: DayMonthly, endDay: DayMonthly) {
val ellipsized = TextUtils.ellipsize(title, eventTitlePaint, availableWidth - smallPadding, TextUtils.TruncateAt.END)
canvas.drawText(title, 0, ellipsized.length, x + smallPadding * 2, y, getEventTitlePaint(eventColor, startDay, endDay))
}
private fun getTextPaint(startDay: DayMonthly): Paint {
var paintColor = textColor
if (startDay.isToday) {
paintColor = primaryColor.getContrastColor()
}
if (!startDay.isThisMonth) {
paintColor = paintColor.adjustAlpha(LOW_ALPHA)
}
return getColoredPaint(paintColor)
}
private fun getColoredPaint(color: Int): Paint {
val curPaint = Paint(paint)
curPaint.color = color
return curPaint
}
private fun getEventBackgroundColor(event: MonthViewEvent, startDay: DayMonthly, endDay: DayMonthly): Paint {
var paintColor = event.color
if (!startDay.isThisMonth && !endDay.isThisMonth) {
paintColor = paintColor.adjustAlpha(LOW_ALPHA)
}
return getColoredPaint(paintColor)
}
private fun getEventTitlePaint(color: Int, startDay: DayMonthly, endDay: DayMonthly): Paint {
var paintColor = color.getContrastColor()
if (!startDay.isThisMonth && !endDay.isThisMonth) {
paintColor = paintColor.adjustAlpha(LOW_ALPHA)
}
val curPaint = Paint(eventTitlePaint)
curPaint.color = paintColor
return curPaint
}
private fun getCirclePaint(day: DayMonthly): Paint {
val curPaint = Paint(paint)
var paintColor = primaryColor
if (!day.isThisMonth) {
paintColor = paintColor.adjustAlpha(LOW_ALPHA)
}
curPaint.color = paintColor
return curPaint
}
private fun initWeekDayLetters() {
dayLetters = context.resources.getStringArray(R.array.week_day_letters).toList() as ArrayList<String>
if (context.config.isSundayFirst) {
dayLetters.moveLastItemToFront()
}
}
private fun setupCurrentDayOfWeekIndex() {
if (days.firstOrNull { it.isToday && it.isThisMonth } == null) {
currDayOfWeek = -1
return
}
currDayOfWeek = DateTime().dayOfWeek
if (context.config.isSundayFirst) {
currDayOfWeek %= 7
} else {
currDayOfWeek--
}
}
// take into account cases when an event starts on the previous screen, subtract those days
private fun getEventLastingDaysCount(event: Event): Int {
val startDateTime = Formatter.getDateTimeFromTS(event.startTS)
val endDateTime = Formatter.getDateTimeFromTS(event.endTS)
val code = days.first().code
val screenStartDateTime = Formatter.getDateTimeFromCode(code).toLocalDate()
var eventStartDateTime = Formatter.getDateTimeFromTS(startDateTime.seconds()).toLocalDate()
val eventEndDateTime = Formatter.getDateTimeFromTS(endDateTime.seconds()).toLocalDate()
val diff = Days.daysBetween(screenStartDateTime, eventStartDateTime).days
if (diff < 0) {
eventStartDateTime = screenStartDateTime
}
return Days.daysBetween(eventStartDateTime, eventEndDateTime).days + 1
}
}

View File

@ -0,0 +1,99 @@
package com.simplemobiletools.calendar.views
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.FrameLayout
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.extensions.config
import com.simplemobiletools.calendar.models.DayMonthly
import com.simplemobiletools.commons.extensions.onGlobalLayout
import kotlinx.android.synthetic.main.month_view.view.*
// used in the Monthly view fragment, 1 view per screen
class MonthViewWrapper(context: Context, attrs: AttributeSet, defStyle: Int) : FrameLayout(context, attrs, defStyle) {
private var dayWidth = 0f
private var dayHeight = 0f
private var weekDaysLetterHeight = 0
private var wereViewsAdded = false
private var days = ArrayList<DayMonthly>()
private var inflater: LayoutInflater
private var monthView: MonthView
private var horizontalOffset = 0
private var dayClickCallback: ((day: DayMonthly) -> Unit)? = null
constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0)
init {
val normalTextSize = resources.getDimensionPixelSize(R.dimen.normal_text_size).toFloat()
weekDaysLetterHeight = 2 * normalTextSize.toInt()
inflater = LayoutInflater.from(context)
monthView = inflater.inflate(R.layout.month_view, this).month_view
setupHorizontalOffset()
onGlobalLayout {
if (!wereViewsAdded && days.isNotEmpty()) {
measureSizes()
addViews()
monthView.updateDays(days)
}
}
}
fun updateDays(newDays: ArrayList<DayMonthly>, callback: ((DayMonthly) -> Unit)? = null) {
setupHorizontalOffset()
measureSizes()
dayClickCallback = callback
days = newDays
if (dayWidth != 0f && dayHeight != 0f) {
addViews()
}
monthView.updateDays(days)
}
private fun setupHorizontalOffset() {
horizontalOffset = if (context.config.showWeekNumbers) resources.getDimensionPixelSize(R.dimen.smaller_text_size) * 2 else 0
}
private fun measureSizes() {
dayWidth = (width - horizontalOffset) / 7f
// avoid updating the height when coming back from a new event screen, when the keyboard was visible
val newHeight = (height - weekDaysLetterHeight) / 6f
if (newHeight > dayHeight) {
dayHeight = (height - weekDaysLetterHeight) / 6f
}
}
private fun addViews() {
removeAllViews()
monthView = inflater.inflate(R.layout.month_view, this).month_view
wereViewsAdded = true
var curId = 0
for (y in 0..5) {
for (x in 0..6) {
val day = days.getOrNull(curId)
if (day != null) {
val xPos = x * dayWidth + horizontalOffset
val yPos = y * dayHeight + weekDaysLetterHeight
addViewBackground(xPos, yPos, day)
}
curId++
}
}
}
private fun addViewBackground(xPos: Float, yPos: Float, day: DayMonthly) {
inflater.inflate(R.layout.month_view_background, this, false).apply {
layoutParams.width = dayWidth.toInt()
layoutParams.height = dayHeight.toInt()
x = xPos
y = yPos
setOnClickListener {
dayClickCallback?.invoke(day)
}
addView(this)
}
}
}

View File

@ -14,6 +14,7 @@ import com.simplemobiletools.commons.extensions.adjustAlpha
import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor
import java.util.*
// used for displaying months at Yearly view
class SmallMonthView(context: Context, attrs: AttributeSet, defStyle: Int) : View(context, attrs, defStyle) {
private var paint: Paint
private var todayCirclePaint: Paint

View File

@ -494,6 +494,29 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_show_grid_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingBottom="@dimen/activity_margin"
android:paddingLeft="@dimen/normal_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_show_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_a_grid"/>
</RelativeLayout>
<View
android:id="@+id/events_list_view_divider"
android:layout_width="match_parent"

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/month_calendar_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -9,497 +8,10 @@
<include layout="@layout/top_navigation"/>
<include
android:id="@+id/first_row"
layout="@layout/first_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/top_value"
tools:ignore="UnknownIdInLayout"/>
<LinearLayout
android:id="@+id/table_holder"
<com.simplemobiletools.calendar.views.MonthViewWrapper
android:id="@+id/month_view_wrapper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/first_row"
android:gravity="center"
android:orientation="vertical">
android:layout_below="@+id/top_left_arrow"/>
<LinearLayout
android:id="@+id/month_line_holder_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_0"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_0"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_5"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_6"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_1"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_7"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_8"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_9"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_10"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_11"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_12"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_13"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_2"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_14"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_15"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_16"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_17"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_18"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_19"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_20"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_3"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_21"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_22"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_23"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_24"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_25"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_26"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_27"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_4"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_28"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_29"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_30"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_31"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_32"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_33"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_34"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_5"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_35"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_36"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_37"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_38"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_39"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_40"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_41"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -0,0 +1,505 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/month_calendar_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/medium_margin">
<include layout="@layout/top_navigation"/>
<include
android:id="@+id/first_row"
layout="@layout/first_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/top_value"
tools:ignore="UnknownIdInLayout"/>
<LinearLayout
android:id="@+id/table_holder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/first_row"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:id="@+id/month_line_holder_1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_0"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_0"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_4"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_5"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_6"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_1"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_7"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_8"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_9"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_10"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_11"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_12"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_13"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_2"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_14"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_15"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_16"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_17"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_18"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_19"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_20"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_3"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_21"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_22"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_23"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_24"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_25"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_26"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_27"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_5"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_4"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_28"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_29"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_30"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_31"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_32"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_33"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_34"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
<LinearLayout
android:id="@+id/month_line_holder_6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/week_num_5"
style="@style/WeekNumberStyle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/day_35"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_36"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_37"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_38"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_39"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_40"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
<LinearLayout
android:id="@+id/day_41"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="?attr/selectableItemBackground"
android:gravity="center_horizontal"
android:orientation="vertical"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.calendar.views.MonthView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/month_view"
android:layout_width="match_parent"
android:layout_height="match_parent"/>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<View
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/month_view_background"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="?attr/selectableItemBackground"/>

View File

@ -9,7 +9,7 @@
<include
android:id="@+id/config_calendar"
layout="@layout/fragment_month"
layout="@layout/fragment_month_widget_config"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/config_bg_color"

View File

@ -26,6 +26,7 @@
<string name="event_updated">Hadisə uğurla yeniləndi</string>
<string name="filter_events_by_type">Hadisələri yazıya görə sırala</string>
<string name="please_fill_location">Xahiş olunur məkan parametrini doldurun ki hadisədə görünsün</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Təkrarlama</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Bayram əlavə et</string>
<string name="national_holidays">Milli bayramlar</string>
<string name="religious_holidays">Dini bayramlar</string>
<string name="holidays_imported_successfully">Bayramlar uğurla yeni hadisə tipinə daxil edildi</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Bəzi bayramları daxil etmək alınmadı</string>
<string name="importing_holidays_failed">Bayramları daxil etmək alınmadı</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Hadisə əlavəsini məkan ilə dəyiş</string>
<string name="delete_all_events">Bütün hadisələri sil</string>
<string name="delete_all_events_confirmation">Bütün hadisələri silmək istədiyinizə əminsiniz? Bu hadisələri və parametrlərini bütövlüklə siləcək.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
Kontakt icazəsi yalnız kontakt ad günlərini və il dönümlərini daxil etmək üçün istifadə olunur.
Bu, böyük bir tətbiq seriyasının yalnız bir hissəsidir. Digər tətbiqləri buradan əldə edə bilərsiniz http://www.simplemobiletools.com
Bu, böyük bir tətbiq seriyasının yalnız bir hissəsidir. Digər tətbiqləri buradan əldə edə bilərsiniz https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Darvoud hizivaet gant berzh</string>
<string name="filter_events_by_type">Silañ an darvoudoù dre rizh</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Addegouezh</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Ouzhpennañ devezhioù gouel</string>
<string name="national_holidays">Devezhioù gouel broadel</string>
<string name="religious_holidays">Devezhioù gouel relijiel</string>
<string name="holidays_imported_successfully">An devezhioù gouel a zo bet enporzhiet en un doare darvoud nevez gant berzh</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">C\'hwitadenn en ur enporzhiañ ul lodenn eus an darvoudoù</string>
<string name="importing_holidays_failed">C\'hwitadenn en ur enporzhiañ ul lodenn eus an devezhioù gouel</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
Ret eo reiñ an aotre Darempredoù evit enporzhiañ deizioù-ha-bloaz an darempredoù.
An arload-mañ a zo ul lodenn eus un heuliad arloadoù brasoc\'h. Gallout a rit o kavout anezho war http://www.simplemobiletools.com
An arload-mañ a zo ul lodenn eus un heuliad arloadoù brasoc\'h. Gallout a rit o kavout anezho war https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Událost úspěšně změněna</string>
<string name="filter_events_by_type">Filtrovat události podle typu</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Opakovaná událost</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Přidat svátek</string>
<string name="national_holidays">Státní svátky</string>
<string name="religious_holidays">Církevní svátky</string>
<string name="holidays_imported_successfully">Svátky byly úspěšně importovány do nového typu události</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Import některých událostí se nezdařil</string>
<string name="importing_holidays_failed">Import svátků nezdařil</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
Tato aplikace je součástí větší sady aplikací. Tyto a další aplikace najdete na http://www.simplemobiletools.com
Tato aplikace je součástí větší sady aplikací. Tyto a další aplikace najdete na https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Begivenhed ændret</string>
<string name="filter_events_by_type">Filtrer begivenheder efter type</string>
<string name="please_fill_location">Indtast et sted der kan vises på et kort</string>
<string name="public_event_notification_text">En begivenhed er forestående</string>
<!-- Event Repetition -->
<string name="repetition">Gentagelse</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Tilføj helligdage</string>
<string name="national_holidays">Nationale helligdage</string>
<string name="religious_holidays">Religiøse helligdage</string>
<string name="holidays_imported_successfully">Helligdage er importeret til en ny begivenhedstype</string>
<string name="holidays_imported_successfully">Helligdage er importeret til typen \"Helligdage\"</string>
<string name="importing_some_holidays_failed">Nogle helligdages blev ikke importeret</string>
<string name="importing_holidays_failed">Import af helligdage mislykkedes</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Erstat beskrivelse med sted</string>
<string name="delete_all_events">Slet alle begivenheder</string>
<string name="delete_all_events_confirmation">Er du sikker på at du vil slette alle begivenheder? Dine begivenhedstyper og andre indstillinger vil forblive intakte.</string>
<string name="show_a_grid">Vis i tern</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
Adgang til kontaktpersoner er nødvendig hvis du vil importere fødselsdage.
Denne app er en enkelt del af en større serie apps. Du kan finde dem alle på siden http://www.simplemobiletools.com
Denne app er en enkelt del af en større serie apps. Du kan finde dem alle på siden https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Termin erfolgreich aktualisiert</string>
<string name="filter_events_by_type">Sortiere Termine nach Typ</string>
<string name="please_fill_location">Bitte trage einen Ort ein, der auf einer Karte angezeigt werden soll</string>
<string name="public_event_notification_text">Ein Termin steht an</string>
<!-- Event Repetition -->
<string name="repetition">Wiederholung</string>
@ -89,7 +90,6 @@
<!-- Event Reminders -->
<string name="reminder">Erinnerung</string>
<string name="tomorrow">Morgen</string>
<string name="before">vorher</string>
<string name="add_another_reminder">Füge eine weitere Erinnerung hinzu</string>
<string name="event_reminders">Ereignis Erinnerungen</string>
@ -131,7 +131,7 @@
<string name="add_holidays">Feiertage hinzufügen</string>
<string name="national_holidays">Nationale Feiertage</string>
<string name="religious_holidays">Religiöse Feiertage</string>
<string name="holidays_imported_successfully">Feiertage wurden erfolgreich in einen neuen Termintypen importiert</string>
<string name="holidays_imported_successfully">Feiertage sind erfolgreich in den \"Feiertage\"-Termintyp importiert worden</string>
<string name="importing_some_holidays_failed">Importieren einiger Termine fehlgeschlagen</string>
<string name="importing_holidays_failed">Importieren von Feiertagen fehlgeschlagen</string>
@ -151,6 +151,7 @@
<string name="replace_description_with_location">Ersetze Terminbeschreibung mit Ort</string>
<string name="delete_all_events">Alle Termine löschen</string>
<string name="delete_all_events_confirmation">Bist du sicher, dass du alle Termine löschen willst? Deine Termintypen und Einstellungen bleiben erhalten.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -207,7 +208,7 @@
Die Kontakte-Berechtigung wird nur für das Importieren von Geburtstagen benötigt.
Diese App ist nur eine aus einer größeren Serie von schlichten Apps. Der Rest davon findet sich auf http://www.simplemobiletools.com
Diese App ist nur eine aus einer größeren Serie von schlichten Apps. Der Rest davon findet sich auf https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">El evento se ha actualizado con éxito</string>
<string name="filter_events_by_type">Filtrar eventos según tipo</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Repetición</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Añadir festivos</string>
<string name="national_holidays">Fiestas nacionales</string>
<string name="religious_holidays">Fiestas regionales</string>
<string name="holidays_imported_successfully">Los días festivos se han importado correctamente a un nuevo tipo de evento</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Ha habido un fallo al importar eventos</string>
<string name="importing_holidays_failed">Ha habido un fallo al importar días festivos</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
El permiso de contactos se usa sólo para importar los cumpleaños de los contactos.
Esta aplicación es sólo una parte de una mayor serie de aplicaciones. Puede encontrar el resto en http://www.simplemobiletools.com
Esta aplicación es sólo una parte de una mayor serie de aplicaciones. Puede encontrar el resto en https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Événement ajouté avec succès</string>
<string name="filter_events_by_type">Filtrer les événements par type</string>
<string name="please_fill_location">Veuillez remplir un emplacement pour être affiché sur une carte</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Répétition</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Ajouter des jours fériés</string>
<string name="national_holidays">Jours fériés nationaux</string>
<string name="religious_holidays">Jours fériés religieux</string>
<string name="holidays_imported_successfully">Les jours fériés ont été importés dans un nouveau type d\'événement avec succès</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">L\'import de certains événements a échoué</string>
<string name="importing_holidays_failed">L\'import des jours fériés a échoué</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Remplacer la description de l\'événement par l\'emplacement</string>
<string name="delete_all_events">Supprimer tous les événements</string>
<string name="delete_all_events_confirmation">Êtes-vous sûr de vouloir supprimer tous les événements ? Cela laissera vos types d\'événements et autres paramètres intacts.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
La permission Contacts ne sert qu\'à importer l\'anniversaire de vos contacts.
Cette application est juste une pièce d\'une plus grosse série d\'applications. Vous pouvez trouver le reste de celles-ci à http://www.simplemobiletools.com
Cette application est juste une pièce d\'une plus grosse série d\'applications. Vous pouvez trouver le reste de celles-ci à https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">O evento foi actualizado correctamente</string>
<string name="filter_events_by_type">Filtrar eventos por tipo</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Repetición</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Engadir días festivos</string>
<string name="national_holidays">Festivo nacional</string>
<string name="religious_holidays">Festas relixiosas</string>
<string name="holidays_imported_successfully">Engadíronse correctamente os días festivos nun novo tipo de evento</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Fallou a importación de algúns eventos</string>
<string name="importing_holidays_failed">Fallou a importación de días festivos</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
O permiso aos Contactos só é preciso se quere importar os cumpleanos dos contactos.
Esta aplicación é parte de unha serie máis grande de aplicativos. Puede atopar o resto en http://www.simplemobiletools.com
Esta aplicación é parte de unha serie máis grande de aplicativos. Puede atopar o resto en https://www.simplemobiletools.com
</string>
<!--

View File

@ -27,6 +27,7 @@
<string name="filter">Filter</string>
<string name="filter_events_by_type">Filter events by type</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">दुहराव</string>
@ -131,7 +132,7 @@
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -151,6 +152,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -206,7 +208,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com
This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com
</string>
<!--

View File

@ -0,0 +1,217 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Jednostavan kalendar</string>
<string name="app_launcher_name">Kalendar</string>
<string name="change_view">Promijeni prikaz</string>
<string name="daily_view">Dnevni pregled</string>
<string name="weekly_view">Tjedni pregled</string>
<string name="monthly_view">Mjesečni pregled</string>
<string name="yearly_view">Godišnji pregled</string>
<string name="simple_event_list">Jednostavan popis događaja</string>
<string name="no_upcoming_events">Izgleda da nemate nadolazećih događaja.</string>
<string name="add_some_events">Možete dodati neke događaje pomoću ikone Plus na dnu.</string>
<string name="go_to_today">Idi na danas</string>
<!-- Widget titles -->
<string name="widget_monthly">Mjesečni raspored</string>
<string name="widget_list">Popis događaja kalendara</string>
<!-- Event -->
<string name="event">Događaj</string>
<string name="edit_event">Uredi događaj</string>
<string name="new_event">Novi događaj</string>
<string name="title_empty">Naslov ne može biti prazan</string>
<string name="end_before_start">Događaj ne može završiti prije nego što počne</string>
<string name="event_added">Događaj je uspješno dodan</string>
<string name="event_updated">Događaj je uspješno ažuriran</string>
<string name="filter_events_by_type">Sortiranje prema vrsti događaja</string>
<string name="please_fill_location">Ispunite lokaciju za prikazivanje na karti</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Ponavljanje</string>
<string name="no_repetition">Nema ponavljanja</string>
<string name="daily">Dnevno</string>
<string name="weekly">Tjedno</string>
<string name="monthly">Mjesečno</string>
<string name="yearly">Godišnje</string>
<string name="weeks_raw">tjedana</string>
<string name="months_raw">mjeseci</string>
<string name="years_raw">godina</string>
<string name="repeat_till">Ponovi do</string>
<string name="forever">Zauvijek</string>
<string name="event_is_repeatable">Događaj je ponovljiv</string>
<string name="selection_contains_repetition">Odabir sadrži ponavljajuće događaje</string>
<string name="delete_one_only">Izbriši samo odabrano ponavljanje</string>
<string name="delete_all_occurrences">Izbriši sva ponavljanja</string>
<string name="update_one_only">Ažuriraj samo odabrano ponavljanje</string>
<string name="update_all_occurrences">Ažuriraj sva ponavljanja</string>
<string name="repeat_till_date">Ponovi do datuma</string>
<string name="repeat_x_times">Ponovi x puta</string>
<string name="repeat_forever">Ponovi zauvijek</string>
<string name="times">puta</string>
<string name="repeat">Ponavljanje</string>
<string name="repeat_on">Ponovi na</string>
<string name="every_day">Svaki dan</string>
<string name="selected_days">Na odabrane dane</string>
<string name="the_same_day">Isti dan</string>
<string name="the_last_day">Zadnji dan</string>
<string name="repeat_on_the_same_day">Ponovi isti dan svaki mjesec</string>
<string name="repeat_on_the_last_day">Ponovi zadnjeg dana u mjesecu</string>
<string name="repeat_every_m">Ponovi svaki</string>
<string name="every_m">Svaki</string>
<string name="first_m">prvi</string>
<string name="second_m">drugi</string>
<string name="third_m">treći</string>
<string name="fourth_m">četvrti</string>
<string name="last_m">peti</string>
<!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
<!-- used in repetition, like "Every first Sunday" -->
<string name="repeat_every_f">Ponovi svaki</string>
<string name="every_f">Svaki</string>
<string name="first_f">prvi</string>
<string name="second_f">drugi</string>
<string name="third_f">treći</string>
<string name="fourth_f">četvrti</string>
<string name="last_f">peti</string>
<!-- Birthdays -->
<string name="birthdays">Rođendani</string>
<string name="add_birthdays">Dodaj rođendane za kontakt</string>
<string name="no_birthdays">Nisu pronađeni rođendani</string>
<string name="birthdays_added">Rođendani su uspješno dodani</string>
<!-- Anniversaries -->
<string name="anniversaries">Obljetnice</string>
<string name="add_anniversaries">Dodaj obljetnice za kontakt</string>
<string name="no_anniversaries">Nisu pronađene obljetnice</string>
<string name="anniversaries_added">Obljetnice uspješno dodane</string>
<!-- Event Reminders -->
<string name="reminder">Podsjetnik</string>
<string name="before">prije</string>
<string name="add_another_reminder">Dodaj još jedan podsjetnik</string>
<string name="event_reminders">Podsjetnici na događaj</string>
<!-- Export / Import -->
<string name="import_events">Uvezi događaje</string>
<string name="export_events">Izvezi događaje</string>
<string name="import_events_from_ics">Uvoz događaja iz .ics datoteke</string>
<string name="export_events_to_ics">Izvoz događaja u .ics datoteku</string>
<string name="default_event_type">Zadani tip događaja</string>
<string name="export_past_events_too">Izvoz prošlih događaja</string>
<string name="include_event_types">Uključi vrste događaja</string>
<string name="filename_without_ics">Naziv datoteke (bez .ics)</string>
<!-- Event details -->
<string name="title">Naslov</string>
<string name="location">Lokacija</string>
<string name="description">Opis</string>
<string name="all_day">Cjelodnevni</string>
<!-- Weekly view -->
<string name="week">Tjedan</string>
<!-- Event types -->
<string name="event_types">Vrste događaja</string>
<string name="add_new_type">Dodaj novu vrstu</string>
<string name="edit_type">Uredi vrstu</string>
<string name="type_already_exists">Događaj s ovim naslovom već postoji</string>
<string name="color">Boja</string>
<string name="regular_event">Redoviti događaj</string>
<string name="cannot_delete_default_type">Zadana vrsta događaja se ne može izbrisati</string>
<string name="select_event_type">Odaberite vrstu događaja</string>
<string name="move_events_into_default">Premjesti zahvaćene događaje u zadanu vrstu događaja</string>
<string name="remove_affected_events">Trajno ukloni zahvaćene događaje</string>
<string name="unsync_caldav_calendar">Da biste uklonili CalDAV kalendar, morate ga desinkronizirati</string>
<!-- Holidays -->
<string name="holidays">Praznici</string>
<string name="add_holidays">Dodaj praznik</string>
<string name="national_holidays">Nacionalni praznici</string>
<string name="religious_holidays">Vjerski praznici</string>
<string name="holidays_imported_successfully">Praznici su uspješno uvezeni u tip događaja \"Praznici\"</string>
<string name="importing_some_holidays_failed">Uvoz nekih događaja nije uspio</string>
<string name="importing_holidays_failed">Uvoz praznika nije uspio</string>
<!-- Settings -->
<string name="manage_event_types">Upravljanje vrstama događaja</string>
<string name="start_day_at">Započni dan u</string>
<string name="end_day_at">Završi dan u</string>
<string name="week_numbers">Pokaži tjedne brojeve</string>
<string name="vibrate">Vibrirajte na obavijesti podsjetnika</string>
<string name="reminder_sound">Zvuk podsjetnika</string>
<string name="no_ringtone_picker">Nije pronađena nijedna aplikacija koja može postaviti zvuk zvona</string>
<string name="no_ringtone_selected">Nijedan</string>
<string name="day_end_before_start">Dan ne može završiti prije nego što počne</string>
<string name="caldav_sync">CalDAV sinkronizacija</string>
<string name="event_lists">Popis događaja</string>
<string name="display_past_events">Prikaži događaje iz prošlosti</string>
<string name="replace_description_with_location">Zamijenite opis događaja s lokacijom</string>
<string name="delete_all_events">Izbriši sve događaje</string>
<string name="delete_all_events_confirmation">Jeste li sigurni da želite izbrisati sve događaje? To će ostaviti Vaše vrste događaja i druge postavke netaknutima.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
<string name="select_caldav_calendars">Odaberi kalendare za sinkronizaciju</string>
<string name="manage_synced_calendars">Upravljanje sinkroniziranim kalendarima</string>
<string name="store_locally_only">Pohrani samo lokalno</string>
<string name="refresh_caldav_calendars">Osvježi CalDAV kalendare</string>
<string name="refreshing">Osvježavanje...</string>
<string name="refreshing_complete">Osvježavanje završeno</string>
<string name="editing_calendar_failed">Uređivanje kalendara nije uspjelo</string>
<string name="syncing">Sinkronizacija...</string>
<string name="synchronization_completed">Sinkronizacija završena</string>
<!-- alternative versions for some languages, use the same translations if you are not sure what this means -->
<!-- used in repetition, like "Every last Sunday" -->
<string name="monday_alt">Ponedjeljak</string>
<string name="tuesday_alt">Utorak</string>
<string name="wednesday_alt">Srijeda</string>
<string name="thursday_alt">Četvrtak</string>
<string name="friday_alt">Petak</string>
<string name="saturday_alt">Subota</string>
<string name="sunday_alt">Nedjelja</string>
<!-- List widget config example events -->
<string name="sample_title_1">Trening</string>
<string name="sample_description_1">Vježbanje nogu</string>
<string name="sample_title_2">Sastanak s Ivanom</string>
<string name="sample_description_2">U vrtu Rockstone</string>
<string name="sample_title_3">Knjižnica</string>
<string name="sample_title_4">Ručak s Marijom</string>
<string name="sample_description_4">U Plaza</string>
<string name="sample_title_5">Vrijeme za kavu</string>
<!-- FAQ -->
<string name="faq_1_title">Kako mogu ukloniti praznike uvezene putem gumba \"Dodaj praznik\"?</string>
<string name="faq_1_text">Praznik koji je stvoren na taj način umetnut je u novu vrstu događaja pod nazivom \"Praznici\". Možete otići u Postavke -> Upravljanje vrstama događaja,
dugo pritisnite datu vrstu događaja i izbrišite ga odabirom koša za smeće.</string>
<string name="faq_2_title">Mogu li sinkronizirati događaje putem Google Kalendara ili druge usluge koje podržavaju CalDAV?</string>
<string name="faq_2_text">Da, samo uključite \"CalDAV sinkronizacija\" u postavkama aplikacije i odaberite kalendare koje želite sinkronizirati. Međutim, potrebna je aplikacija između Vašeg uređaja i poslužitelja.
U slučaju da želite sinkronizirati Google kalendar, njihova službena aplikacija Kalendar obavlja navedeni posao. Za ostale kalendare potreban Vam je aplikacija treće strane za upravljanje sinkronizacijom, na primjer DAVdroid.</string>
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->
<string name="app_short_description">Jednostavan kalendar s događajima, prilagodljivim widget i bez oglasa.</string>
<string name="app_long_description">
Jednostavan kalendar s dodatnom CalDAV sinkronizacijom. Možete jednostavno stvoriti ponavljajuće događaje i postaviti podsjetnike, također je moguće prikazati tjedne brojeve.
Sadrži mjesečni prikaz i widget s popisom događaja gdje možete prilagoditi boju teksta, kao i transparentnost te boju pozadine.
Ne sadrži oglase ili nepotrebne dozvole. Aplikacije je otvorenog koda, pruža prilagodljive boje.
Dopuštenje za pohranu podataka potrebna je samo za izvoz ili uvoz događaja iz .ics datoteka.
Dopuštenje za kontakte upotrebljava se samo pri uvozu rođendana i obljetnica kontakata.
Ova je aplikacija samo dio većeg broja aplikacija. Možete pronaći ostatak na https://www.simplemobiletools.com
</string>
<!--
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>

View File

@ -26,6 +26,7 @@
<string name="event_updated">Bejegyzés frissítve</string>
<string name="filter_events_by_type">Filter events by type</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Ismétlés</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
Ez az alkalmazás egy nagyobb alkalmazás-sorozat része. A továbbiak itt találhatók: http://www.simplemobiletools.com
Ez az alkalmazás egy nagyobb alkalmazás-sorozat része. A továbbiak itt találhatók: https://www.simplemobiletools.com
</string>
<!--

View File

@ -3,18 +3,18 @@
<string name="app_name">Simple Calendar</string>
<string name="app_launcher_name">Calendario</string>
<string name="change_view">Cambia vista</string>
<string name="daily_view">Daily view</string>
<string name="daily_view">Vista giornaliera</string>
<string name="weekly_view">Vista settimanale</string>
<string name="monthly_view">Vista Mensile</string>
<string name="monthly_view">Vista mensile</string>
<string name="yearly_view">Vista annuale</string>
<string name="simple_event_list">Simple event list</string>
<string name="no_upcoming_events">Seems like you don\'t have any upcoming events.</string>
<string name="add_some_events">You can add some with the Plus button at the bottom.</string>
<string name="go_to_today">Go to today</string>
<string name="simple_event_list">Lista eventi semplice</string>
<string name="no_upcoming_events">Sembra che tu non abbia nessun evento imminente.</string>
<string name="add_some_events">Puoi aggiungerne qualcuno con il bottone \'+\' in basso.</string>
<string name="go_to_today">Vai a oggi</string>
<!-- Widget titles -->
<string name="widget_monthly">Calendario mensile</string>
<string name="widget_list">Calendar event list</string>
<string name="widget_list">Lista eventi calendario</string>
<!-- Event -->
<string name="event">Evento</string>
@ -26,6 +26,7 @@
<string name="event_updated">Evento aggiornato correttamente</string>
<string name="filter_events_by_type">Filtra eventi per tipologia</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Ripeti</string>
@ -33,7 +34,7 @@
<string name="daily">Giornalmente</string>
<string name="weekly">Settimanalmente</string>
<string name="monthly">Mensilmente</string>
<string name="yearly">Annulamente</string>
<string name="yearly">Annualmente</string>
<string name="weeks_raw">Settimane</string>
<string name="months_raw">Mesi</string>
<string name="years_raw">Anni</string>
@ -45,10 +46,10 @@
<string name="delete_all_occurrences">Elimina tutte le occorrenze</string>
<string name="update_one_only">Aggiorna solamente l\'occorenza selezionata</string>
<string name="update_all_occurrences">Aggiorna tutte le occorenze</string>
<string name="repeat_till_date">Repeat till a date</string>
<string name="repeat_till_date">Ripeti fino a una data</string>
<string name="repeat_x_times">Ripeti x volte</string>
<string name="repeat_forever">Ripeti per sempre</string>
<string name="times">times</string>
<string name="times">volte</string>
<string name="repeat">Ripeti</string>
<string name="repeat_on">Repeat on</string>
<string name="every_day">Ogni giorno</string>
@ -76,80 +77,81 @@
<string name="last_f">last</string>
<!-- Birthdays -->
<string name="birthdays">Birthdays</string>
<string name="add_birthdays">Add contact birthdays</string>
<string name="no_birthdays">No birthdays have been found</string>
<string name="birthdays_added">Birthdays added successfully</string>
<string name="birthdays">Compleanni</string>
<string name="add_birthdays">Aggiungi compleanni contatti</string>
<string name="no_birthdays">Nessun compleanno trovato</string>
<string name="birthdays_added">Compleanni aggiunti con successo</string>
<!-- Anniversaries -->
<string name="anniversaries">Anniversaries</string>
<string name="add_anniversaries">Add contact anniversaries</string>
<string name="no_anniversaries">No anniversaries have been found</string>
<string name="anniversaries_added">Anniversaries added successfully</string>
<string name="anniversaries">Anniversari</string>
<string name="add_anniversaries">Aggiungi anniversari contatti</string>
<string name="no_anniversaries">Nessun anniversario trovato</string>
<string name="anniversaries_added">Anniversari aggiunti con successo</string>
<!-- Event Reminders -->
<string name="reminder">Promemoria</string>
<string name="before">before</string>
<string name="add_another_reminder">Add another reminder</string>
<string name="event_reminders">Event reminders</string>
<string name="before">prima</string>
<string name="add_another_reminder">Aggiungi un altro promemoria</string>
<string name="event_reminders">Promemoria eventi</string>
<!-- Export / Import -->
<string name="import_events">Import events</string>
<string name="export_events">Export events</string>
<string name="import_events_from_ics">Import events from an .ics file</string>
<string name="export_events_to_ics">Export events to an .ics file</string>
<string name="default_event_type">Default event type</string>
<string name="export_past_events_too">Export past events too</string>
<string name="include_event_types">Include event types</string>
<string name="filename_without_ics">Filename (without .ics)</string>
<string name="import_events">Importa eventi</string>
<string name="export_events">Esporta eventi</string>
<string name="import_events_from_ics">Importa eventi da un file .ics</string>
<string name="export_events_to_ics">Esporta eventi in un file .ics</string>
<string name="default_event_type">Tipo evento predefinito</string>
<string name="export_past_events_too">Esporta anche eventi passati</string>
<string name="include_event_types">Includi tipi evento</string>
<string name="filename_without_ics">Nome file (senza .ics)</string>
<!-- Event details -->
<string name="title">Titolo</string>
<string name="location">Location</string>
<string name="location">Posizione</string>
<string name="description">Descrizione</string>
<string name="all_day">All-day</string>
<!-- Weekly view -->
<string name="week">Week</string>
<string name="week">Settimana</string>
<!-- Event types -->
<string name="event_types">Event types</string>
<string name="add_new_type">Add a new type</string>
<string name="edit_type">Edit type</string>
<string name="type_already_exists">Type with this title already exists</string>
<string name="color">Color</string>
<string name="regular_event">Regular event</string>
<string name="cannot_delete_default_type">Default event type cannot be deleted</string>
<string name="select_event_type">Select an event type</string>
<string name="event_types">Tipi evento</string>
<string name="add_new_type">Aggiungi nuovo tipo</string>
<string name="edit_type">Modifica tipo</string>
<string name="type_already_exists">Un tipo con questo titolo esiste già</string>
<string name="color">Colore</string>
<string name="regular_event">Evento regolare</string>
<string name="cannot_delete_default_type">Il tipo di evento predefinito non può essere cancellato</string>
<string name="select_event_type">Seleziona un tipo di evento</string>
<string name="move_events_into_default">Move affected events into the default event type</string>
<string name="remove_affected_events">Permanently remove affected events</string>
<string name="unsync_caldav_calendar">To remove a CalDAV calendar you have to unsynchronize it</string>
<string name="unsync_caldav_calendar">Per rimuovere un calendario CalDAV devi desincronizzarlo</string>
<!-- Holidays -->
<string name="holidays">Holidays</string>
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
<string name="holidays">Feste</string>
<string name="add_holidays">Aggiungi feste</string>
<string name="national_holidays">Feste nazionali</string>
<string name="religious_holidays">Feste religiose</string>
<string name="holidays_imported_successfully">Le feste sono state importate nel tipo evento \"Feste\" con successo</string>
<string name="importing_some_holidays_failed">Importo di alcuni eventi fallito</string>
<string name="importing_holidays_failed">Importo delle feste fallito</string>
<!-- Settings -->
<string name="manage_event_types">Manage event types</string>
<string name="manage_event_types">Gestisci tipi evento</string>
<string name="start_day_at">Start day at</string>
<string name="end_day_at">End day at</string>
<string name="week_numbers">Show week numbers</string>
<string name="week_numbers">Mostra numero settimane</string>
<string name="vibrate">Vibrate on reminder notification</string>
<string name="reminder_sound">Reminder sound</string>
<string name="reminder_sound">Suoneria promemoria</string>
<string name="no_ringtone_picker">No app capable of setting ringtone found</string>
<string name="no_ringtone_selected">None</string>
<string name="day_end_before_start">The day cannot end earlier than it starts</string>
<string name="day_end_before_start">Il giorno non può finire prima che cominci</string>
<string name="caldav_sync">CalDAV sync</string>
<string name="event_lists">Event lists</string>
<string name="display_past_events">Display events from the past</string>
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="display_past_events">Mostra eventi passati</string>
<string name="replace_description_with_location">Sostituisci la descrizione con la posizione</string>
<string name="delete_all_events">Cancella tutti gli eventi</string>
<string name="delete_all_events_confirmation">Vuoi cancellare tutti gli eventi? Questo lascerà i tuoi tipi evento e le altre impostazioni invariate.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com
This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com
</string>
<!--

View File

@ -27,6 +27,7 @@
<string name="filter">Filter</string>
<string name="filter_events_by_type">Filter events by type</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Repetition</string>
@ -131,7 +132,7 @@
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -151,6 +152,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -195,7 +197,7 @@
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
<!-- Short description has to have less than 80 chars -->
<string name="app_short_description">לוח שנה פשוט עם אירועים, וויג\'ט בעיצוב אישי וללא פרסומות</string>
<string name="app_long_description">לוח שנה אוף-ליין ללא כל אינטגרציה עם לוח שנה אחר. אפשר בקלות ליצור אירועים מחזוריים ותזכורות אליהם. יש אפשרות להציג את מספרי השבועות. מכיל וויג\'ט 4×4 שניתן להתאים אישית את גודלו, צבע הטקסט והרקע שלו, ושקיפותו. אין פרסומות או דרישות להרשאות בלתי-נחוצות. קוד המקור לגמרי פתוח, וניתן לעצב את צבעי הממשק.\nאפליקציה זו היא רק פיסה אחת מתוך סדרה גדולה יותר של אפליקציות. ניתן למצוא את השאר בכתובת http://www.simplemobiletools.com</string>
<string name="app_long_description">לוח שנה אוף-ליין ללא כל אינטגרציה עם לוח שנה אחר. אפשר בקלות ליצור אירועים מחזוריים ותזכורות אליהם. יש אפשרות להציג את מספרי השבועות. מכיל וויג\'ט 4×4 שניתן להתאים אישית את גודלו, צבע הטקסט והרקע שלו, ושקיפותו. אין פרסומות או דרישות להרשאות בלתי-נחוצות. קוד המקור לגמרי פתוח, וניתן לעצב את צבעי הממשק.\nאפליקציה זו היא רק פיסה אחת מתוך סדרה גדולה יותר של אפליקציות. ניתן למצוא את השאר בכתובת https://www.simplemobiletools.com</string>
<!--
Haven't found some strings? There's more at

View File

@ -26,6 +26,7 @@
<string name="event_updated">イベントを正常に更新しました</string>
<string name="filter_events_by_type">Filter events by type</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">繰り返し</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
このアプリは、大きな一連のアプリの一つです。 他のアプリは http://www.simplemobiletools.com で見つけることができます
このアプリは、大きな一連のアプリの一つです。 他のアプリは https://www.simplemobiletools.com で見つけることができます
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">이벤트를 수정했습니다</string>
<string name="filter_events_by_type">유형별 이벤트</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">반복</string>
@ -130,7 +131,7 @@
<string name="add_holidays">공휴일 추가</string>
<string name="national_holidays">국경일</string>
<string name="religious_holidays">종교 휴일</string>
<string name="holidays_imported_successfully">공휴일을 새 이벤트 유형으로 가져왔습니다</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">일부 이벤트를 가져오지 못했습니다</string>
<string name="importing_holidays_failed">공휴일을 가져오는데 실패했습니다</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
이 앱은 더 큰 시리즈의 앱들 중 하나입니다. 나머지는 http://www.simplemobiletools.com 에서 찾을 수 있습니다.
이 앱은 더 큰 시리즈의 앱들 중 하나입니다. 나머지는 https://www.simplemobiletools.com 에서 찾을 수 있습니다.
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Įvykis atnaujintas sėkmingai</string>
<string name="filter_events_by_type">Filtruoti įvykius pagal tipą</string>
<string name="please_fill_location">Prašome įvesti vietą, kad būtų rodoma žemėlapyje</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Pasikartojimas</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Įtraukti atostogas</string>
<string name="national_holidays">Nacionalinės atostogos</string>
<string name="religious_holidays">Religinės atostogos</string>
<string name="holidays_imported_successfully">Atostogos sėkmingai importuotos į naujo įvykio tipą</string>
<string name="holidays_imported_successfully">Atostogos buvo sėkmingai importuotos į \"Atostogos\" įvykio tipą</string>
<string name="importing_some_holidays_failed">Kai kurių įvykių importavimas nepavyko</string>
<string name="importing_holidays_failed">Atostogų importavimas nepavyko</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Pakeisti įvykio apibūdinimą į įvykio vietą</string>
<string name="delete_all_events">Ištrinti visus įvykius</string>
<string name="delete_all_events_confirmation">Ar Jūs tikrai norite ištrinti visus įvykius? Tai neištrins įvykių tipų ir kitų nustatymų.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -203,9 +205,9 @@
Saugyklos leidimas reikalingas tik eksportuoti ir importuoti įvykius iš .ics bylų.
Contaktų leidimas naudojamas tik importuoti kontaktų gimtadienius ir sukaktis.
Kontaktų leidimas naudojamas tik importuoti kontaktų gimtadienius ir sukaktis.
Ši programėle yra vienintelė iš keletos mūsų programėlių. Likusias Jūs galite rasti čia http://www.simplemobiletools.com
Ši programėle yra viena iš keletos mūsų programėlių. Likusias Jūs galite rasti čia https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Hendelse vellykket oppdatert</string>
<string name="filter_events_by_type">Filtrer hendelser etter type</string>
<string name="please_fill_location">Oppfør et sted som skal vises på et kart</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Gjentagelse</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Legg til off. fridager</string>
<string name="national_holidays">Nasjonale off. fridager</string>
<string name="religious_holidays">Religiøse off. fridager</string>
<string name="holidays_imported_successfully">Off. fridager er vellykket importert til en ny hendelsestype</string>
<string name="holidays_imported_successfully">Off. fridager er vellykket importert til hendelsestypen \"Off. fridager\"</string>
<string name="importing_some_holidays_failed">Importering av noen hendelser feilet</string>
<string name="importing_holidays_failed">Importering av off. fridager feilet</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Erstatt hendelsesbeskrivelse med sted</string>
<string name="delete_all_events">Slett alle hendelser</string>
<string name="delete_all_events_confirmation">Er du sikker på at du vil slette alle hendelser? Dine hendelsestyper og andre innstillinger blir beholdt.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com
This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Afspraak bijgewerkt</string>
<string name="filter_events_by_type">Afspraken op type filteren</string>
<string name="please_fill_location">Vul de locatie in om deze op de kaart te tonen</string>
<string name="public_event_notification_text">Afspraak aanstaande</string>
<!-- Event Repetition -->
<string name="repetition">Herhaling</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Feestdagen toevoegen</string>
<string name="national_holidays">Nationale feestdagen</string>
<string name="religious_holidays">Religieuze feestdagen</string>
<string name="holidays_imported_successfully">Feestdagen geïmporteerd als nieuw afspraaktype</string>
<string name="holidays_imported_successfully">De feestdagen zijn geïmporteerd onder afspraaktype \"Feestdagen\"</string>
<string name="importing_some_holidays_failed">Sommige feestdagen konden niet worden geïmporteerd</string>
<string name="importing_holidays_failed">Fout bij importeren van feestdagen</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Beschrijving vervangen door locatie van afspraken</string>
<string name="delete_all_events">Alle afspraken verwijderen</string>
<string name="delete_all_events_confirmation">Alle afspraken verwijderen? Afspraaktypes en andere instellingen blijven behouden.</string>
<string name="show_a_grid">Rasterlijnen tonen</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
De machtiging voor contacten wordt alleen gebruikt voor het importeren van verjaardagen en feestdagen.
Deze app is onderdeel van een grotere verzameling. Vind de andere apps op http://www.simplemobiletools.com
Deze app is onderdeel van een grotere verzameling. Vind de andere apps op https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Hendelse vellykket oppdatert</string>
<string name="filter_events_by_type">Filtrer hendelser etter type</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Gjentagelse</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Legg til off. fridager</string>
<string name="national_holidays">Nasjonale off. fridager</string>
<string name="religious_holidays">Religiøse off. fridager</string>
<string name="holidays_imported_successfully">Off. fridager er vellykket importert til en ny hendelsestype</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importering av noen hendelser feilet</string>
<string name="importing_holidays_failed">Importering av off. fridager feilet</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com
This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Wydarzenie zostało zaktualizowane</string>
<string name="filter_events_by_type">Filtruj wydarzenia według typu</string>
   <string name="please_fill_location">Wpisz lokalizację, która ma być pokazana na mapie</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Powtórzenie</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Dodaj święto</string>
<string name="national_holidays">Święta państwowe</string>
<string name="religious_holidays">Święta religijne</string>
<string name="holidays_imported_successfully">Święta zostały pomyślnie zaimportowane do nowego typu wydarzeń</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importowanie niektórych świąt nie powiodło się</string>
<string name="importing_holidays_failed">Importowanie świąt nie powiodło się</string>
@ -150,6 +151,7 @@
   <string name="replace_description_with_location">Zamieniaj opis wydarzenia na lokalizację</string>
   <string name="delete_all_events">Usuń wszystkie wydarzenia</string>
   <string name="delete_all_events_confirmation">Czy na pewno mam usunąć wszystkie wydarzenia? Nie naruszy to typów wydarzeń i innych ustawień.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -203,7 +205,7 @@
Uprawnienia kontaktów są używane tylko do importowania urodzin.
Niniejsza aplikacja jest tylko częścią naszej kolekcji prostych narzędzi. Ta, jak i pozostałe, dostępne są na stronie http://www.simplemobiletools.com
Niniejsza aplikacja jest tylko częścią naszej kolekcji prostych narzędzi. Ta, jak i pozostałe, dostępne są na stronie https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Evento atualizado com sucesso</string>
<string name="filter_events_by_type">Filtrar eventos por tipo</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Repetição</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
Este aplicativo é apenas parte de um conjunto mais vasto de aplicações. Saiba mais em http://www.simplemobiletools.com
Este aplicativo é apenas parte de um conjunto mais vasto de aplicações. Saiba mais em https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Evento atualizado com sucesso</string>
<string name="filter_events_by_type">Filtrar eventos por tipo</string>
<string name="please_fill_location">Introduza a localização para a mostrar no maps</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Repetição</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Adicionar feriados</string>
<string name="national_holidays">Feriados nacionais</string>
<string name="religious_holidays">Feriados religiosos</string>
<string name="holidays_imported_successfully">Os feriados foram importados para um novo tipo de evento</string>
<string name="holidays_imported_successfully">Os feriados foram adicionados com sucesso para o tipo de evento \"Feriados\"</string>
<string name="importing_some_holidays_failed">Alguns eventos não foram importados</string>
<string name="importing_holidays_failed">Falha ao importar os feriados</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Substituir descrição pela localização do evento</string>
<string name="delete_all_events">Apagar todos os eventos</string>
<string name="delete_all_events_confirmation">Tem a certeza de que deseja apagar todos os eventos? Esta ação não afeta os tipos de eventos nem as outras definições.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
A permissão aos contactos apenas é utilizada para importar os aniversários.
Esta aplicação é apenas parte de um conjunto mais vasto de aplicações. Saiba mais em http://www.simplemobiletools.com
Esta aplicação é apenas parte de um conjunto mais vasto de aplicações. Saiba mais em https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Событие успешно обновлено</string>
<string name="filter_events_by_type">Фильтровать события по типу</string>
<string name="please_fill_location">Пожалуйста, введите место, которое будет показано на карте</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Повторять</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Добавить праздники</string>
<string name="national_holidays">Национальные праздники</string>
<string name="religious_holidays">Религиозные праздники</string>
<string name="holidays_imported_successfully">Праздники были успешно импортированы в новый тип событий</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Не удалось импортировать некоторые события</string>
<string name="importing_holidays_failed">Не удалось импортировать праздники</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Заменить описание события местоположением</string>
<string name="delete_all_events">Удалить все события</string>
<string name="delete_all_events_confirmation">Вы действительно хотите удалить все события? Это не затронет ваши типы событий и другие настройки.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
Разрешение на чтение контактов требуется только при импорте дней рождения.
Это приложение является лишь частью крупной серии приложений. Вы можете найти остальные на http://www.simplemobiletools.com
Это приложение является лишь частью крупной серии приложений. Вы можете найти остальные на https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Udalosť bola úspešne upravená</string>
<string name="filter_events_by_type">Filtrovať udalosti podľa typu</string>
<string name="please_fill_location">Prosím zadajte polohu, ktorá má byť zobrazená na mape</string>
<string name="public_event_notification_text">Blíži sa udalosť</string>
<!-- Event Repetition -->
<string name="repetition">Opakovanie</string>
@ -121,9 +122,6 @@
<string name="regular_event">Bežná udalosť</string>
<string name="cannot_delete_default_type">Predvolený typ nie je možné vymazať</string>
<string name="select_event_type">Zvoľte typ udalosti</string>
<string name="holidays_imported_successfully">Sviatky boli úspešne importované do nového typu udalostí</string>
<string name="importing_some_holidays_failed">Importovanie niektorých sviatkov zlyhalo</string>
<string name="importing_holidays_failed">Importovanie udalostí zlyhalo</string>
<string name="move_events_into_default">Presunúť dotknuté udalosti do predvoleného typu udalostí</string>
<string name="remove_affected_events">Natrvalo odstrániť dotknuté udalosti</string>
<string name="unsync_caldav_calendar">Na odstránenie CalDAV kalendára musíte vypnúť jeho synchronizáciu</string>
@ -133,6 +131,9 @@
<string name="add_holidays">Pridať sviatky</string>
<string name="national_holidays">Štátne sviatky</string>
<string name="religious_holidays">Náboženské sviatky</string>
<string name="holidays_imported_successfully">Sviatky boli úspešne importované do nového typu udalostí \"Sviatky\"</string>
<string name="importing_some_holidays_failed">Importovanie niektorých sviatkov zlyhalo</string>
<string name="importing_holidays_failed">Importovanie udalostí zlyhalo</string>
<!-- Settings -->
<string name="manage_event_types">Spravovať typy udalostí</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Nahradiť popis udalosti miestom</string>
<string name="delete_all_events">Odstrániť všetky udalosti</string>
<string name="delete_all_events_confirmation">Ste si istý, že chcete odstrániť všetky udalosti? Všetky typy udalostí a nastavenia ostanú nedotknuté.</string>
<string name="show_a_grid">Zobraziť mriežku</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
Oprávnenie ku kontaktom je používané iba pri pridávaní narodenín alebo výročí kontaktov.
Táto aplikácia je iba jednou zo skupiny aplikácií. Ostatné viete nájsť na http://www.simplemobiletools.com
Táto aplikácia je iba jednou zo skupiny aplikácií. Ostatné viete nájsť na https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Händelsen har uppdaterats</string>
<string name="filter_events_by_type">Filtrera händelser efter typ</string>
<string name="please_fill_location">Du måste ange en plats som kan visas på en karta</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Upprepning</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Lägg till helgdagar</string>
<string name="national_holidays">Nationella helgdagar</string>
<string name="religious_holidays">Religiösa helgdagar</string>
<string name="holidays_imported_successfully">Helgdagar har importerats till en ny händelsetyp</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Vissa händelser kunde inte importeras</string>
<string name="importing_holidays_failed">Helgdagar kunde inte importeras</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Ersätt händelsebeskrivning med plats</string>
<string name="delete_all_events">Ta bort alla händelser</string>
<string name="delete_all_events_confirmation">Är du säker på att du vill ta bort alla händelser? Dina händelsetyper och andra inställningar påverkas inte av borttagningen.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
Kontaktbehörigheten används bara för att importera kontakters födelsedagar och årsdagar.
Denna app är bara en del av en större serie appar. Du hittar resten av dem på http://www.simplemobiletools.com
Denna app är bara en del av en större serie appar. Du hittar resten av dem på https://www.simplemobiletools.com
</string>
<!--

View File

@ -26,6 +26,7 @@
<string name="event_updated">Etkinlik başarıyla güncellendi</string>
<string name="filter_events_by_type">Etkinlikleri türe göre filtreleyin</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Tekrarla</string>
@ -130,7 +131,7 @@
<string name="add_holidays">Tatil ekle</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
Bu uygulama, daha büyük bir uygulama serisinden sadece bir parça. Geri kalanını şu adresten bulabilirsiniz: http://www.simplemobiletools.com
Bu uygulama, daha büyük bir uygulama serisinden sadece bir parça. Geri kalanını şu adresten bulabilirsiniz: https://www.simplemobiletools.com
</string>
<!--

View File

@ -8,7 +8,7 @@
<string name="monthly_view">月曆</string>
<string name="yearly_view">年曆</string>
<string name="simple_event_list">簡易活動列表</string>
<string name="no_upcoming_events">看來你近期沒有任何活動。</string>
<string name="no_upcoming_events">你近期似乎沒有任何活動。</string>
<string name="add_some_events">你可以用底部的[加號]按鈕添加一些活動。</string>
<string name="go_to_today">前往今天</string>
@ -26,6 +26,7 @@
<string name="event_updated">活動更新成功</string>
<string name="filter_events_by_type">依類型篩選活動</string>
<string name="please_fill_location">請填入要顯示在地圖上的地點</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">重複</string>
@ -130,7 +131,7 @@
<string name="add_holidays">添加節日</string>
<string name="national_holidays">國定節日</string>
<string name="religious_holidays">宗教節日</string>
<string name="holidays_imported_successfully">節日成功匯入活動類型</string>
<string name="holidays_imported_successfully">節日成功匯入"節日"活動類型</string>
<string name="importing_some_holidays_failed">匯入一些活動失敗</string>
<string name="importing_holidays_failed">匯入節日失敗</string>
@ -150,6 +151,7 @@
<string name="replace_description_with_location">活動描述改成地點</string>
<string name="delete_all_events">刪除全部活動</string>
<string name="delete_all_events_confirmation">你確定要刪除全部活動嗎?會完整留下你的活動類型和其他設定。</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -205,7 +207,7 @@
聯絡人權限只是用來匯入聯絡人生日和紀念日。
這程式只是一系列眾多應用程式的其中一項,你可以在這發現更多 http://www.simplemobiletools.com
這程式只是一系列眾多應用程式的其中一項,你可以在這發現更多 https://www.simplemobiletools.com
</string>
<!--

View File

@ -2,6 +2,7 @@
<resources>
<!-- Release notes -->
<string name="release_117">Reworked custom notification sound picking, should be more reliable</string>
<string name="release_98">
Added a Location field\n
Allow adding Contact birthdays

View File

@ -26,6 +26,7 @@
<string name="event_updated">Event updated successfully</string>
<string name="filter_events_by_type">Filter events by type</string>
<string name="please_fill_location">Please fill in a location to be shown on a map</string>
<string name="public_event_notification_text">An event is upcoming</string>
<!-- Event Repetition -->
<string name="repetition">Repetition</string>
@ -89,7 +90,6 @@
<!-- Event Reminders -->
<string name="reminder">Reminder</string>
<string name="tomorrow">Tomorrow</string>
<string name="before">before</string>
<string name="add_another_reminder">Add another reminder</string>
<string name="event_reminders">Event reminders</string>
@ -131,7 +131,7 @@
<string name="add_holidays">Add holidays</string>
<string name="national_holidays">National holidays</string>
<string name="religious_holidays">Religious holidays</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into a new event type</string>
<string name="holidays_imported_successfully">Holidays have been successfully imported into the \"Holidays\" event type</string>
<string name="importing_some_holidays_failed">Importing some events failed</string>
<string name="importing_holidays_failed">Importing holidays failed</string>
@ -151,6 +151,7 @@
<string name="replace_description_with_location">Replace event description with location</string>
<string name="delete_all_events">Delete all events</string>
<string name="delete_all_events_confirmation">Are you sure you want to delete all events? This will leave your event types and other settings intact.</string>
<string name="show_a_grid">Show a grid</string>
<!-- CalDAV sync -->
<string name="caldav">CalDAV</string>
@ -206,7 +207,7 @@
The Contacts permission is used only at importing contact birthdays and anniversaries.
This app is just one piece of a bigger series of apps. You can find the rest of them at http://www.simplemobiletools.com
This app is just one piece of a bigger series of apps. You can find the rest of them at https://www.simplemobiletools.com
</string>
<!--

Some files were not shown because too many files have changed in this diff Show More