Hello community, here is the log from the commit of package qbittorrent for openSUSE:Factory checked in at 2016-01-28 17:23:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qbittorrent (Old) and /work/SRC/openSUSE:Factory/.qbittorrent.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qbittorrent" Changes: -------- --- /work/SRC/openSUSE:Factory/qbittorrent/qbittorrent.changes 2016-01-23 01:16:36.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.qbittorrent.new/qbittorrent.changes 2016-01-28 17:24:02.000000000 +0100 @@ -1,0 +2,9 @@ +Mon Jan 25 10:12:32 UTC 2016 - [email protected] + +- Update to 3.3.3: + * BUGFIX: Temporarily disable "filename" column of peers view. + It has a bug that causes frequent crashes. + * WEBUI: Move style of dynamic table header to CSS. + * WEBUI: Fix unnecessary updates of torrent peers table. + +------------------------------------------------------------------- Old: ---- qbittorrent-3.3.2.tar.xz New: ---- qbittorrent-3.3.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qbittorrent.spec ++++++ --- /var/tmp/diff_new_pack.ukkPGw/_old 2016-01-28 17:24:02.000000000 +0100 +++ /var/tmp/diff_new_pack.ukkPGw/_new 2016-01-28 17:24:02.000000000 +0100 @@ -19,7 +19,7 @@ %define _name qBittorrent Name: qbittorrent -Version: 3.3.2 +Version: 3.3.3 Release: 0 Summary: A BitTorrent client in Qt License: GPL-2.0+ ++++++ qbittorrent-3.3.2.tar.xz -> qbittorrent-3.3.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/Changelog new/qbittorrent-3.3.3/Changelog --- old/qbittorrent-3.3.2/Changelog 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/Changelog 2016-01-20 23:52:26.000000000 +0100 @@ -1,3 +1,8 @@ +* Thu Jan 21 2016 - sledgehammer999 <[email protected]> - v3.3.3 + - BUGFIX: Temporarily disable "filename" column of peers view. It has a bug that causes frequent crashes. See issue #4597. + - WEBUI: Move style of dynamic table header to CSS (buinsky) + - WEBUI: Fix unnecessary updates of torrent peers table (buinsky) + * Tue Jan 19 2016 - sledgehammer999 <[email protected]> - v3.3.2 - FEATURE: Add a new column to peers list that shows list of files which are downloaded right now from a peer. (evsh) - FEATURE: Improve the "Watch folders" UI. Closes #4300. You'll need to redo your watch folders settings. (sledgehammer999, glassez) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/dist/mac/Info.plist new/qbittorrent-3.3.3/dist/mac/Info.plist --- old/qbittorrent-3.3.2/dist/mac/Info.plist 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/dist/mac/Info.plist 2016-01-20 23:52:26.000000000 +0100 @@ -45,7 +45,7 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>3.3.2</string> + <string>3.3.3</string> <key>CFBundleSignature</key> <string>qBit</string> <key>CFBundleExecutable</key> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/dist/windows/options.nsi new/qbittorrent-3.3.3/dist/windows/options.nsi --- old/qbittorrent-3.3.2/dist/windows/options.nsi 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/dist/windows/options.nsi 2016-01-20 23:52:26.000000000 +0100 @@ -19,7 +19,7 @@ !define CSIDL_APPDATA '0x1A' ;Application Data path !define CSIDL_LOCALAPPDATA '0x1C' ;Local Application Data path -!define PROG_VERSION "3.3.2" +!define PROG_VERSION "3.3.3" !define MUI_FINISHPAGE_RUN !define MUI_FINISHPAGE_RUN_FUNCTION PageFinishRun !define MUI_FINISHPAGE_RUN_TEXT $(launch_qbt) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.cpp new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.cpp --- old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.cpp 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.cpp 2016-01-20 23:52:26.000000000 +0100 @@ -408,8 +408,3 @@ { return m_flagsDescription; } - -int PeerInfo::downloadingPieceIndex() const -{ - return m_nativeInfo.downloading_piece_index; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.h new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.h --- old/qbittorrent-3.3.2/src/base/bittorrent/peerinfo.h 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/base/bittorrent/peerinfo.h 2016-01-20 23:52:26.000000000 +0100 @@ -100,7 +100,6 @@ #ifndef DISABLE_COUNTRIES_RESOLUTION QString country() const; #endif - int downloadingPieceIndex() const; private: void calcRelevance(const TorrentHandle *torrent); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.cpp new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.cpp --- old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.cpp 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.cpp 2016-01-20 23:52:26.000000000 +0100 @@ -211,20 +211,6 @@ return QByteArray(m_nativeInfo->metadata().get(), m_nativeInfo->metadata_size()); } -QStringList TorrentInfo::filesForPiece(int pieceIndex) const -{ - if (pieceIndex < 0) - return QStringList(); - - std::vector<libtorrent::file_slice> files( - nativeInfo()->map_block(pieceIndex, 0, nativeInfo()->piece_length())); - QStringList res; - for (const libtorrent::file_slice& s: files) { - res.append(filePath(s.file_index)); - } - return res; -} - void TorrentInfo::renameFile(uint index, const QString &newPath) { if (!isValid()) return; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.h new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.h --- old/qbittorrent-3.3.2/src/base/bittorrent/torrentinfo.h 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/base/bittorrent/torrentinfo.h 2016-01-20 23:52:26.000000000 +0100 @@ -75,7 +75,6 @@ QList<TrackerEntry> trackers() const; QList<QUrl> urlSeeds() const; QByteArray metadata() const; - QStringList filesForPiece(int pieceIndex) const; void renameFile(uint index, const QString &newPath); boost::intrusive_ptr<libtorrent::torrent_info> nativeInfo() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/gui/properties/peerlistdelegate.h new/qbittorrent-3.3.3/src/gui/properties/peerlistdelegate.h --- old/qbittorrent-3.3.2/src/gui/properties/peerlistdelegate.h 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/gui/properties/peerlistdelegate.h 2016-01-20 23:52:26.000000000 +0100 @@ -41,7 +41,7 @@ public: enum PeerListColumns {COUNTRY, IP, PORT, CONNECTION, FLAGS, CLIENT, PROGRESS, DOWN_SPEED, UP_SPEED, - TOT_DOWN, TOT_UP, RELEVANCE, DOWNLOADING_PIECE, IP_HIDDEN, COL_COUNT}; + TOT_DOWN, TOT_UP, RELEVANCE, IP_HIDDEN, COL_COUNT}; public: PeerListDelegate(QObject *parent) : QItemDelegate(parent) {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.cpp new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.cpp --- old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.cpp 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.cpp 2016-01-20 23:52:26.000000000 +0100 @@ -78,7 +78,6 @@ m_listModel->setHeaderData(PeerListDelegate::TOT_DOWN, Qt::Horizontal, tr("Downloaded", "i.e: total data downloaded")); m_listModel->setHeaderData(PeerListDelegate::TOT_UP, Qt::Horizontal, tr("Uploaded", "i.e: total data uploaded")); m_listModel->setHeaderData(PeerListDelegate::RELEVANCE, Qt::Horizontal, tr("Relevance", "i.e: How relevant this peer is to us. How many pieces it has that we don't.")); - m_listModel->setHeaderData(PeerListDelegate::DOWNLOADING_PIECE, Qt::Horizontal, tr("Files", "i.e. files that are being downloaded right now")); // Proxy model to support sorting without actually altering the underlying model m_proxyModel = new PeerListSortModel(); m_proxyModel->setDynamicSortFilter(true); @@ -283,14 +282,14 @@ QString peerIp = addr.ip.toString(); if (m_peerItems.contains(peerIp)) { // Update existing peer - updatePeer(peerIp, torrent, peer); + updatePeer(peerIp, peer); oldeersSet.remove(peerIp); if (forceHostnameResolution && m_resolver) m_resolver->resolve(peerIp); } else { // Add new peer - m_peerItems[peerIp] = addPeer(peerIp, torrent, peer); + m_peerItems[peerIp] = addPeer(peerIp, peer); m_peerAddresses[peerIp] = addr; // Resolve peer host name is asked if (m_resolver) @@ -308,7 +307,7 @@ } } -QStandardItem* PeerListWidget::addPeer(const QString& ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer) +QStandardItem* PeerListWidget::addPeer(const QString &ip, const BitTorrent::PeerInfo &peer) { int row = m_listModel->rowCount(); // Adding Peer to peer list @@ -338,14 +337,10 @@ m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_DOWN), peer.totalDownload()); m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_UP), peer.totalUpload()); m_listModel->setData(m_listModel->index(row, PeerListDelegate::RELEVANCE), peer.relevance()); - QStringList downloadingFiles(torrent->info().filesForPiece(peer.downloadingPieceIndex())); - m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String(";"))); - m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String("\n")), Qt::ToolTipRole); - return m_listModel->item(row, PeerListDelegate::IP); } -void PeerListWidget::updatePeer(const QString &ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer) +void PeerListWidget::updatePeer(const QString &ip, const BitTorrent::PeerInfo &peer) { QStandardItem *item = m_peerItems.value(ip); int row = item->row(); @@ -369,9 +364,6 @@ m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_DOWN), peer.totalDownload()); m_listModel->setData(m_listModel->index(row, PeerListDelegate::TOT_UP), peer.totalUpload()); m_listModel->setData(m_listModel->index(row, PeerListDelegate::RELEVANCE), peer.relevance()); - QStringList downloadingFiles(torrent->info().filesForPiece(peer.downloadingPieceIndex())); - m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String(";"))); - m_listModel->setData(m_listModel->index(row, PeerListDelegate::DOWNLOADING_PIECE), downloadingFiles.join(QLatin1String("\n")), Qt::ToolTipRole); } void PeerListWidget::handleResolved(const QString &ip, const QString &hostname) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.h new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.h --- old/qbittorrent-3.3.2/src/gui/properties/peerlistwidget.h 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/gui/properties/peerlistwidget.h 2016-01-20 23:52:26.000000000 +0100 @@ -68,8 +68,8 @@ ~PeerListWidget(); void loadPeers(BitTorrent::TorrentHandle *const torrent, bool forceHostnameResolution = false); - QStandardItem *addPeer(const QString &ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer); - void updatePeer(const QString &ip, BitTorrent::TorrentHandle *const torrent, const BitTorrent::PeerInfo &peer); + QStandardItem *addPeer(const QString &ip, const BitTorrent::PeerInfo &peer); + void updatePeer(const QString &ip, const BitTorrent::PeerInfo &peer); void updatePeerHostNameResolutionState(); void updatePeerCountryResolutionState(); void clear(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/css/dynamicTable.css new/qbittorrent-3.3.3/src/webui/www/public/css/dynamicTable.css --- old/qbittorrent-3.3.2/src/webui/www/public/css/dynamicTable.css 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/webui/www/public/css/dynamicTable.css 2016-01-20 23:52:26.000000000 +0100 @@ -88,3 +88,7 @@ white-space: nowrap; max-width: 300px; } + +tr.dynamicTableHeader { + cursor: pointer; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/properties_content.html new/qbittorrent-3.3.3/src/webui/www/public/properties_content.html --- old/qbittorrent-3.3.2/src/webui/www/public/properties_content.html 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/webui/www/public/properties_content.html 2016-01-20 23:52:26.000000000 +0100 @@ -67,7 +67,7 @@ <div id="peers"> <table class="torrentTable" cellpadding="0" cellspacing="0" style="width: 100%"> <thead> - <tr id="torrentPeersTableHeader"> + <tr id="torrentPeersTableHeader" class="dynamicTableHeader"> </tr> </thead> <tbody id="torrentPeersTable"></tbody> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/scripts/dynamicTable.js new/qbittorrent-3.3.3/src/webui/www/public/scripts/dynamicTable.js --- old/qbittorrent-3.3.2/src/webui/www/public/scripts/dynamicTable.js 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/webui/www/public/scripts/dynamicTable.js 2016-01-20 23:52:26.000000000 +0100 @@ -212,8 +212,11 @@ if (tr.hasClass('selected')) tr.removeClass('selected'); } + this.onSelectedRowChanged(); }, + onSelectedRowChanged : function () {}, + updateRowData : function (data) { var rowId = data['rowId']; var row; @@ -350,7 +353,6 @@ } else { // Simple selection this._this.selectRow(this.rowId); - updatePropertiesPanel(); } } return false; @@ -439,18 +441,18 @@ Extends: DynamicTable, initColumns : function () { - this.newColumn('priority', 'width: 30px; cursor: pointer', '#'); - this.newColumn('state_icon', 'width: 16px', ''); - this.newColumn('name', 'min-width: 200px; cursor: pointer', 'QBT_TR(Name)QBT_TR'); - this.newColumn('size', 'width: 100px; cursor: pointer', 'QBT_TR(Size)QBT_TR'); - this.newColumn('progress', 'width: 80px; cursor: pointer', 'QBT_TR(Done)QBT_TR'); - this.newColumn('num_seeds', 'width: 100px; cursor: pointer', 'QBT_TR(Seeds)QBT_TR'); - this.newColumn('num_leechs', 'width: 100px; cursor: pointer', 'QBT_TR(Peers)QBT_TR'); - this.newColumn('dlspeed', 'width: 100px; cursor: pointer', 'QBT_TR(Down Speed)QBT_TR'); - this.newColumn('upspeed', 'width: 100px; cursor: pointer', 'QBT_TR(Up Speed)QBT_TR'); - this.newColumn('eta', 'width: 100px; cursor: pointer', 'QBT_TR(ETA)QBT_TR'); - this.newColumn('ratio', 'width: 100px; cursor: pointer', 'QBT_TR(Ratio)QBT_TR'); - this.newColumn('label', 'width: 100px; cursor: pointer', 'QBT_TR(Label)QBT_TR'); + this.newColumn('priority', 'width: 30px', '#'); + this.newColumn('state_icon', 'width: 16px; cursor: default', ''); + this.newColumn('name', 'min-width: 200px', 'QBT_TR(Name)QBT_TR'); + this.newColumn('size', 'width: 100px', 'QBT_TR(Size)QBT_TR'); + this.newColumn('progress', 'width: 80px', 'QBT_TR(Done)QBT_TR'); + this.newColumn('num_seeds', 'width: 100px', 'QBT_TR(Seeds)QBT_TR'); + this.newColumn('num_leechs', 'width: 100px', 'QBT_TR(Peers)QBT_TR'); + this.newColumn('dlspeed', 'width: 100px', 'QBT_TR(Down Speed)QBT_TR'); + this.newColumn('upspeed', 'width: 100px', 'QBT_TR(Up Speed)QBT_TR'); + this.newColumn('eta', 'width: 100px', 'QBT_TR(ETA)QBT_TR'); + this.newColumn('ratio', 'width: 100px', 'QBT_TR(Ratio)QBT_TR'); + this.newColumn('label', 'width: 100px', 'QBT_TR(Label)QBT_TR'); this.columns['state_icon'].onclick = ''; this.columns['state_icon'].dataProperties[0] = 'state'; @@ -720,6 +722,10 @@ getCurrentTorrentHash : function () { return this.getSelectedRowId(); + }, + + onSelectedRowChanged : function () { + updatePropertiesPanel(); } }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/src/webui/www/public/transferlist.html new/qbittorrent-3.3.3/src/webui/www/public/transferlist.html --- old/qbittorrent-3.3.2/src/webui/www/public/transferlist.html 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/src/webui/www/public/transferlist.html 2016-01-20 23:52:26.000000000 +0100 @@ -1,6 +1,6 @@ <table class="torrentTable" cellpadding="0" cellspacing="0"> <thead> - <tr id="torrentsTableHeader"> + <tr id="torrentsTableHeader" class="dynamicTableHeader"> </tr> </thead> <tbody id="torrentsTable"></tbody> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qbittorrent-3.3.2/version.pri new/qbittorrent-3.3.3/version.pri --- old/qbittorrent-3.3.2/version.pri 2016-01-19 00:50:18.000000000 +0100 +++ new/qbittorrent-3.3.3/version.pri 2016-01-20 23:52:26.000000000 +0100 @@ -3,7 +3,7 @@ # Define version numbers here VER_MAJOR = 3 VER_MINOR = 3 -VER_BUGFIX = 2 +VER_BUGFIX = 3 VER_BUILD = 0 VER_STATUS = # Should be empty for stable releases!
