File indexing completed on 2024-04-28 05:27:04

0001 /* This file is part of the KDE project
0002    SPDX-FileCopyrightText: 2022 Marco Rebhan <me@dblsaiko.net>
0003 
0004    SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
0005 */
0006 
0007 #ifndef MULTIAPPLYDIALOG_H
0008 #define MULTIAPPLYDIALOG_H
0009 
0010 #include <QDialog>
0011 #include <QList>
0012 
0013 class TypesListItem;
0014 class TypesListProxyItem;
0015 class QTreeWidget;
0016 class QTreeWidgetItem;
0017 
0018 class MultiApplyDialog : public QDialog
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit MultiApplyDialog(const TypesListItem *source, const QList<TypesListItem *> &sourceItemList, QWidget *parent = nullptr);
0024     ~MultiApplyDialog() override;
0025 
0026     const QList<TypesListItem *> selected() const;
0027 
0028 private:
0029     void load(const TypesListItem *source, const QList<TypesListItem *> &sourceItemList);
0030 
0031 private Q_SLOTS:
0032     void onItemChanged(QTreeWidgetItem *, int column);
0033 
0034 private:
0035     QTreeWidget *m_mimeTree;
0036     QList<TypesListProxyItem *> m_itemList;
0037     QList<TypesListItem *> m_selected;
0038     TypesListProxyItem *m_source = nullptr;
0039 };
0040 
0041 #endif