From 47638e6e61e2b5588de6914f1cee8fa8c1ad022d Mon Sep 17 00:00:00 2001 From: shenleban tongying Date: Mon, 17 Feb 2025 13:57:40 -0500 Subject: [PATCH] fix custom dict loading with special chars `[]*?` --- src/dict/dictionary.cc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/dict/dictionary.cc b/src/dict/dictionary.cc index 0751724f1..565c7856c 100644 --- a/src/dict/dictionary.cc +++ b/src/dict/dictionary.cc @@ -251,22 +251,22 @@ int Class::getOptimalIconSize() bool Class::loadIconFromFileName( QString const & mainDictFileName ) { const QFileInfo info( mainDictFileName ); - const QString basename = info.baseName(); - QDir dir = info.absoluteDir(); + QDir dir = info.absoluteDir(); dir.setFilter( QDir::Files ); - dir.setNameFilters( QStringList() << basename + ".bmp" // - << basename + ".png" // - << basename + ".jpg" // - << basename + ".ico" // below are GD-ng only - << basename + ".jpeg" // - << basename + ".gif" // - << basename + ".webp" // - << basename + ".svgz" // - << basename + ".svg" ); + dir.setNameFilters( QStringList() << "*.bmp" // + << "*.png" // + << "*.jpg" // + << "*.ico" // below are GD-ng only + << "*.jpeg" // + << "*.gif" // + << "*.webp" // + << "*.svg" // + << "*.svgz" ); + const QString basename = info.baseName(); for ( const auto & f : dir.entryInfoList() ) { - if ( loadIconFromFilePath( f.absoluteFilePath() ) ) { + if ( f.baseName() == basename && loadIconFromFilePath( f.absoluteFilePath() ) ) { return true; } }