~ubuntu-branches/ubuntu/hoary/kdemultimedia/hoary

« back to all changes in this revision

Viewing changes to noatun/noatun/modules/splitplaylist/view.h

  • Committer: Bazaar Package Importer
  • Author(s): Martin Schulze
  • Date: 2003-01-22 15:00:51 UTC
  • Revision ID: james.westby@ubuntu.com-20030122150051-uihwkdoxf15mi1tn
Tags: upstream-2.2.2
ImportĀ upstreamĀ versionĀ 2.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef VIEW_H
 
2
#define VIEW_H
 
3
 
 
4
#include <qevent.h>
 
5
#include <qlist.h>
 
6
#include <klistview.h>
 
7
#include <ktmainwindow.h>
 
8
#include <qrect.h>
 
9
#include <kdirlister.h>
 
10
 
 
11
class Finder;
 
12
class View;
 
13
class SafeListViewItem : public QCheckListItem, public PlaylistItem
 
14
{
 
15
public:
 
16
        SafeListViewItem(QListView *parent, QListViewItem *after, const KURL &text);
 
17
        virtual ~SafeListViewItem();
 
18
 
 
19
protected:
 
20
        virtual void downloaded(int percent);
 
21
        virtual void modified();
 
22
        virtual void stateChange(bool s);
 
23
};
 
24
 
 
25
class List : public KListView
 
26
{
 
27
Q_OBJECT
 
28
friend class View;
 
29
public:
 
30
        List(View *parent);
 
31
        virtual ~List();
 
32
        QListViewItem *openGlobal(const KURL&, QListViewItem * =0);
 
33
        QListViewItem *addFile(const KURL&, bool play=false, QListViewItem * =0);
 
34
        void addDirectoryRecursive(const KURL &dir, QListViewItem *after= 0);
 
35
 
 
36
signals:
 
37
        void modified(void);
 
38
 
 
39
protected:
 
40
        virtual bool acceptDrag(QDropEvent *event) const;
 
41
        virtual void viewportPaintEvent(QPaintEvent *);
 
42
        
 
43
protected slots:
 
44
        virtual void dropEvent(QDropEvent *event, QListViewItem *after);
 
45
        void move(QList<QListViewItem> &item, QList<QListViewItem> &afterFirst, QList<QListViewItem> &afterNow);
 
46
 
 
47
protected:
 
48
        QListViewItem *recursiveAddAfter;
 
49
        
 
50
protected slots:
 
51
        // used when adding directories via KIO::listRecursive
 
52
        void slotResult(KIO::Job *job);
 
53
        void slotEntries(KIO::Job *job, const KIO::UDSEntryList &entries);
 
54
        void slotRedirection(KIO::Job *, const KURL & url);
 
55
 
 
56
protected:
 
57
        void addNextPendingDirectory();
 
58
    KURL::List pendingAddDirectories;
 
59
        KIO::ListJob *listJob;
 
60
        KURL currentJobURL;
 
61
};
 
62
 
 
63
class KFileDialog;
 
64
class KToggleAction;
 
65
class KToolBar;
 
66
 
 
67
class View : public KMainWindow
 
68
{
 
69
Q_OBJECT
 
70
public:
 
71
        View(SplitPlaylist *mother);
 
72
        // load the SM playlist
 
73
        void init();
 
74
        virtual ~View();
 
75
        List *listView() const { return list; }
 
76
        QListViewItem *addFile(const KURL &u, bool play=false)
 
77
                { return list->addFile(u, play); }
 
78
 
 
79
 
 
80
public slots:
 
81
        void deleteSelected();
 
82
        void addFiles();
 
83
        void addDirectory();
 
84
        void save();
 
85
        void saveAs();
 
86
        void open();
 
87
        void openNew();
 
88
        void clearView() { list->clear(); }
 
89
        void setSorting(bool on, int column = 0);
 
90
        void setNoSorting() { setSorting(false); }
 
91
        void headerClicked(int column);void find();
 
92
        void findIt(Finder *);
 
93
 
 
94
        
 
95
private slots:
 
96
        void setModified();
 
97
        void saveState();
 
98
        
 
99
protected:
 
100
        void setupActions();
 
101
        void saveToURL(const KURL &);
 
102
        void setModified(bool);
 
103
        virtual void closeEvent(QCloseEvent*e);
 
104
        virtual void showEvent(QShowEvent *);
 
105
        virtual void hideEvent(QHideEvent *);
 
106
 
 
107
signals:
 
108
        void hidden();
 
109
        void shown();
 
110
        
 
111
private:
 
112
        List *list;
 
113
        KAction *mOpen, *mDelete, *mSave, *mSaveAs, *mOpenpl, *mOpenNew;
 
114
        KAction *mFind;
 
115
        KToolBar *tb;
 
116
 
 
117
        KURL mPlaylistFile;
 
118
        bool modified;
 
119
};
 
120
 
 
121
#endif