Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fcitx5-rime for openSUSE:Factory checked in at 2024-03-02 23:24:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fcitx5-rime (Old) and /work/SRC/openSUSE:Factory/.fcitx5-rime.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fcitx5-rime" Sat Mar 2 23:24:02 2024 rev:10 rq:1154256 version:5.1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/fcitx5-rime/fcitx5-rime.changes 2024-02-05 22:02:28.693786011 +0100 +++ /work/SRC/openSUSE:Factory/.fcitx5-rime.new.1770/fcitx5-rime.changes 2024-03-02 23:24:17.793174673 +0100 @@ -1,0 +2,8 @@ +Fri Mar 1 16:08:23 UTC 2024 - Richard Rahl <[email protected]> + +- update to version 5.1.5: + * Minimize the highligh preedit style usage in rime preedit + * Make latin mode action "toggle" the latin mode + * Only refresh app option after we run start_maintainence + +------------------------------------------------------------------- Old: ---- fcitx5-rime-5.1.4.tar.xz New: ---- fcitx5-rime-5.1.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fcitx5-rime.spec ++++++ --- /var/tmp/diff_new_pack.ZgVsq8/_old 2024-03-02 23:24:18.389196263 +0100 +++ /var/tmp/diff_new_pack.ZgVsq8/_new 2024-03-02 23:24:18.389196263 +0100 @@ -17,7 +17,7 @@ Name: fcitx5-rime -Version: 5.1.4 +Version: 5.1.5 Release: 0 Summary: RIME support for Fcitx5 License: LGPL-2.1-or-later ++++++ fcitx5-rime-5.1.4.tar.xz -> fcitx5-rime-5.1.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/CMakeLists.txt new/fcitx5-rime-5.1.5/CMakeLists.txt --- old/fcitx5-rime-5.1.4/CMakeLists.txt 2024-01-02 18:34:48.779119000 +0100 +++ new/fcitx5-rime-5.1.5/CMakeLists.txt 2024-02-29 01:05:57.193924000 +0100 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.6.0) -project(fcitx5-rime VERSION 5.1.4) +project(fcitx5-rime VERSION 5.1.5) find_package(ECM 1.0.0 REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) @@ -10,7 +10,7 @@ include(ECMUninstallTarget) find_package(Gettext REQUIRED) -find_package(Fcitx5Core 5.1.2 REQUIRED) +find_package(Fcitx5Core 5.1.7 REQUIRED) find_package(Fcitx5Module REQUIRED COMPONENTS Notifications) find_package(PkgConfig REQUIRED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in new/fcitx5-rime-5.1.5/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in --- old/fcitx5-rime-5.1.4/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in 2024-01-02 18:34:48.862451000 +0100 +++ new/fcitx5-rime-5.1.5/org.fcitx.Fcitx5.Addon.Rime.metainfo.xml.in 2024-02-29 01:05:57.283921200 +0100 @@ -10,6 +10,7 @@ <url type="bugtracker">https://github.com/fcitx/fcitx5-rime/issues</url> <project_group>Fcitx</project_group> <releases> + <release version="5.1.5" date="2024-02-28"/> <release version="5.1.4" date="2024-01-02"/> <release version="5.1.3" date="2023-11-01"/> <release version="5.1.2" date="2023-09-29"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/po/ru.po new/fcitx5-rime-5.1.5/po/ru.po --- old/fcitx5-rime-5.1.4/po/ru.po 2023-12-06 08:57:39.233240600 +0100 +++ new/fcitx5-rime-5.1.5/po/ru.po 2024-01-24 16:29:20.893582600 +0100 @@ -4,15 +4,15 @@ # # Translators: # csslayer <[email protected]>, 2017 -# Dmitry <[email protected]>, 2023 +# Dmitry <[email protected]>, 2024 # msgid "" msgstr "" "Project-Id-Version: fcitx5-rime\n" "Report-Msgid-Bugs-To: [email protected]\n" -"POT-Creation-Date: 2023-12-05 20:24+0000\n" +"POT-Creation-Date: 2024-01-05 20:25+0000\n" "PO-Revision-Date: 2017-11-23 05:02+0000\n" -"Last-Translator: Dmitry <[email protected]>, 2023\n" +"Last-Translator: Dmitry <[email protected]>, 2024\n" "Language-Team: Russian (https://app.transifex.com/fcitx/teams/12005/ru/)\n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -32,7 +32,7 @@ #: src/rimeengine.h:50 msgid "Commit preview" -msgstr "ФикÑаÑÐ¸Ñ Ð¿ÑедваÑиÑелÑного пÑоÑмоÑÑа" +msgstr "ÐÑпÑавиÑÑ Ð¿ÑевÑÑ" #: src/rimeengine.h:50 msgid "Composing text" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/src/rimeengine.cpp new/fcitx5-rime-5.1.5/src/rimeengine.cpp --- old/fcitx5-rime-5.1.4/src/rimeengine.cpp 2023-12-06 08:57:39.483242500 +0100 +++ new/fcitx5-rime-5.1.5/src/rimeengine.cpp 2024-02-29 00:58:15.360944500 +0100 @@ -291,7 +291,7 @@ : instance_(instance), api_(EnsureRimeApi()), factory_([this](InputContext &ic) { return new RimeState(this, ic); }), sessionPool_(this, getSharedStatePolicy()) { - if constexpr (isAndroid()) { + if constexpr (isAndroid() || isApple()) { const auto &sp = fcitx::StandardPath::global(); std::string defaultYaml = sp.locate(fcitx::StandardPath::Type::Data, "rime-data/default.yaml"); @@ -425,12 +425,14 @@ if (!api_->is_maintenance_mode()) { updateAppOptions(); + } else { + needRefreshAppOption_ = true; } } void RimeEngine::updateAppOptions() { appOptions_.clear(); - RimeConfig config = {NULL}; + RimeConfig config = {nullptr}; if (api_->config_open("fcitx5", &config)) { appOptions_ = parseAppOptions(api_, &config); api_->config_close(&config); @@ -655,12 +657,16 @@ } else if (messageValue == "success") { message = _("Rime is ready."); if (!api_->is_maintenance_mode()) { - api_->deploy_config_file("fcitx5.yaml", "config_version"); - updateAppOptions(); + if (needRefreshAppOption_) { + api_->deploy_config_file("fcitx5.yaml", "config_version"); + updateAppOptions(); + needRefreshAppOption_ = false; + } } updateSchemaMenu(); refreshStatusArea(0); } else if (messageValue == "failure") { + needRefreshAppOption_ = false; message = _("Rime has encountered an error. " "See log for details."); } @@ -823,7 +829,7 @@ schemActions_.back().connect<SimpleAction::Activated>( [this](InputContext *ic) { auto state = ic->propertyFor(&factory_); - state->setLatinMode(true); + state->toggleLatinMode(); imAction_->update(ic); }); instance_->userInterfaceManager().registerAction(&schemActions_.back()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/src/rimeengine.h new/fcitx5-rime-5.1.5/src/rimeengine.h --- old/fcitx5-rime-5.1.4/src/rimeengine.h 2024-01-03 16:25:32.662340600 +0100 +++ new/fcitx5-rime-5.1.5/src/rimeengine.h 2024-02-29 00:58:15.360944500 +0100 @@ -58,7 +58,8 @@ this, "InputState", _("Shared Input State"), SharedStatePolicy::All}; Option<bool> preeditCursorPositionAtBeginning{ this, "PreeditCursorPositionAtBeginning", - _("Fix embedded preedit cursor at the beginning of the preedit"), !isAndroid()}; + _("Fix embedded preedit cursor at the beginning of the preedit"), + !isAndroid()}; Option<bool> commitWhenDeactivate{ this, "Commit when deactivate", _("Commit current text when deactivating"), true}; @@ -167,6 +168,7 @@ uint64_t blockNotificationBefore_ = 0; uint64_t lastKeyEventTime_ = 0; FactoryFor<RimeState> factory_; + bool needRefreshAppOption_ = false; std::unique_ptr<Action> imAction_; SimpleAction separatorAction_; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/src/rimestate.cpp new/fcitx5-rime-5.1.5/src/rimestate.cpp --- old/fcitx5-rime-5.1.4/src/rimestate.cpp 2023-12-31 18:35:44.879408400 +0100 +++ new/fcitx5-rime-5.1.5/src/rimestate.cpp 2024-02-29 00:58:15.360944500 +0100 @@ -92,6 +92,16 @@ return result; } +void RimeState::toggleLatinMode() { + auto api = engine_->api(); + if (api->is_maintenance_mode()) { + return; + } + + Bool oldValue = api->get_option(session(), RIME_ASCII_MODE); + api->set_option(session(), RIME_ASCII_MODE, !oldValue); +} + void RimeState::setLatinMode(bool latin) { auto api = engine_->api(); if (api->is_maintenance_mode()) { @@ -190,7 +200,8 @@ return true; } -Text preeditFromRimeContext(const RimeContext &context, TextFormatFlags flag) { +Text preeditFromRimeContext(const RimeContext &context, TextFormatFlags flag, + TextFormatFlags highlightFlag) { Text preedit; do { @@ -218,7 +229,7 @@ std::string( &context.composition.preedit[context.composition.sel_start], &context.composition.preedit[context.composition.sel_end]), - flag | TextFormatFlag::HighLight); + flag | highlightFlag); } /* remaining input to convert */ @@ -243,12 +254,12 @@ switch (mode) { case PreeditMode::No: - ic->inputPanel().setPreedit( - preeditFromRimeContext(context, TextFormatFlag::NoFlag)); + ic->inputPanel().setPreedit(preeditFromRimeContext( + context, TextFormatFlag::NoFlag, TextFormatFlag::NoFlag)); break; case PreeditMode::CommitPreview: { - ic->inputPanel().setPreedit( - preeditFromRimeContext(context, TextFormatFlag::NoFlag)); + ic->inputPanel().setPreedit(preeditFromRimeContext( + context, TextFormatFlag::NoFlag, TextFormatFlag::NoFlag)); if (context.commit_text_preview) { Text clientPreedit; clientPreedit.append(context.commit_text_preview, @@ -262,8 +273,12 @@ } } break; case PreeditMode::ComposingText: { - Text clientPreedit = - preeditFromRimeContext(context, TextFormatFlag::Underline); + const TextFormatFlag highlightFlag = + *engine_->config().preeditCursorPositionAtBeginning + ? TextFormatFlag::HighLight + : TextFormatFlag::NoFlag; + Text clientPreedit = preeditFromRimeContext( + context, TextFormatFlag::Underline, highlightFlag); if (*engine_->config().preeditCursorPositionAtBeginning) { clientPreedit.setCursor(0); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fcitx5-rime-5.1.4/src/rimestate.h new/fcitx5-rime-5.1.5/src/rimestate.h --- old/fcitx5-rime-5.1.4/src/rimestate.h 2023-11-03 00:44:44.017450000 +0100 +++ new/fcitx5-rime-5.1.5/src/rimestate.h 2024-02-29 00:58:15.360944500 +0100 @@ -37,6 +37,7 @@ void commitPreedit(InputContext *ic); std::string subMode(); std::string subModeLabel(); + void toggleLatinMode(); void setLatinMode(bool latin); void selectSchema(const std::string &schemaId); RimeSessionId session(bool requestNewSession = true);
