#ifndef _FILE_TRANSFER_LV_H #define _FILE_TRANSFER_LV_H #include #include "file_transfer_lv_item.h" #include using namespace std; class QTimer; class QPopupMenu; /// This listview widget class displays file transfers, both downloads and uploads. class file_transfer_lv : public QListView { Q_OBJECT public: file_transfer_lv(int type,QWidget *parent = 0, const char *name = 0); file_transfer_lv_item *findTransfer(const QString& file); file_transfer *findTransferRequest(const QString& localFile); void storeGDL(int gdlId, const QString& nick, const QString& remoteName, const QString& localName, int size); signals: void transferStart(const QString &u, const QString &f); void transferDone(const QString &u, const QString &f); void cancel_transfer(int id); void get_flist(const QString &); void update_dlist(); public slots: // Add an upload to the list void add_transfer(int id,const QString &nick, const QString &filename); // Remove an upload void removeTransfer(const QString &nick, const QString &filename); // Information about a download void transfer_info(int gdl, const QString &fname, int totSize, int recSize, int recLast10, const QString &users, const QString &status); // Called to update which of the downloads that are active // void active_transfers( list &llGdlIds ); // Information about an upload void transfer_info(int id, int totSize, int amountSent ); void update_all(); void menu_clicked(int); void show_menu(QListViewItem*, const QPoint&, int); void removeInactive(); private: // Add a download to the list void add_transfer(int gdl, const QString &nick); list transfers; QTimer *timer; file_transfer_lv_item* last_clicked; QPopupMenu* menu; int type; // Local list of requested downloads for mapping between local and remote filenames. list llFiles; }; #endif