File indexing completed on 2024-05-05 05:13:10
0001 /* 0002 This file is part of Akregator. 0003 0004 SPDX-FileCopyrightText: 2008 Frank Osterfeld <osterfeld@kde.org> 0005 0006 SPDX-License-Identifier: GPL-2.0-or-later WITH Qt-Commercial-exception-1.0 0007 */ 0008 0009 #pragma once 0010 0011 #include <KJob> 0012 0013 #include <QWeakPointer> 0014 0015 #include "akregator_export.h" 0016 0017 namespace Akregator 0018 { 0019 class FeedList; 0020 0021 // transitional job classes 0022 0023 class AKREGATOR_EXPORT MoveSubscriptionJob : public KJob 0024 { 0025 Q_OBJECT 0026 public: 0027 explicit MoveSubscriptionJob(QObject *parent = nullptr); 0028 0029 void setSubscriptionId(uint id); 0030 void setDestination(uint folder, uint afterChild); 0031 0032 void start() override; 0033 0034 private Q_SLOTS: 0035 void doMove(); 0036 0037 private: 0038 uint m_id = 0; 0039 uint m_destFolderId = 0; 0040 uint m_afterId = 0; 0041 QWeakPointer<FeedList> m_feedList; 0042 }; 0043 0044 class AKREGATOR_EXPORT RenameSubscriptionJob : public KJob 0045 { 0046 Q_OBJECT 0047 public: 0048 explicit RenameSubscriptionJob(QObject *parent = nullptr); 0049 0050 void setSubscriptionId(uint id); 0051 void setName(const QString &name); 0052 0053 void start() override; 0054 0055 private Q_SLOTS: 0056 void doRename(); 0057 0058 private: 0059 uint m_id; 0060 QString m_name; 0061 QSharedPointer<FeedList> m_feedList; 0062 }; 0063 0064 class AKREGATOR_EXPORT DeleteSubscriptionJob : public KJob 0065 { 0066 Q_OBJECT 0067 public: 0068 explicit DeleteSubscriptionJob(QObject *parent = nullptr); 0069 0070 void setSubscriptionId(uint id); 0071 0072 void start() override; 0073 0074 private: 0075 void doDelete(); 0076 uint m_id; 0077 QWeakPointer<FeedList> m_feedList; 0078 }; 0079 }