diff --git a/components/shellprivate/wallpaperplugin/wallpaperplugin.knsrc b/components/shellprivate/wallpaperplugin/wallpaperplugin.knsrc index 780dbf5c4..2473fda42 100644 --- a/components/shellprivate/wallpaperplugin/wallpaperplugin.knsrc +++ b/components/shellprivate/wallpaperplugin/wallpaperplugin.knsrc @@ -1,41 +1,42 @@ [KNewStuff3] Name=Wallpaper Plugins Name[ca]=Connectors de fons de pantalla Name[ca@valencia]=Connectors de fons de pantalla Name[cs]=Moduly tapet Name[da]=Baggrundsbillede-plugins Name[de]=Hintergrundbild-Module Name[el]=Πρόσθετα για ταπετσαρίες Name[en_GB]=Wallpaper Plugins Name[es]=Complementos de fondos del escritorio Name[et]=Taustapildipluginad Name[eu]=Horma-paper pluginak Name[fi]=Taustakuvaliitännäiset Name[fr]=Modules externes de fonds d'écran Name[gl]=Complementos de fondo de escritorio Name[hu]=Háttérképmodulok +Name[ia]=Plugind de tapete de papiro Name[id]=Plugin-plugin Wallpaper Name[it]=Estensioni per lo sfondo Name[ko]=배경 그림 플러그인 Name[lt]=Darbalaukio fono papildiniai Name[ml]=വാള്‍പേപ്പര്‍ പ്ലഗ്ഗിനുകള്‍ Name[nl]=Achtergrond-plug-ins Name[nn]=Tillegg for bakgrunnsbilete Name[pa]=ਵਾਲਪੇਪਰ ਪਲੱਗਇਨਾਂ Name[pl]=Wtyczki tapety Name[pt]='Plugins' de Papel de Parede Name[pt_BR]=Plugins de papéis de parede Name[ru]=Подключаемые модули, предоставляющие обои рабочего стола Name[sk]=Doplnky tapety Name[sl]=Vtičniki ozadij Name[sv]=Insticksprogram för skrivbordsunderlägg Name[uk]=Додатки зображень тла Name[x-test]=xxWallpaper Pluginsxx Name[zh_CN]=壁纸插件 Name[zh_TW]=桌布外掛程式 ProvidersUrl=https://download.kde.org/ocs/providers.xml Categories=Plasma Wallpaper Plugin StandardResource=tmp InstallationCommand=kpackagetool5 --type Plasma/Wallpaper --install %f UninstallCommand=kpackagetool5 --type Plasma/Wallpaper --remove %f diff --git a/kcms/feedback/kcm_feedback.desktop b/kcms/feedback/kcm_feedback.desktop index 9da9896d5..4c357120c 100644 --- a/kcms/feedback/kcm_feedback.desktop +++ b/kcms/feedback/kcm_feedback.desktop @@ -1,75 +1,77 @@ [Desktop Entry] Exec=kcmshell5 feedback Icon=preferences-desktop-locale Type=Service X-KDE-ServiceTypes=KCModule X-DocPath=kcontrol/feedback/index.html X-KDE-Library=kcm_feedback X-KDE-ParentApp=kcontrol X-KDE-System-Settings-Parent-Category=personalization Name=User Feedback Name[ast]=Comentarios d'usuariu Name[ca]=Comentaris de l'usuari Name[cs]=Zpětná vazba uživatele Name[da]=Brugerfeedback Name[en_GB]=User Feedback Name[es]=Comentarios del usuario Name[et]=Kasutaja tagasiside Name[eu]=Erabiltzaileen berrelikadura Name[fi]=Käyttäjäpalaute Name[fr]=Retours des utilisateurs Name[gl]=Achegas de usuario Name[hu]=Felhasználói visszajelzés +Name[ia]=Responsa del usator Name[id]=Tanggapan Pengguna Name[it]=Segnalazioni dell'utente Name[ja]=ユーザ フィードバック Name[ko]=사용자 피드백 Name[lt]=Naudotojo grįžtamasis ryšys Name[nl]=Terugkoppeling van gebruiker Name[nn]=Tilbakemeldingar Name[pl]=Informacja zwrotna Name[pt]=Reacções do Utilizador Name[pt_BR]=Comentários dos usuários Name[ru]=Обратная связь Name[sk]=Používateľská odozva Name[sl]=Uporabnikov odziv Name[sv]=Användaråterkoppling Name[tg]=Изҳори назари корбар Name[uk]=Відгуки користувача Name[x-test]=xxUser Feedbackxx Name[zh_CN]=用户反馈 Name[zh_TW]=使用者意見回應 Comment=Configure user feedback settings Comment[ca]=Configura els ajustaments dels comentaris de l'usuari Comment[cs]=Nastavení voleb uživatelské zpětné vazby Comment[da]=Indstillinger for brugerfeedback Comment[en_GB]=Configure user feedback settings Comment[es]=Configurar las preferencias de los comentarios del usuario Comment[et]=Kasutaja tagasiside seadistamine Comment[eu]=Konfiguratu erabiltzaileen berrelikadura ezarpenak Comment[fi]=Käyttäjäpalautteen asetukset Comment[fr]=Configurer les paramètres des retours des utilisateurs Comment[gl]=Configurar as achegas de usuario Comment[hu]=A felhasználói visszajelzések beállításai +Comment[ia]=Configura preferentias de retorno de usator Comment[id]=Konfigurasikan pengaturan tanggapan pengguna Comment[it]=Configura le impostazioni di segnalazione dell'utente Comment[ko]=사용자 피드백 설정 Comment[lt]=Konfigūruoti naudotojo grįžtamojo ryšio nuostatas Comment[nl]=Instellingen voor terugkoppeling van gebruikers configureren Comment[nn]=Set opp tilbakemeldingar frå brukarar Comment[pl]=Ustawienia informacji zwrotnej Comment[pt]=Configurar as opções das reacções do utilizador Comment[pt_BR]=Configure as definições dos comentários dos usuários Comment[ru]=Настройка параметров обратной связи Comment[sk]=Nastaviť používateľskú odozvu Comment[sl]=Nastavi uporabnikov odziv Comment[sv]=Anpassa inställningar av användaråterkoppling Comment[uk]=Налаштовування системи відгуків користувача Comment[x-test]=xxConfigure user feedback settingsxx Comment[zh_CN]=配置用户反馈设置 Comment[zh_TW]=設定使用者意見回應設定 Categories=Qt;KDE; diff --git a/runners/appstream/appstreamrunner.cpp b/runners/appstream/appstreamrunner.cpp index b257ec49c..53387c87b 100644 --- a/runners/appstream/appstreamrunner.cpp +++ b/runners/appstream/appstreamrunner.cpp @@ -1,149 +1,149 @@ /*************************************************************************** * Copyright © 2016 Aleix Pol Gonzalez * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License as * * published by the Free Software Foundation; either version 2 of * * the License or (at your option) version 3 or any later version * * accepted by the membership of KDE e.V. (or its successor approved * * by the membership of KDE e.V.), which shall act as a proxy * * defined in Section 14 of version 3 of the license. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * ***************************************************************************/ #include "appstreamrunner.h" #include #include #include #include #include #include #include #include "debug.h" K_EXPORT_PLASMA_RUNNER(installer, InstallerRunner) InstallerRunner::InstallerRunner(QObject *parent, const QVariantList &args) : Plasma::AbstractRunner(parent, args) { Q_UNUSED(args) setObjectName("Installation Suggestions"); setPriority(AbstractRunner::HighestPriority); addSyntax(Plasma::RunnerSyntax(":q:", i18n("Looks for non-installed components according to :q:"))); } InstallerRunner::~InstallerRunner() { } static QIcon componentIcon(const AppStream::Component &comp) { QIcon ret; const auto icons = comp.icons(); if (icons.isEmpty()) { ret = QIcon::fromTheme(QStringLiteral("package-x-generic")); } else for(const AppStream::Icon &icon : icons) { QStringList stock; switch(icon.kind()) { case AppStream::Icon::KindLocal: ret.addFile(icon.url().toLocalFile(), icon.size()); break; case AppStream::Icon::KindCached: ret.addFile(icon.url().toLocalFile(), icon.size()); break; case AppStream::Icon::KindStock: stock += icon.name(); break; default: break; } if (ret.isNull() && !stock.isEmpty()) { ret = QIcon::fromTheme(stock.first()); } } return ret; } void InstallerRunner::match(Plasma::RunnerContext &context) { if(context.query().size() <= 2) return; const auto components = findComponentsByString(context.query()).mid(0, 3); for (const AppStream::Component &component : components) { if (component.kind() != AppStream::Component::KindDesktopApp) continue; const QString componentId = component.id(); const auto servicesFound = KApplicationTrader::query([&componentId] (const KService::Ptr &service) { if (service->exec().isEmpty()) return false; - if (service->desktopEntryName() == componentId) + if (service->desktopEntryName().compare(componentId, Qt::CaseInsensitive) == 0) return true; const auto idWithoutDesktop = QString(componentId).remove(".desktop"); - if (service->desktopEntryName() == idWithoutDesktop) + if (service->desktopEntryName().compare(idWithoutDesktop, Qt::CaseInsensitive) == 0) return true; const auto renamedFrom = service->property("X-Flatpak-RenamedFrom").toStringList(); - if (renamedFrom.contains(componentId) || renamedFrom.contains(idWithoutDesktop)) + if (renamedFrom.contains(componentId, Qt::CaseInsensitive) || renamedFrom.contains(idWithoutDesktop, Qt::CaseInsensitive)) return true; return false; }); if (!servicesFound.isEmpty()) continue; Plasma::QueryMatch match(this); match.setType(Plasma::QueryMatch::PossibleMatch); match.setId(componentId); match.setIcon(componentIcon(component)); match.setText(i18n("Get %1...", component.name())); match.setSubtext(component.summary()); match.setData(QUrl("appstream://" + componentId)); context.addMatch(match); } } void InstallerRunner::run(const Plasma::RunnerContext &/*context*/, const Plasma::QueryMatch &match) { const QUrl appstreamUrl = match.data().toUrl(); if (!QDesktopServices::openUrl(appstreamUrl)) qCWarning(RUNNER_APPSTREAM) << "couldn't open" << appstreamUrl; } QList InstallerRunner::findComponentsByString(const QString &query) { QMutexLocker locker(&m_appstreamMutex); QString error; static bool warnedOnce = false; static bool opened = m_db.load(&error); if(!opened) { if (warnedOnce) { qCDebug(RUNNER_APPSTREAM) << "Had errors when loading AppStream metadata pool" << error; } else { qCWarning(RUNNER_APPSTREAM) << "Had errors when loading AppStream metadata pool" << error; warnedOnce = true; } } return m_db.search(query); } #include "appstreamrunner.moc"