7
#include <kmainwindow.h>
10
#include <kio/global.h>
11
#include <noatun/downloader.h>
15
namespace KIO { class ListJob; }
18
class SafeListViewItem
19
: public QCheckListItem
20
, public PlaylistItemData
24
SafeListViewItem(QListView *parent, QListViewItem *after, const KURL &text);
25
SafeListViewItem(QListView *parent, QListViewItem *after, const QMap<QString,QString> &properties);
26
virtual ~SafeListViewItem();
28
virtual QString property(const QString &, const QString & = 0) const;
29
virtual void setProperty(const QString &, const QString &);
30
virtual void clearProperty(const QString &);
31
virtual QStringList properties() const;
32
virtual bool isProperty(const QString &) const;
34
virtual QString file() const;
36
int compare(QListViewItem * i, int col, bool ascending) const;
37
virtual void remove();
40
virtual void downloaded(int percent);
41
virtual void downloadTimeout();
42
virtual void downloadFinished();
43
virtual void modified();
44
virtual void stateChange(bool s);
46
void paintCell(QPainter *p, const QColorGroup &cg, int column, int width, int align);
54
QValueList<Property> mProperties;
58
class List : public KListView
65
QListViewItem *openGlobal(const KURL&, QListViewItem * =0);
66
QListViewItem *importGlobal(const KURL&, QListViewItem * =0);
67
QListViewItem *addFile(const KURL&, bool play=false, QListViewItem * =0);
68
void addDirectoryRecursive(const KURL &dir, QListViewItem *after= 0);
75
void deleteCurrentItem();
78
virtual bool acceptDrag(QDropEvent *event) const;
79
virtual void keyPressEvent(QKeyEvent *e);
82
virtual void dropEvent(QDropEvent *event, QListViewItem *after);
86
QListViewItem *recursiveAddAfter;
89
// used when adding directories via KIO::listRecursive
90
void slotResult(KIO::Job *job);
91
void slotEntries(KIO::Job *job, const KIO::UDSEntryList &entries);
92
void slotRedirection(KIO::Job *, const KURL & url);
95
void addNextPendingDirectory();
96
KURL::List pendingAddDirectories;
97
KIO::ListJob *listJob;
105
class View : public KMainWindow
109
View(SplitPlaylist *mother);
110
// load the SM playlist
113
List *listView() const { return list; }
114
QListViewItem *addFile(const KURL &u, bool play=false)
115
{ return list->addFile(u, play, list->lastItem()); }
119
void deleteSelected();
126
void setSorting(bool on, int column = 0);
127
void setNoSorting() { setSorting(false); }
128
void headerClicked(int column);void find();
129
void findIt(Finder *);
136
void configureToolBars();
137
void newToolBarConfig();
142
bool saveToURL(const KURL &);
143
void exportTo(const KURL &);
145
void setModified(bool);
146
virtual void closeEvent(QCloseEvent*e);
147
virtual void showEvent(QShowEvent *);
148
virtual void hideEvent(QHideEvent *);
156
KAction *mOpen, *mDelete, *mSave, *mSaveAs, *mOpenpl, *mOpenNew;