diff --git a/.gitignore b/.gitignore index df9ff180..b9b10fdd 100755 --- a/.gitignore +++ b/.gitignore @@ -50,9 +50,11 @@ tasks/ .claude/ .cursorindexingignore .windsurfrules +.trellis/ .roo/ .roomodes .specstory/ .windsurf/src/resources/settings.json src/resources/settings.json obj-x86_64-linux-gnu/ +AGENTS.md diff --git a/org.deepin.editor.install b/org.deepin.editor.install deleted file mode 100644 index 6ee1f3b8..00000000 --- a/org.deepin.editor.install +++ /dev/null @@ -1,194 +0,0 @@ -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ar.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_az.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_bg.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_bo.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ca.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_cs.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_da.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_de.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_es.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_fa.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_fi.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_fr.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_gl_ES.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_hi_IN.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_hu.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_id.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_it.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ko.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_lt.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ms.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ne.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_nl.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_pl.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_pt.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_pt_BR.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ru.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_sl.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_sq.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_sr.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_tr.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_ug.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_uk.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_zh_CN.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_zh_HK.qm -/opt/apps/org.deepin.editor/files/share/deepin-editor/translations/deepin-editor_zh_TW.qm -/opt/apps/org.deepin.editor/files/share/icons/hicolor/scalable/apps/deepin-editor.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/overview.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/d_column_mode.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/togglecase.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/read_only_02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/text_translation.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/printer_setting.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/reading.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/close.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/listen.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/d_toggle_case.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/printer.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/colortag.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/hotkey.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/d_read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/d_read_only02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/highlight.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/d_colortag.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/column_mode.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/fig/read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/p_editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_CN/editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/overview.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/translation.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/reading.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/close.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/listen.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/read_only02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/d_toggle_case.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/toggle_case.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/hotkey.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/d_read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/d_color_tag.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/color_tag.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/d_read_only02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/highlight.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/column_mode.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/fig/read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/p_editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_HK/editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/overview.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/shortcuts.jpg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/d_colormark.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/preview.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/translation.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/shortcutsx2.jpg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/read_only_02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/pagesetup.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/overviewx2.jpg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/reading.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/advanced-preview.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/d_readonly.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/d_turnoffreadonly.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/printer.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/mark.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/d_changecase.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/hotkey.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/changecase.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/highlight.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/translate.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/colormark.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/texttospeech.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/column_mode.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/fig/read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/p_editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/en_US/editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/W.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/Enter.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/deepin-editor.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/notes.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/S.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/C.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/Ctrl.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/F.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/deepin_launcher.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/U.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/Esc.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/next_down.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/Z.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/plus_icon.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/bookmarkbig_checked_light.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/attention.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/T.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/0.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/A.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/bookmark_normal_light.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/tips.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/H.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/Shift.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/G.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/icon_menu.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/P.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/-.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/F2.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/deepin_editor.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/L.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/close_icon.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/next.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/N.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/Alt.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/O.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/+.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/common/QM.svg -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/overview.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/print_setting.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/read_only_02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/text_translation.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/reading.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/d_read-only_02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/close.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/d_read_only_02.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/listen.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/d_toggle_case.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/advanced_setting.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/toggle_case.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/hotkey.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/d_read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/d_color_tag.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/color_tag.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/highlight.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/column_mode.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/fig/read_only.png -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/p_editor.md -/opt/apps/org.deepin.editor/files/share/deepin-manual/manual-assets/application//deepin-editor/editor/zh_TW/editor.md -/opt/apps/org.deepin.editor/files/bin/deepin-editor -/opt/apps/org.deepin.editor/files/share/applications/deepin-editor.desktop -/opt/apps/org.deepin.editor/files/share/deepin-editor//themes -/opt/apps/org.deepin.editor/files/share/deepin-editor//themes/deepin.theme -/opt/apps/org.deepin.editor/files/share/deepin-editor//themes/solarized_dark.theme -/opt/apps/org.deepin.editor/files/share/deepin-editor//themes/deepin_dark.theme -/opt/apps/org.deepin.editor/files/share/deepin-editor//themes/atom_dark.theme -/opt/apps/org.deepin.editor/files/share/deepin-editor//themes/solarized_light.theme -/opt/apps/org.deepin.editor/files/share/dsg/configs/org.deepin.editor/org.deepin.editor.json -/opt/apps/org.deepin.editor/files/share/deepin-editor/org.kde.syntax-highlighing/syntax -/opt/apps/org.deepin.editor/files/share/deepin-editor/org.kde.syntax-highlighing/syntax/vbscript.xml -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libKF6Codecs.so.6.6.0 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libKF6Codecs.so.6 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libKF6Codecs.so -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libKF6SyntaxHighlighting.so.6.10.0 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libKF6SyntaxHighlighting.so.6 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libKF6SyntaxHighlighting.so -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libuchardet.so.0.0.7 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libuchardet.so.0 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libuchardet.so -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libchardet.so.1.0.0 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libchardet.so.1 -/opt/apps/org.deepin.editor/files/lib/x86_64-linux-gnu/libchardet.so diff --git a/src/common/utils.cpp b/src/common/utils.cpp index 2763789c..a82f6ae1 100644 --- a/src/common/utils.cpp +++ b/src/common/utils.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2011-2024 UnionTech Software Technology Co., Ltd. +// SPDX-FileCopyrightText: 2011-2026 UnionTech Software Technology Co., Ltd. // // SPDX-License-Identifier: GPL-3.0-or-later @@ -42,6 +42,52 @@ extern Q_WIDGETS_EXPORT void qt_blurImage(QPainter *p, QImage &blurImage, qreal radius, bool quality, bool alphaOnly, int transposed = 0); QT_END_NAMESPACE +static const QStringList SupportedTextMimeTypes = { + "application/cmd", + "application/javascript", + "application/json", + "application/pkix-cert", + "application/octet-stream", + "application/sql", + "application/vnd.apple.mpegurl", + "application/vnd.nokia.qt.qmakeprofile", + "application/vnd.nokia.xml.qt.resource", + "application/x-desktop", + "application/x-designer", + "application/x-empty", + "application/x-msdos-program", + "application/x-pearl", + "application/x-php", + "application/x-shellscript", + "application/x-sh", + "application/x-theme", + "application/x-cue", + "application/x-csh", + "application/x-asp", + "application/x-subrip", + "application/x-text", + "application/x-trash", + "application/x-xbel", + "application/x-yaml", + "application/x-pem-key", + "application/xml", + "application/yaml", + "application/x-zerosize", + "image/svg+xml", + "application/x-perl", + "application/x-ruby", + "application/x-mpegURL", + "application/x-wine-extension-ini", + "model/vrml", + "application/pkix-cert+pem", + "application/x-pak", + "application/x-code-workspace", + "application/toml", + "audio/x-mod", + "application/pkix-attr-cert", + "application/x-x509-ca-cert" +}; + QString Utils::m_systemLanguage; QString Utils::getQrcPath(const QString &imageName) @@ -616,7 +662,8 @@ QVariantMap Utils::getThemeMapFromPath(const QString &filepath) bool Utils::isMimeTypeSupport(const QString &filepath) { qDebug() << "Enter isMimeTypeSupport, filepath:" << filepath; - QString mimeType = QMimeDatabase().mimeTypeForFile(filepath, QMimeDatabase::MatchMode::MatchContent).name(); + QMimeType mime = QMimeDatabase().mimeTypeForFile(filepath, QMimeDatabase::MatchMode::MatchContent); + QString mimeType = mime.name(); qDebug() << "mimeType:" << mimeType; if (mimeType.startsWith("text/")) { qDebug() << "mimeType starts with text/"; @@ -627,57 +674,23 @@ bool Utils::isMimeTypeSupport(const QString &filepath) qDebug() << "filepath ends with pub"; return true; } - // Please check full mime type list from: https://www.freeformatter.com/mime-types-list.html - QStringList textMimeTypes; - textMimeTypes << "application/cmd" - << "application/javascript" - << "application/json" - << "application/pkix-cert" - << "application/octet-stream" - << "application/sql" - << "application/vnd.apple.mpegurl" - << "application/vnd.nokia.qt.qmakeprofile" - << "application/vnd.nokia.xml.qt.resource" - << "application/x-desktop" - << "application/x-designer" - << "application/x-empty" - << "application/x-msdos-program" - << "application/x-pearl" - << "application/x-php" - << "application/x-shellscript" - << "application/x-sh" - << "application/x-theme" - << "application/x-cue" - << "application/x-csh" - << "application/x-asp" - << "application/x-subrip" - << "application/x-text" - << "application/x-trash" - << "application/x-xbel" - << "application/x-yaml" - << "application/x-pem-key" - << "application/xml" - << "application/yaml" - << "application/x-zerosize" - << "image/svg+xml" - << "application/x-perl" - << "application/x-ruby" - << "application/x-mpegURL" - << "application/x-wine-extension-ini" - << "model/vrml" - << "application/pkix-cert+pem" - << "application/x-pak" - << "application/x-code-workspace" - << "application/toml" - << "audio/x-mod" - << "application/pkix-attr-cert" - << "application/x-x509-ca-cert"; - - if (textMimeTypes.contains(mimeType)) { + + if (SupportedTextMimeTypes.contains(mimeType)) { qDebug() << "mimeType contains textMimeTypes"; return true; } + // Check if the MIME type inherits from any supported type + // e.g. application/schema+json inherits from application/json + if (mime.isValid()) { + for (const QString &supported : SupportedTextMimeTypes) { + if (mime.inherits(supported)) { + qDebug() << "mimeType inherits from supported type:" << supported; + return true; + } + } + } + qDebug() << "mimeType does not contain textMimeTypes"; return false; }