diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 19:31:25 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-22 19:31:25 +0000 |
commit | 6afd9d8dddbe9e450690e05d498a503c00333a5e (patch) | |
tree | ee3eaca74e8e33dd66f24f5fb6c1431d7a9ff429 /ksquirrel/sidebar/sq_directorybasket.h | |
download | ksquirrel-6afd9d8dddbe9e450690e05d498a503c00333a5e.tar.gz ksquirrel-6afd9d8dddbe9e450690e05d498a503c00333a5e.zip |
Added KDE3 version of ksquirrel photo manager
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ksquirrel@1094446 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksquirrel/sidebar/sq_directorybasket.h')
-rw-r--r-- | ksquirrel/sidebar/sq_directorybasket.h | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/ksquirrel/sidebar/sq_directorybasket.h b/ksquirrel/sidebar/sq_directorybasket.h new file mode 100644 index 0000000..eaf2fce --- /dev/null +++ b/ksquirrel/sidebar/sq_directorybasket.h @@ -0,0 +1,193 @@ +/*************************************************************************** + sq_directorybasket.h - description + ------------------- + begin : ??? Sep 29 2007 + copyright : (C) 2007 by Baryshev Dmitry + email : ksquirrel.iv@gmail.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef SQ_DIRECTORYBASKET_H +#define SQ_DIRECTORYBASKET_H + +#include <kfiletreeview.h> +#include <kfiletreebranch.h> + +#include "sq_treeviewmenu.h" + +class QTimer; + +class KProgress; + +namespace KIO { class Job; } + +class SQ_DirectoryItem; +class SQ_Dir; + +class SQ_DBMenu : public SQ_TreeViewMenu +{ + Q_OBJECT + + public: + SQ_DBMenu(QWidget *parent = 0, const char *name = 0); + ~SQ_DBMenu(); + + virtual void updateDirActions(bool, bool isroot = false); + + void setItem(SQ_DirectoryItem *); + + private slots: + void slotChangeIcon(); + void slotDirectoryRename(); + void slotDirectoryDelete(); + void slotDirectoryResult(KIO::Job *job); + + private: + SQ_DirectoryItem *item; + int id_icon; +}; + +inline +void SQ_DBMenu::setItem(SQ_DirectoryItem *i) +{ + item = i; +} + +class SQ_DirectoryItem : public KFileTreeViewItem +{ + public: + SQ_DirectoryItem(KFileTreeViewItem *parentItem, KFileItem *fileItem, KFileTreeBranch *parentBranch); + SQ_DirectoryItem(KFileTreeView *parent, KFileItem *fileItem, KFileTreeBranch *parentBranch); + ~SQ_DirectoryItem(); + + int index() const; + void setIndex(int ind); + + KURL url() const; + void setURL(const KURL &u); + + QString name() const; + void setName(const QString &n); + + QString icon() const; + void setIcon(const QString &n); + + bool hasName() const; + + private: + int m_index; + QString m_name, m_icon; + KURL m_url; +}; + +inline +KURL SQ_DirectoryItem::url() const +{ + return m_url; +} + +inline +void SQ_DirectoryItem::setURL(const KURL &u) +{ + m_url = u; +} + +inline +int SQ_DirectoryItem::index() const +{ + return m_index; +} + +inline +void SQ_DirectoryItem::setIndex(int ind) +{ + m_index = ind; +} + +inline +QString SQ_DirectoryItem::name() const +{ + return m_name; +} + +inline +void SQ_DirectoryItem::setName(const QString &n) +{ + m_name = n; +} + +inline +QString SQ_DirectoryItem::icon() const +{ + return m_icon; +} + +inline +void SQ_DirectoryItem::setIcon(const QString &n) +{ + m_icon = n; +} + +inline +bool SQ_DirectoryItem::hasName() const +{ + return !m_name.isEmpty(); +} + +/* ****************************************************************** */ + +class SQ_DirectoryBasketBranch : public KFileTreeBranch +{ + public: + SQ_DirectoryBasketBranch(KFileTreeView*, const KURL &url, const QString &name, const QPixmap &pix); + ~SQ_DirectoryBasketBranch(); + + protected: + virtual KFileTreeViewItem *createTreeViewItem(KFileTreeViewItem *parent, KFileItem *fileItem); +}; + +class SQ_DirectoryBasket : public KFileTreeView +{ + Q_OBJECT + + public: + SQ_DirectoryBasket(QWidget *parent = 0, const char *name = 0); + ~SQ_DirectoryBasket(); + + void add(const KFileItemList &list); + + static SQ_DirectoryBasket* instance() { return m_inst; } + + private: + void sort(); + + private slots: + void slotDropped(QDropEvent *, QListViewItem *, QListViewItem *); + void slotItemExecuted(QListViewItem *item); + void slotContextMenu(KListView *, QListViewItem *item, const QPoint &p); + void slotNewDirectory(); + void slotSortReal(); + void slotSort(); + void slotReindex(); + void slotItemRenamedMy(QListViewItem *, int, const QString &); + void slotDelayedShowAdd(); + + private: + KFileTreeBranch *root; + SQ_Dir *dir; + QTimer *timer, *timerAdd; + SQ_DBMenu *menu; + KProgress *progressAdd; + + static SQ_DirectoryBasket *m_inst; +}; + +#endif |