diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ find_package(ECM 5.42.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) +set(CMAKE_AUTORCC ON) include(GenerateExportHeader) include(ECMGenerateHeaders) @@ -40,8 +41,6 @@ add_subdirectory(autotests) endif() -add_subdirectory(holidays) - if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ecm_install_po_files_as_qm(po) endif() diff --git a/holidays/CMakeLists.txt b/holidays/CMakeLists.txt deleted file mode 100644 --- a/holidays/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -install(DIRECTORY plan2 DESTINATION ${KDE_INSTALL_DATADIR_KF5}/libkholidays PATTERN "*~" EXCLUDE) diff --git a/holidays/holidays.qrc b/holidays/holidays.qrc new file mode 100644 --- /dev/null +++ b/holidays/holidays.qrc @@ -0,0 +1,122 @@ + + + plan2/holiday_ar_es + plan2/holiday_at_de + plan2/holiday_au-act_en-gb + plan2/holiday_au-nsw_en-gb + plan2/holiday_au-nt_en-gb + plan2/holiday_au-qld_en-gb + plan2/holiday_au-sa_en-gb + plan2/holiday_au-tas_en-gb + plan2/holiday_au-vic_en-gb + plan2/holiday_au-wa_en-gb + plan2/holiday_ba-srp_sr + plan2/holiday_ba-srp_sr@ijekavian + plan2/holiday_ba-srp_sr@ijekavianlatin + plan2/holiday_ba-srp_sr@latin + plan2/holiday_bb_en-gb + plan2/holiday_be_fr + plan2/holiday_be_nl + plan2/holiday_be_wa + plan2/holiday_bg_bg + plan2/holiday_br_pt-br + plan2/holiday_by_be + plan2/holiday_ca-qc_fr + plan2/holiday_ca_en-gb + plan2/holiday_ch_de + plan2/holiday_ch_fr + plan2/holiday_ch_it + plan2/holiday_cl_es + plan2/holiday_cm_en + plan2/holiday_cm_fr + plan2/holiday_cn_zh-cn + plan2/holiday_co_es + plan2/holiday_cr_en + plan2/holiday_cr_es + plan2/holiday_cz_cs + plan2/holiday_de-by_de + plan2/holiday_de_de + plan2/holiday_dk_da + plan2/holiday_dz_ar + plan2/holiday_dz_fr + plan2/holiday_ee_et + plan2/holiday_eg_ar + plan2/holiday_es-ct_ca + plan2/holiday_es_es + plan2/holiday_fi_fi + plan2/holiday_fr_fr + plan2/holiday_gb-eaw_en-gb + plan2/holiday_gb-nir_en-gb + plan2/holiday_gb-sct_en-gb + plan2/holiday_gf_fr + plan2/holiday_gp_fr + plan2/holiday_gr_el + plan2/holiday_gr_el_nameday + plan2/holiday_gt_es + plan2/holiday_hk_en-gb + plan2/holiday_hk_zh-cn + plan2/holiday_hr_hr + plan2/holiday_hu_hu + plan2/holiday_id_en-us + plan2/holiday_id_id + plan2/holiday_ie_en-gb + plan2/holiday_ie_ga + plan2/holiday_il_en-us + plan2/holiday_il_he + plan2/holiday_in_en-gb + plan2/holiday_ir_en-us + plan2/holiday_ir_fa + plan2/holiday_is_is + plan2/holiday_it-bz_de + plan2/holiday_it_it + plan2/holiday_jm_en-gb + plan2/holiday_jp_en-us + plan2/holiday_jp_ja + plan2/holiday_kr_ko + plan2/holiday_kz_kk + plan2/holiday_kz_ru + plan2/holiday_lt_lt + plan2/holiday_lu_fr + plan2/holiday_lu_lb + plan2/holiday_lv_lv + plan2/holiday_ma_ar + plan2/holiday_ma_fr + plan2/holiday_mq_fr + plan2/holiday_mu_en + plan2/holiday_mx_es + plan2/holiday_na_en-gb + plan2/holiday_nc_fr + plan2/holiday_nl_nl + plan2/holiday_no_nb + plan2/holiday_no_nn + plan2/holiday_nz_en-gb + plan2/holiday_pa_en + plan2/holiday_pa_es + plan2/holiday_pe_es + plan2/holiday_pf_fr + plan2/holiday_pl_pl + plan2/holiday_pt_pt + plan2/holiday_py_es + plan2/holiday_re_fr + plan2/holiday_ro_ro + plan2/holiday_rs_sr + plan2/holiday_rs_sr@ijekavian + plan2/holiday_rs_sr@ijekavianlatin + plan2/holiday_rs_sr@latin + plan2/holiday_ru_ru + plan2/holiday_se_sv + plan2/holiday_sg_en-gb + plan2/holiday_si_sl + plan2/holiday_sk_sk + plan2/holiday_sm_it + plan2/holiday_th_en-gb + plan2/holiday_tr_en-gb + plan2/holiday_tr_tr + plan2/holiday_ua_uk + plan2/holiday_us_en-us + plan2/holiday_uy_es + plan2/holiday_wf_fr + plan2/holiday_yt_fr + plan2/holiday_za_en-gb + + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,6 +21,7 @@ parsers/plan2/holidayparserdriverplan.cpp parsers/plan2/holidayparserplan.cpp ${kholidays_QM_LOADER} + ../holidays/holidays.qrc ) add_library(KF5Holidays ${kholidays_SRCS}) diff --git a/src/holidayregion.cpp b/src/holidayregion.cpp --- a/src/holidayregion.cpp +++ b/src/holidayregion.cpp @@ -726,7 +726,8 @@ static QStringList allHolidayFiles(const QString &location = QString()) { - const QStringList dirs = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, + QStringList dirs{ QStringLiteral(":/org.kde.kholidays/plan2") }; + dirs += QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kf5/libkholidays/plan2"), QStandardPaths::LocateDirectory); QStringList files; @@ -746,9 +747,16 @@ mRegionCode(regionCode) { if (!mRegionCode.isEmpty()) { - mHolidayFile.setFile( - QStandardPaths::locate(QStandardPaths::GenericDataLocation, - QLatin1String("kf5/libkholidays/plan2/holiday_") + mRegionCode)); + auto file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, + QLatin1String("kf5/libkholidays/plan2/holiday_") + mRegionCode); + if (!file.isEmpty()) { + mHolidayFile.setFile(file); + } else { + file = QStringLiteral(":/org.kde.kholidays/plan2/holiday_") + mRegionCode; + if (QFile::exists(file)) { + mHolidayFile.setFile(file); + } + } } init();