File indexing completed on 2024-05-19 05:37:51
0001 /* 0002 SPDX-FileCopyrightText: 2008 Alex Merry <alex.merry@kdemail.net> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 #pragma once 0007 0008 #include <QUrl> 0009 0010 #include "modeljob.h" 0011 0012 class AddEditPlaceJob : public ModelJob 0013 { 0014 public: 0015 AddEditPlaceJob(KFilePlacesModel *model, QModelIndex index, const QVariantMap ¶meters, QObject *parent = nullptr) 0016 : ModelJob(parent, model, index, (index.isValid() ? "Edit" : "Add"), parameters) 0017 , m_text(parameters[QStringLiteral("Name")].toString()) 0018 , m_url(parameters[QStringLiteral("Url")].toUrl()) 0019 , m_icon(parameters[QStringLiteral("Icon")].toString()) 0020 { 0021 } 0022 0023 void start() override 0024 { 0025 if (m_index.isValid()) { 0026 m_model->editPlace(m_index, m_text, m_url, m_icon); 0027 } else { 0028 m_model->addPlace(m_text, m_url, m_icon); 0029 } 0030 } 0031 0032 private: 0033 QString m_text; 0034 QUrl m_url; 0035 QString m_icon; 0036 }; 0037 0038 class RemovePlaceJob : public ModelJob 0039 { 0040 public: 0041 RemovePlaceJob(KFilePlacesModel *model, const QModelIndex &index, QObject *parent) 0042 : ModelJob(parent, model, index, QStringLiteral("Remove")) 0043 { 0044 } 0045 0046 void start() override 0047 { 0048 m_model->removePlace(m_index); 0049 } 0050 }; 0051 0052 class ShowPlaceJob : public ModelJob 0053 { 0054 public: 0055 ShowPlaceJob(KFilePlacesModel *model, const QModelIndex &index, bool show = true, QObject *parent = nullptr) 0056 : ModelJob(parent, model, index, (show ? "Show" : "Hide")) 0057 , m_show(show) 0058 { 0059 } 0060 0061 void start() override 0062 { 0063 m_model->setPlaceHidden(m_index, m_show); 0064 } 0065 0066 private: 0067 bool m_show; 0068 }; 0069 0070 class TeardownDeviceJob : public ModelJob 0071 { 0072 public: 0073 TeardownDeviceJob(KFilePlacesModel *model, const QModelIndex &index, QObject *parent = nullptr) 0074 : ModelJob(parent, model, index, QStringLiteral("Teardown Device")) 0075 { 0076 } 0077 0078 void start() override 0079 { 0080 m_model->requestTeardown(m_index); 0081 } 0082 }; 0083 0084 #include "setupdevicejob.h"