Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fcitx5-skk for openSUSE:Factory checked in at 2026-02-09 11:43:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fcitx5-skk (Old) and /work/SRC/openSUSE:Factory/.fcitx5-skk.new.1670 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fcitx5-skk" Mon Feb 9 11:43:23 2026 rev:12 rq:1331830 version:5.1.9 Changes: -------- --- /work/SRC/openSUSE:Factory/fcitx5-skk/fcitx5-skk.changes 2025-06-23 15:05:22.705998066 +0200 +++ /work/SRC/openSUSE:Factory/.fcitx5-skk.new.1670/fcitx5-skk.changes 2026-02-09 11:44:02.479466805 +0100 @@ -1,0 +2,14 @@ +Sun Feb 8 06:31:16 UTC 2026 - Marguerite Su <[email protected]> + +- update to 5.1.9 + * replace stringutils::endsWith + * fix FindLibSKK.cmake +- changes in 5.1.8 + * fix SkkEngine::loadDictionary() envvar behavior + * replace SKK_DEFAULT_PATH with SKK_PATH + * Refactor: Replace QDialog::exec() with QDialog::open() + in SkkDictWidget::addDictClicked() + * Switch to user dictionary editing when the end of a list + of candidates has been reached + +------------------------------------------------------------------- Old: ---- fcitx5-skk-5.1.7.tar.zst New: ---- fcitx5-skk-5.1.9.tar.zst ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fcitx5-skk.spec ++++++ --- /var/tmp/diff_new_pack.DqZzty/_old 2026-02-09 11:44:02.915485148 +0100 +++ /var/tmp/diff_new_pack.DqZzty/_new 2026-02-09 11:44:02.915485148 +0100 @@ -1,7 +1,7 @@ # # spec file for package fcitx5-skk # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: fcitx5-skk -Version: 5.1.7 +Version: 5.1.9 Release: 0 Summary: Libskk input method engine for Fcitx5 License: GPL-3.0-or-later ++++++ fcitx5-skk-5.1.7.tar.zst -> fcitx5-skk-5.1.9.tar.zst ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/.github/workflows/check.yml new/fcitx5-skk-5.1.9/.github/workflows/check.yml --- old/fcitx5-skk-5.1.7/.github/workflows/check.yml 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/.github/workflows/check.yml 2025-12-22 07:18:12.000000000 +0100 @@ -62,7 +62,6 @@ - name: Build and Install fcitx5-qt uses: fcitx/github-actions@cmake with: - repository: fcitx/fcitx5-qt path: fcitx5-qt cmake-option: >- -DENABLE_QT4=Off -DENABLE_QT5=Off -DENABLE_QT6=On diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/CMakeLists.txt new/fcitx5-skk-5.1.9/CMakeLists.txt --- old/fcitx5-skk-5.1.7/CMakeLists.txt 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/CMakeLists.txt 2025-12-22 07:18:12.000000000 +0100 @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.6.0) -project(fcitx5-skk VERSION 5.1.7) +project(fcitx5-skk VERSION 5.1.9) set(REQUIRED_FCITX_VERSION 5.1.13) find_package(ECM 1.0.0 REQUIRED) @@ -21,7 +21,10 @@ include("${FCITX_INSTALL_CMAKECONFIG_DIR}/Fcitx5Utils/Fcitx5CompilerSettings.cmake") -set(SKK_DEFAULT_PATH "/usr/share/skk/SKK-JISYO.L" CACHE STRING "Default path of SKK") +set(SKK_PATH "/usr/share/skk" CACHE STRING "Default path of SKK directory that contains SKK-JISYO.L, could start with \"\$XDG_DATA_DIRS\"") +if(NOT ("${SKK_DEFAULT_PATH}" STREQUAL "")) + message(FATAL_ERROR "SKK_DEFAULT_PATH option is removed and replaced with SKK_PATH, they have different meaning (file vs directory). Please adjust the config option accordingly.") +endif() include(GNUInstallDirs) @@ -36,6 +39,7 @@ IMMEDIATE @ONLY) include_directories(${CMAKE_CURRENT_BINARY_DIR}) add_definitions(-DFCITX_GETTEXT_DOMAIN=\"fcitx5-skk\" -D_GNU_SOURCE) +add_definitions(-DQT_NO_KEYWORDS) fcitx5_add_i18n_definition() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/README.md new/fcitx5-skk-5.1.9/README.md --- old/fcitx5-skk-5.1.7/README.md 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/README.md 2025-12-22 07:18:12.000000000 +0100 @@ -30,9 +30,9 @@ - extra-cmake-modules - gettext -You can specify the skk dictionary path by -DSKK_DEFAULT_PATH=path_you_want +You can specify the skk dictionary path by -DSKK_PATH=path_you_want -By default it's /usr/share/skk/SKK-JISYO.L +By default it's /usr/share/skk/ ## Installation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/config.h.in new/fcitx5-skk-5.1.9/config.h.in --- old/fcitx5-skk-5.1.7/config.h.in 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/config.h.in 2025-12-22 07:18:12.000000000 +0100 @@ -1,6 +1,6 @@ #ifndef ___CONFIG_H___ #define ___CONFIG_H___ -#define SKK_DEFAULT_PATH "@SKK_DEFAULT_PATH@" +#define SKK_PATH "@SKK_PATH@" #endif /* __CONFIG_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/gui/adddictdialog.cpp new/fcitx5-skk-5.1.9/gui/adddictdialog.cpp --- old/fcitx5-skk-5.1.7/gui/adddictdialog.cpp 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/gui/adddictdialog.cpp 2025-12-22 07:18:12.000000000 +0100 @@ -111,7 +111,7 @@ if (m_ui->typeComboBox->currentIndex() == DictType_System) { QString dir; if (path.isEmpty()) { - path = SKK_DEFAULT_PATH; + path = SKK_PATH "SKK-JISYO.L"; } QFileInfo info(path); path = QFileDialog::getOpenFileName(this, _("Select Dictionary File"), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/gui/dictwidget.cpp new/fcitx5-skk-5.1.9/gui/dictwidget.cpp --- old/fcitx5-skk-5.1.7/gui/dictwidget.cpp 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/gui/dictwidget.cpp 2025-12-22 07:18:12.000000000 +0100 @@ -65,12 +65,15 @@ } void SkkDictWidget::addDictClicked() { - AddDictDialog dialog; - int result = dialog.exec(); - if (result == QDialog::Accepted) { - m_dictModel->add(dialog.dictionary()); + AddDictDialog *dialog = new AddDictDialog(this); + dialog->setAttribute(Qt::WA_DeleteOnClose); + + connect(dialog, &QDialog::accepted, this, [this, dialog]() { + m_dictModel->add(dialog->dictionary()); Q_EMIT changed(true); - } + }); + + dialog->open(); } void SkkDictWidget::defaultDictClicked() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/org.fcitx.Fcitx5.Addon.Skk.metainfo.xml.in new/fcitx5-skk-5.1.9/org.fcitx.Fcitx5.Addon.Skk.metainfo.xml.in --- old/fcitx5-skk-5.1.7/org.fcitx.Fcitx5.Addon.Skk.metainfo.xml.in 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/org.fcitx.Fcitx5.Addon.Skk.metainfo.xml.in 2025-12-22 07:18:12.000000000 +0100 @@ -14,6 +14,8 @@ <url type="vcs-browser">https://github.com/fcitx/fcitx5-skk</url> <project_group>Fcitx</project_group> <releases> + <release version="5.1.9" date="2025-12-21"/> + <release version="5.1.8" date="2025-10-16"/> <release version="5.1.7" date="2025-06-15"/> <release version="5.1.6" date="2025-01-22"/> <release version="5.1.5" date="2024-10-08"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/po/LINGUAS new/fcitx5-skk-5.1.9/po/LINGUAS --- old/fcitx5-skk-5.1.7/po/LINGUAS 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/po/LINGUAS 2025-12-22 07:18:12.000000000 +0100 @@ -2,6 +2,7 @@ ca da de +fr he ja ko diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/po/fr.po new/fcitx5-skk-5.1.9/po/fr.po --- old/fcitx5-skk-5.1.7/po/fr.po 1970-01-01 01:00:00.000000000 +0100 +++ new/fcitx5-skk-5.1.9/po/fr.po 2025-12-22 07:18:12.000000000 +0100 @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the fcitx5-skk package. +# +# Translators: +# Popolon_Github, 2025 +# +msgid "" +msgstr "" +"Project-Id-Version: fcitx5-skk\n" +"Report-Msgid-Bugs-To: [email protected]\n" +"POT-Creation-Date: 2025-09-17 20:24+0000\n" +"PO-Revision-Date: 2020-05-22 22:25+0000\n" +"Last-Translator: Popolon_Github, 2025\n" +"Language-Team: French (https://app.transifex.com/fcitx/teams/12005/fr/)\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" + +#. i18n: file: gui/dictwidget.ui:31 +#. i18n: ectx: property (text), widget (QToolButton, addDictButton) +#: rc.cpp:6 +#, kde-format +msgid "&Add" +msgstr "&Ajouter" + +#. i18n: file: gui/adddictdialog.ui:73 +#. i18n: ectx: property (text), widget (QLabel, hostLabel) +#: rc.cpp:30 +#, kde-format +msgid "&Host:" +msgstr "&Hôte" + +#. i18n: file: gui/adddictdialog.ui:45 +#. i18n: ectx: property (text), widget (QLabel, pathLabel) +#: rc.cpp:27 +#, kde-format +msgid "&Path:" +msgstr "&Chemin :" + +#. i18n: file: gui/adddictdialog.ui:90 +#. i18n: ectx: property (text), widget (QLabel, portLabel) +#: rc.cpp:36 +#, kde-format +msgid "&Port:" +msgstr "&Port :" + +#. i18n: file: gui/dictwidget.ui:98 +#. i18n: ectx: property (text), widget (QToolButton, defaultDictButton) +#: rc.cpp:18 +#, kde-format +msgid "&Revert" +msgstr "&Annuler" + +#. i18n: file: gui/adddictdialog.ui:25 +#. i18n: ectx: property (text), widget (QLabel, typeLabel) +#: rc.cpp:24 +#, kde-format +msgid "&Type:" +msgstr "&Type :" + +#: src/skk.h:44 +msgid "ABC (a,b,c,...)" +msgstr "ABC (a,b,c,...)" + +#: src/skk.h:100 +msgid "Candidate Key" +msgstr "Touche de la proposition" + +#: src/skk.h:92 +msgid "Candidate Layout" +msgstr "Mise en page des propositions" + +#: src/skk.h:111 +msgid "Candidates Page Down" +msgstr "Page des propositions bas" + +#: src/skk.h:105 +msgid "Candidates Page Up" +msgstr "Page des propositions haut" + +#: src/skk.h:123 +msgid "Cursor Down" +msgstr "Curseur bas" + +#: src/skk.h:117 +msgid "Cursor Up" +msgstr "Curseur haut" + +#. i18n: file: gui/adddictdialog.ui:14 +#. i18n: ectx: property (windowTitle), widget (QDialog, AddDictDialog) +#: rc.cpp:21 +#, kde-format +msgid "Dialog" +msgstr "Dialogue" + +#: src/skk.h:130 +msgid "Dictionary" +msgstr "Dictionnaire" + +#: gui/dictwidget.cpp:53 +msgid "Dictionary Manager" +msgstr "Gestionnaire de dictionnaire" + +#: src/skk.h:43 +msgid "Digit (0,1,2,...)" +msgstr "Chiffre (0,1,2,...)" + +#: src/skk.cpp:104 +msgid "Direct input" +msgstr "Saisie directe" + +#. i18n: file: gui/adddictdialog.ui:126 +#. i18n: ectx: property (text), widget (QLabel, encodingLabel) +#: rc.cpp:39 +#, kde-format +msgid "Encoding:" +msgstr "Encodage :" + +#. i18n: file: gui/dictwidget.ui:14 +#. i18n: ectx: property (windowTitle), widget (QWidget, SkkDictWidget) +#: rc.cpp:3 +#, kde-format +msgid "Form" +msgstr "Formulaire" + +#: src/skk.cpp:101 src/skk.h:54 +msgid "Half width Katakana" +msgstr "Katakana demi-largeur" + +#: src/skk.cpp:99 src/skk.h:53 +msgid "Hiragana" +msgstr "Hiragana" + +#: src/skk.h:48 +msgid "Horizontal" +msgstr "Horizontal" + +#: src/skk.h:87 +msgid "Initial Input Mode" +msgstr "Mode de méthode de saisie" + +#: src/skk.h:50 +msgid "Japanese" +msgstr "Japonais" + +#: src/skk.cpp:100 src/skk.h:53 +msgid "Katakana" +msgstr "Katakana" + +#: src/skk.cpp:102 src/skk.h:50 src/skk.h:54 +msgid "Latin" +msgstr "Latin" + +#. i18n: file: gui/dictwidget.ui:81 +#. i18n: ectx: property (text), widget (QToolButton, moveDownDictButton) +#: rc.cpp:15 +#, kde-format +msgid "Move &Down" +msgstr "Déplacer vers le &bas" + +#. i18n: file: gui/dictwidget.ui:64 +#. i18n: ectx: property (text), widget (QToolButton, moveUpDictButton) +#: rc.cpp:12 +#, kde-format +msgid "Move &Up" +msgstr "Déplacer vers le &haut" + +#: src/skk.h:47 +msgid "Not set" +msgstr "Non définit" + +#: src/skk.h:128 +msgid "Number candidate of Triggers To Show Candidate Window" +msgstr "" + +#: src/skk.h:89 +msgid "Page size" +msgstr "Taille de page" + +#: src/skk.h:84 +msgid "Punctuation Style" +msgstr "Style de ponctuation" + +#: src/skk.h:45 +msgid "Qwerty Center Row (a,s,d,...)" +msgstr "Ligne centrale QWERTY (a,s,d,...)" + +#. i18n: file: gui/dictwidget.ui:47 +#. i18n: ectx: property (text), widget (QToolButton, removeDictButton) +#: rc.cpp:9 +#, kde-format +msgid "R&emove" +msgstr "S&upprime" + +#: src/skk.h:96 +msgid "Return-key does not insert new line on commit" +msgstr "La touche Entrée n’insert pas une nouvelle ligne lors de la validation" + +#: src/skk.h:82 +msgid "Rule" +msgstr "Règle" + +#: org.fcitx.Fcitx5.Addon.Skk.metainfo.xml.in:7 src/skk.conf.in:2 +#: src/skk-addon.conf.in.in:2 +msgid "SKK" +msgstr "SKK" + +#: src/skk-addon.conf.in.in:3 +msgid "SKK Input Method For Fcitx" +msgstr "Méthode de saisie SKK pour Fcitx" + +#: org.fcitx.Fcitx5.Addon.Skk.metainfo.xml.in:8 +msgid "SKK Japanese input method" +msgstr "Méthode de saisie du japonais SKK" + +#: gui/adddictdialog.cpp:117 gui/adddictdialog.cpp:132 +msgid "Select Dictionary File" +msgstr "Sélectionner le fichier de dictionnaire" + +#: gui/adddictdialog.cpp:39 +msgid "Server" +msgstr "Serveur" + +#: src/skk.h:97 +msgid "Show Annotation" +msgstr "Afficher l'annotation" + +#: gui/adddictdialog.cpp:37 +msgid "System" +msgstr "Système" + +#: gui/adddictdialog.cpp:38 +msgid "User" +msgstr "Utilisateur" + +#: src/skk.h:48 +msgid "Vertical" +msgstr "Vertical" + +#: src/skk.cpp:103 src/skk.h:51 src/skk.h:55 +msgid "Wide latin" +msgstr "Latin large" + +#: src/skk.h:51 +msgid "Wide latin Japanese" +msgstr "Japonais latin large" + +#. i18n: file: gui/adddictdialog.ui:83 +#. i18n: ectx: property (text), widget (QLineEdit, hostLineEdit) +#: rc.cpp:33 +#, kde-format +msgid "localhost" +msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/po/vi.po new/fcitx5-skk-5.1.9/po/vi.po --- old/fcitx5-skk-5.1.7/po/vi.po 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/po/vi.po 2025-12-22 07:18:12.000000000 +0100 @@ -3,15 +3,15 @@ # This file is distributed under the same license as the fcitx5-skk package. # # Translators: -# hoanghuy309 <[email protected]>, 2025 +# Huy Võ <[email protected]>, 2025 # msgid "" msgstr "" "Project-Id-Version: fcitx5-skk\n" "Report-Msgid-Bugs-To: [email protected]\n" -"POT-Creation-Date: 2025-04-22 20:25+0000\n" +"POT-Creation-Date: 2025-11-18 20:24+0000\n" "PO-Revision-Date: 2020-05-22 22:25+0000\n" -"Last-Translator: hoanghuy309 <[email protected]>, 2025\n" +"Last-Translator: Huy Võ <[email protected]>, 2025\n" "Language-Team: Vietnamese (https://app.transifex.com/fcitx/teams/12005/vi/)\n" "Language: vi\n" "MIME-Version: 1.0\n" @@ -100,7 +100,7 @@ msgid "Dictionary" msgstr "" -#: gui/dictwidget.cpp:44 +#: gui/dictwidget.cpp:53 msgid "Dictionary Manager" msgstr "Trình Quản Lý Từ Điển" @@ -108,7 +108,7 @@ msgid "Digit (0,1,2,...)" msgstr "" -#: src/skk.cpp:103 +#: src/skk.cpp:104 msgid "Direct input" msgstr "Nhập trực tiếp" @@ -126,11 +126,11 @@ msgid "Form" msgstr "Mẫu" -#: src/skk.cpp:100 src/skk.h:54 +#: src/skk.cpp:101 src/skk.h:54 msgid "Half width Katakana" msgstr "" -#: src/skk.cpp:98 src/skk.h:53 +#: src/skk.cpp:99 src/skk.h:53 msgid "Hiragana" msgstr "" @@ -146,11 +146,11 @@ msgid "Japanese" msgstr "Tiếng Nhật" -#: src/skk.cpp:99 src/skk.h:53 +#: src/skk.cpp:100 src/skk.h:53 msgid "Katakana" msgstr "" -#: src/skk.cpp:101 src/skk.h:50 src/skk.h:54 +#: src/skk.cpp:102 src/skk.h:50 src/skk.h:54 msgid "Latin" msgstr "" @@ -186,7 +186,7 @@ #: src/skk.h:45 msgid "Qwerty Center Row (a,s,d,...)" -msgstr "" +msgstr "Hàng Giữa Qwerty (a,s,d,...)" #. i18n: file: gui/dictwidget.ui:47 #. i18n: ectx: property (text), widget (QToolButton, removeDictButton) @@ -216,23 +216,23 @@ msgid "SKK Japanese input method" msgstr "Kiểu gõ tiếng Nhật SKK" -#: gui/adddictdialog.cpp:104 gui/adddictdialog.cpp:119 +#: gui/adddictdialog.cpp:117 gui/adddictdialog.cpp:132 msgid "Select Dictionary File" msgstr "Chọn Tệp Từ Điển" -#: gui/adddictdialog.cpp:26 +#: gui/adddictdialog.cpp:39 msgid "Server" msgstr "Máy chủ" #: src/skk.h:97 msgid "Show Annotation" -msgstr "" +msgstr "Hiển Thị Chú Thích" -#: gui/adddictdialog.cpp:24 +#: gui/adddictdialog.cpp:37 msgid "System" msgstr "Hệ thống" -#: gui/adddictdialog.cpp:25 +#: gui/adddictdialog.cpp:38 msgid "User" msgstr "Người dùng" @@ -240,7 +240,7 @@ msgid "Vertical" msgstr "Thẳng đứng" -#: src/skk.cpp:102 src/skk.h:51 src/skk.h:55 +#: src/skk.cpp:103 src/skk.h:51 src/skk.h:55 msgid "Wide latin" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/src/dictionary_list.in new/fcitx5-skk-5.1.9/src/dictionary_list.in --- old/fcitx5-skk-5.1.7/src/dictionary_list.in 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/src/dictionary_list.in 2025-12-22 07:18:12.000000000 +0100 @@ -1,2 +1,2 @@ type=file,file=$FCITX_CONFIG_DIR/skk/user.dict,mode=readwrite -type=file,file=@SKK_DEFAULT_PATH@,mode=readonly +type=file,file=@SKK_PATH@/SKK-JISYO.L,mode=readonly diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-skk-5.1.7/src/skk.cpp new/fcitx5-skk-5.1.9/src/skk.cpp --- old/fcitx5-skk-5.1.7/src/skk.cpp 2025-06-16 08:26:11.000000000 +0200 +++ new/fcitx5-skk-5.1.9/src/skk.cpp 2025-12-22 07:18:12.000000000 +0100 @@ -534,13 +534,19 @@ if (path.empty() || mode == 0) { continue; } + + std::string_view partialpath = path; + if (stringutils::consumePrefix(partialpath, "$FCITX_CONFIG_DIR/")) { + path = StandardPaths::global().userDirectory( + StandardPathsType::PkgData) / + partialpath; + } else if (stringutils::consumePrefix(partialpath, + "$XDG_DATA_DIRS/")) { + path = StandardPaths::global().locate(StandardPathsType::Data, + partialpath); + } + if (mode == 1) { - std::string_view partialpath = path; - if (stringutils::consumePrefix(partialpath, - "$XDG_DATA_DIRS/")) { - path = StandardPaths::global().locate( - StandardPathsType::Data, partialpath); - } if (stringutils::endsWith(path, ".cdb")) { SkkCdbDict *dict = skk_cdb_dict_new(path.data(), encoding.data(), nullptr); @@ -557,13 +563,6 @@ } } } else { - std::string_view partialpath = path; - if (stringutils::consumePrefix(partialpath, - "$FCITX_CONFIG_DIR/")) { - path = StandardPaths::global().userDirectory( - StandardPathsType::PkgData) / - partialpath; - } SkkUserDict *userdict = skk_user_dict_new(path.data(), encoding.data(), nullptr); if (userdict) { @@ -674,7 +673,8 @@ skk_candidate_list_cursor_up(skkCandidates); keyEvent.filterAndAccept(); } else if (keyEvent.key().checkKeyList(*config.cursorDownKey)) { - skk_candidate_list_cursor_down(skkCandidates); + if (!skk_candidate_list_cursor_down(skkCandidates)) + return false; keyEvent.filterAndAccept(); } else if (keyEvent.key().checkKeyList(*config.prevPageKey)) { skk_candidate_list_page_up(skkCandidates);
