File indexing completed on 2024-06-23 05:13:51
0001 /* -*- mode: c++; c-basic-offset:4 -*- 0002 crypto/gui/resultlistwidget.h 0003 0004 This file is part of Kleopatra, the KDE keymanager 0005 SPDX-FileCopyrightText: 2008 Klarälvdalens Datakonsult AB 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #pragma once 0011 0012 #include <QWidget> 0013 0014 #include <crypto/taskcollection.h> 0015 0016 #include <utils/pimpl_ptr.h> 0017 0018 #include <memory> 0019 0020 class QString; 0021 0022 namespace Kleo 0023 { 0024 namespace Crypto 0025 { 0026 0027 class TaskCollection; 0028 0029 namespace Gui 0030 { 0031 0032 class ResultListWidget : public QWidget 0033 { 0034 Q_OBJECT 0035 public: 0036 explicit ResultListWidget(QWidget *parent = nullptr, Qt::WindowFlags flags = {}); 0037 ~ResultListWidget() override; 0038 0039 void setTaskCollection(const std::shared_ptr<TaskCollection> &coll); 0040 void addTaskCollection(const std::shared_ptr<TaskCollection> &coll); 0041 0042 void setStandaloneMode(bool standalone); 0043 0044 bool isComplete() const; 0045 0046 unsigned int totalNumberOfTasks() const; 0047 unsigned int numberOfCompletedTasks() const; 0048 0049 Q_SIGNALS: 0050 void linkActivated(const QString &link); 0051 void showButtonClicked(const std::shared_ptr<const Task::Result> &result); 0052 void completeChanged(); 0053 0054 private: 0055 class Private; 0056 kdtools::pimpl_ptr<Private> d; 0057 Q_PRIVATE_SLOT(d, void result(std::shared_ptr<const Kleo::Crypto::Task::Result>)) 0058 Q_PRIVATE_SLOT(d, void started(std::shared_ptr<Kleo::Crypto::Task>)) 0059 Q_PRIVATE_SLOT(d, void allTasksDone()) 0060 }; 0061 } 0062 } 0063 }