File indexing completed on 2024-05-05 05:51:24

0001 /* This file is part of the KDE project
0002    SPDX-FileCopyrightText: 2020 Mario Aichinger <aichingm@gmail.com>
0003 
0004    SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KFileItem>
0010 #include <QMenu>
0011 
0012 /*
0013     The KateFileBrowserOpenWithMenu extends a QMenu with a KFileItem property, used to
0014     pass data of the selected file to the creation of the submenu.
0015 */
0016 
0017 class KateFileBrowserOpenWithMenu : public QMenu
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(KFileItem item READ item WRITE setItem)
0021 
0022 public:
0023     explicit KateFileBrowserOpenWithMenu(const QString &title, QWidget *parent = nullptr);
0024     ~KateFileBrowserOpenWithMenu() override;
0025 
0026     void setItem(KFileItem item)
0027     {
0028         m_item = item;
0029     }
0030 
0031     KFileItem item()
0032     {
0033         return m_item;
0034     }
0035 
0036 public Q_SLOTS:
0037 
0038 private Q_SLOTS:
0039 
0040 protected:
0041 private:
0042     KFileItem m_item;
0043 };