File indexing completed on 2024-05-12 05:00:20

0001 /* This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2000 David Faure <faure@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-only
0005 */
0006 
0007 #ifndef DIRTREE_ITEM_H
0008 #define DIRTREE_ITEM_H
0009 
0010 #include "konq_sidebartreeitem.h"
0011 
0012 #include <kfileitem.h>
0013 #include <QUrl>
0014 #include <konq_operations.h>
0015 
0016 #include <QStringList>
0017 
0018 class QDropEvent;
0019 
0020 class KonqSidebarDirTreeItem : public KonqSidebarTreeItem
0021 {
0022 public:
0023     KonqSidebarDirTreeItem(KonqSidebarTreeItem *parentItem, KonqSidebarTreeTopLevelItem *topLevelItem, const KFileItem &fileItem);
0024     KonqSidebarDirTreeItem(KonqSidebarTree *parent, KonqSidebarTreeTopLevelItem *topLevelItem, const KFileItem &fileItem);
0025     ~KonqSidebarDirTreeItem();
0026 
0027     KFileItem fileItem() const
0028     {
0029         return m_fileItem;
0030     }
0031 
0032     virtual void setOpen(bool open);
0033 
0034     virtual void paintCell(QPainter *_painter, const QColorGroup &_cg, int _column, int _width, int _alignment);
0035 
0036     virtual bool acceptsDrops(const Q3StrList &formats);
0037     virtual void drop(QDropEvent *ev);
0038     virtual bool populateMimeData(QMimeData *mimeData, bool move);
0039 
0040     virtual void middleButtonClicked();
0041     virtual void rightButtonPressed();
0042 
0043     virtual void paste();
0044     virtual void trash();
0045     virtual void del();
0046     virtual void rename(); // start a rename operation
0047     void rename(const QString &name);    // do the actual renaming
0048 
0049     // The URL to open when this link is clicked
0050     virtual QUrl externalURL() const;
0051     virtual QString externalMimeType() const;
0052     virtual QString toolTipText() const;
0053 
0054     virtual void itemSelected();
0055 
0056     void reset();
0057 
0058     bool hasStandardIcon();
0059 
0060     QString id;
0061 
0062 private:
0063     void delOperation(KonqOperations::Operation method);
0064     KFileItem m_fileItem;
0065 };
0066 
0067 #endif