File indexing completed on 2024-05-12 03:54:27

0001 /*
0002     SPDX-FileCopyrightText: 2023 Alexander Lohnau <alexander.lohnau@gmx.de>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 #include "kdesktopfileaction.h"
0006 #include <QSharedData>
0007 
0008 class KDesktopFileActionPrivate : public QSharedData
0009 {
0010 public:
0011     QString m_internalActionKey;
0012     QString m_name;
0013     QString m_icon;
0014     QString m_exec;
0015     QString m_desktopFilePath;
0016 
0017     KDesktopFileActionPrivate(const QString &name, const QString &text, const QString &icon, const QString &exec, QString desktopFilePath)
0018         : m_internalActionKey(name)
0019         , m_name(text)
0020         , m_icon(icon)
0021         , m_exec(exec)
0022         , m_desktopFilePath(desktopFilePath)
0023     {
0024     }
0025     KDesktopFileActionPrivate()
0026     {
0027     }
0028 };
0029 
0030 KDesktopFileAction::KDesktopFileAction(const QString &name, const QString &text, const QString &icon, const QString &exec, const QString &desktopFilePath)
0031     : d(new KDesktopFileActionPrivate(name, text, icon, exec, desktopFilePath))
0032 {
0033 }
0034 
0035 KDesktopFileAction::KDesktopFileAction()
0036     : d(new KDesktopFileActionPrivate())
0037 {
0038 }
0039 
0040 KDesktopFileAction::KDesktopFileAction(const KDesktopFileAction &other)
0041     : d(other.d)
0042 {
0043 }
0044 
0045 KDesktopFileAction::~KDesktopFileAction() = default;
0046 
0047 KDesktopFileAction &KDesktopFileAction::operator=(const KDesktopFileAction &other)
0048 {
0049     d = other.d;
0050     return *this;
0051 }
0052 
0053 QString KDesktopFileAction::actionsKey() const
0054 {
0055     return d->m_internalActionKey;
0056 }
0057 
0058 QString KDesktopFileAction::desktopFilePath() const
0059 {
0060     return d->m_desktopFilePath;
0061 }
0062 
0063 QString KDesktopFileAction::name() const
0064 {
0065     return d->m_name;
0066 }
0067 
0068 QString KDesktopFileAction::icon() const
0069 {
0070     return d->m_icon;
0071 }
0072 
0073 QString KDesktopFileAction::exec() const
0074 {
0075     return d->m_exec;
0076 }
0077 
0078 bool KDesktopFileAction::isSeparator() const
0079 {
0080     return d->m_internalActionKey == QLatin1String("_SEPARATOR_");
0081 }