/* * urllistview.h * * Copyright (C) 2003-2005 Jürgen Kofler * * 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. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef URLLISTVIEW_H #define URLLISTVIEW_H #ifdef HAVE_CONFIG_H #include #endif #include class TDEPopupMenu; class TQWidget; class TQDragObject; class PlaylistItem; class MRL; namespace TDEIO { class Job; } class UrlListView : public TDEListView { Q_OBJECT public: UrlListView(TQWidget *parent=0, const char *name=0); ~UrlListView(); void setCleared(bool); bool getCleared() const; /* was the playlist cleared or should we save it? */ public slots: virtual void clear(); /* reimplement slot */ signals: void signalPlayItem(TQListViewItem* ); /* play selected in context menu */ void signalCut(); void signalCopy(); void signalPaste(); void signalSelectAll(); void signalAddToQueue(MRL); void signalPlaylistFromSelected(); private slots: void slotShowContextMenu(TQListViewItem*, const TQPoint&, int); void slotCurrentChanged(TQListViewItem *); void slotAddSubtitle(); void slotShowInfo(); void slotEditTitle(); void slotPlayItem(); void slotClicked(TQListViewItem*, const TQPoint&, int); void slotPlayNext(); void openSubResult( TDEIO::Job* ); void openSubData( TDEIO::Job*, const TQByteArray& ); protected: virtual bool acceptDrag(TQDropEvent* event) const; virtual void resizeEvent(TQResizeEvent*); virtual TQDragObject* dragObject(); private: void enableSubEntry(); void disableSubEntry(); private: bool m_listCleared; int m_column5Width; /* width of the fifth column */ int m_column4Track; /* width of the fourth column */ PlaylistItem* m_itemOfContextMenu; TDEPopupMenu* m_contextMenu; TDEIO::Job *openSubJob; TQByteArray openSubJobBuf; }; #endif /* URLLISTVIEW_H */