File indexing completed on 2024-04-21 04:56:53

0001 /**
0002  * SPDX-FileCopyrightText: 2015 David Edmundson <davidedmundson@kde.org>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include "kcmplugin/kdeconnectpluginkcm.h"
0010 
0011 class QMenu;
0012 class QStandardItemModel;
0013 
0014 class RunCommandConfig : public KdeConnectPluginKcm
0015 {
0016     Q_OBJECT
0017 public:
0018     RunCommandConfig(QObject *parent, const KPluginMetaData &data, const QVariantList &);
0019 
0020     void save() override;
0021     void load() override;
0022     void defaults() override;
0023 
0024 private:
0025     void onDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
0026     void exportCommands();
0027     void importCommands();
0028 
0029     void addSuggestedCommand(QMenu *menu, const QString &name, const QString &command);
0030     void insertRow(int i, const QString &name, const QString &command);
0031     void insertEmptyRow();
0032 
0033     QStandardItemModel *m_entriesModel;
0034 };