- Namespaced QBittorrentSession and QTorrentHandle to avoid possible future conflicts
[qtrapids] / src / gui / DownloadView.h
index 80b5228..cb300ba 100644 (file)
@@ -27,6 +27,7 @@
 #include "QBittorrentSession.h"
 
 class DownloadViewItem;
+class QTimer;
 
 /**
        @class DownloadView
@@ -42,19 +43,33 @@ Q_OBJECT
 
     ~DownloadView();
 
-               void newItem(QTorrentHandle const* handle);
-               void updateItem(QTorrentHandle const* handle);
+               void newItem(qtrapids::QTorrentHandle handle);
+               void updateItem(qtrapids::QTorrentHandle handle);
+               qtrapids::QTorrentHandle removeSelected();
+               void removeItem(qtrapids::QTorrentHandle handle);
+               void setRefreshInterval(int msec);
+               
+       private slots:
+               void on_itemClicked(QTreeWidgetItem * item, int column);
+               void on_timeout();
                
        private:
                // Maps torrent to downloadview item.
                // Key: SHA1 info hash of torrent. Data: View item corresponding to torrent.
-               std::map<Sha1Hash, DownloadViewItem*> items_;
+               std::map<qtrapids::QTorrentHandle, DownloadViewItem*> items_;
+               QTimer *timer_;
+               
+               // Private functions.
+               QString GetStatusString(qtrapids::QTorrentHandle::State const& status) const;
+               QColor GetStatusColor(qtrapids::QTorrentHandle::State const& status) const;
+    void UpdateView();
+
                
 };
 
 
 /**
-       @class DownloadViewItem
+       @class DownloadViewItem 
        @brief Represents one item row of DownloadView
 */
 class DownloadViewItem : public QTreeWidgetItem {