File indexing completed on 2024-05-12 05:36:58

0001 /*
0002  *  SPDX-FileCopyrightText: 2023 Oliver Beard <olib141@outlook.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #include "applicationInfo.h"
0008 
0009 #include <KService>
0010 #include <QString>
0011 
0012 void ApplicationInfo::setDesktopName(const QString &desktopName)
0013 {
0014     if (m_desktopName == desktopName) {
0015         return;
0016     }
0017 
0018     m_desktopName = desktopName;
0019     Q_EMIT desktopNameChanged();
0020 
0021     const KService::Ptr service = KService::serviceByDesktopName(m_desktopName);
0022 
0023     const bool exists = (service != nullptr);
0024     if (m_exists != exists) {
0025         m_exists = exists;
0026         Q_EMIT existsChanged();
0027     }
0028 
0029     if (!exists) {
0030         return;
0031     }
0032 
0033     const QString name = service->name();
0034     if (m_name != name) {
0035         m_name = name;
0036         Q_EMIT nameChanged();
0037     }
0038 
0039     const QString icon = service->icon();
0040     if (m_icon != icon) {
0041         m_icon = icon;
0042         Q_EMIT iconChanged();
0043     }
0044 }
0045 
0046 #include "moc_applicationInfo.cpp"