1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-21 13:52:16 +02:00

Compare commits

..

51 Commits

Author SHA1 Message Date
Christophe Dumez
c7cfc28aa9 - Tagging v1.2.1 release 2008-11-20 09:36:42 +00:00
Christophe Dumez
d11e132f56 - Bump to v1.2.1 2008-11-09 09:41:51 +00:00
Christophe Dumez
5e2af99c73 - Fix to speed up startup when having a lot of torrents 2008-11-02 18:53:17 +00:00
Christophe Dumez
23e03a5700 Queued_for_checking torrents were not displayed as checking in seeding list 2008-11-02 13:50:42 +00:00
Christophe Dumez
949e1d75cd - Disabled debug since this is stable branch now 2008-11-01 12:50:39 +00:00
Christophe Dumez
c944d88c3e branched v1.2.0 2008-11-01 12:48:10 +00:00
Christophe Dumez
2d24b468b6 Fixed possible crash when deleting a torrent permanently 2008-11-01 12:33:52 +00:00
Christophe Dumez
2dc75cb98d - Updated release date 2008-10-29 20:02:02 +00:00
Christophe Dumez
5e3be25916 - Single instance code is now more reliable on Qt >= 4.4 (closes #286968) 2008-10-29 19:58:44 +00:00
Christophe Dumez
49e8bad7cc - Removed rc from version 2008-10-28 21:39:12 +00:00
Christophe Dumez
796aea19e6 - Webui: refresh download list every 2 seconds to save cpu 2008-10-28 21:37:19 +00:00
Christophe Dumez
dd35f1723b - Updated mootools to v1.2.1 2008-10-28 21:20:08 +00:00
Christophe Dumez
0177e1fee4 - Attempt to fix icon flickering in webui 2008-10-28 21:17:17 +00:00
Christophe Dumez
949eb2b5f5 - WebUI: Uploads should always use seeding icon (not connecting for example) 2008-10-27 20:15:17 +00:00
Christophe Dumez
2d59fe37bf fixed translations 2008-10-17 05:57:03 +00:00
Christophe Dumez
b6f81c199e - fixed italian translation 2008-10-17 05:48:18 +00:00
Christophe Dumez
c2964dc340 - Updated AUTHORS file (from Cristian Greco@Debian) 2008-10-13 07:04:20 +00:00
Christophe Dumez
8aebb93424 - Updated bulgarian and greek translations 2008-10-07 18:32:27 +00:00
Christophe Dumez
96c38f7be4 - Updated Russian translation
- Progress column is now correctly sorted on startup (closes #133925 again)
2008-10-06 18:34:47 +00:00
Christophe Dumez
cf2abe45de - AddinPause feature no longer applies to resumed torrents on startup
(closes #278827)
2008-10-06 12:21:34 +00:00
Christophe Dumez
88ac8adb30 - Bump to rc4
- Disabled debug output
- Updated Chinese traditional translation
2008-10-05 11:34:52 +00:00
Christophe Dumez
b331478179 - Fix "go back to download list dialog" when seeding torrent has filtered files (closes #278508) 2008-10-05 11:10:57 +00:00
Christophe Dumez
bfaa82ccba - Not deleting files on hard drive when user is answering no the the 'move to download list' dialog 2008-10-05 11:05:27 +00:00
Christophe Dumez
77f407724d - German was not updated yet 2008-10-05 09:29:27 +00:00
Christophe Dumez
2f5c2e6404 - Updated Korean, Swedish, Romanian 2008-10-05 09:28:43 +00:00
Christophe Dumez
fbb2cdd1a9 - Updated dutch translation 2008-10-04 21:16:34 +00:00
Christophe Dumez
63a4e06556 - Attempt to fix single instance code on Qt 4.4 2008-10-04 19:36:27 +00:00
Christophe Dumez
3d934b4a9c - bump to rc3 2008-10-04 15:23:31 +00:00
Christophe Dumez
697c275d83 - Fixed torrent queueing system (finally) 2008-10-04 15:21:52 +00:00
Christophe Dumez
25b9601613 - Should fix save path problems 2008-10-04 14:14:07 +00:00
Christophe Dumez
276dfd9df6 BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled) 2008-10-04 14:01:55 +00:00
Christophe Dumez
19f05f0a97 - Updated italian translation 2008-10-03 18:37:11 +00:00
Christophe Dumez
293aaefefe - updated hungarian translation 2008-10-02 14:15:40 +00:00
Christophe Dumez
57cdf4ebd1 - Updated german translation 2008-10-01 20:32:04 +00:00
Christophe Dumez
c4a0c8f100 - Should fix bug #276196 2008-10-01 19:17:07 +00:00
Christophe Dumez
306991e776 - More debug 2008-10-01 19:05:17 +00:00
Christophe Dumez
de2384e4a7 - Added some debug 2008-10-01 19:00:59 +00:00
Christophe Dumez
236dbcfb4a - attempt to fix #276196 2008-10-01 07:02:49 +00:00
Christophe Dumez
a1b133d883 - Fixed progress for unchecked paused torrents 2008-09-30 18:37:05 +00:00
Christophe Dumez
4f8825e371 - Fixed priority column sorting (closes #276190) 2008-09-30 06:14:37 +00:00
Christophe Dumez
1aa0936c91 - Updated slovak translation
- french translation fix
2008-09-30 06:09:50 +00:00
Christophe Dumez
d5e22c523e - Fixed typographic error 2008-09-29 20:28:55 +00:00
Christophe Dumez
6618e61a42 - Added Expand/Collapse all buttons to properties dialog 2008-09-29 18:42:45 +00:00
Christophe Dumez
26283ec228 - Updated swedish translation 2008-09-28 18:53:33 +00:00
Christophe Dumez
ed12f5c77e - bump to rc2 2008-09-28 18:02:31 +00:00
Christophe Dumez
8e074a571a - Fixed queueing priorities loading on startup 2008-09-28 17:58:12 +00:00
Christophe Dumez
e2c7c973fd - Improved multiple selection style by blocking browser event 2008-09-28 16:39:39 +00:00
Christophe Dumez
eec04761ef - Block browser event for CTRL+A so that it does not select text (unwanted) : Web Ui 2008-09-28 16:25:51 +00:00
Christophe Dumez
f73256e0ea - Fixed shift selection from bottom to top (Web UI)
- Fixed bug where current selection was not cleared correctly (Web Ui)
- Allow to select all torrents using CRTL+A (Web Ui)
2008-09-28 16:23:08 +00:00
Christophe Dumez
fec1de6383 - Updated finish translation 2008-09-28 16:00:51 +00:00
Christophe Dumez
db35a7efb8 - Updated chinese translations 2008-09-28 15:43:14 +00:00
74 changed files with 6696 additions and 6288 deletions

11
AUTHORS
View File

@@ -17,13 +17,14 @@ Images Authors:
license: Creative Commons Public Domain Dedication
url: http://www.openclipart.org
* files: src/Icons/skins/*.png
* files: src/Icons/skin/*.png
files: src/menuicons/YYxYY/*.png
copyright: Mateusz Tobola <tobejodok@qbittorrent.org>
license: GPLv2
* files: src/menuicons/YYxYY/*.png
copyright: Mateusz Tobola <tobejodok@qbittorrent.org>
license: GPLv2
* file: src/Icons/skin/tabs.gif
copyright: Greg Houston <gregory.houston@gmail.com>
license: MIT
* file: src/search_engine/engines/btjunkie.png
copyright: Downloaded from btjunkie.org
@@ -46,7 +47,7 @@ Translations authors:
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
- Bulgarian: Tsvetan & Boiko Bankov (emerge_life@users.sourceforge.net)
- Catalan: Gekko Dam Beer (gekko04@users.sourceforge.net)
- Chinese (Simplified): Guo Yue (guoyue0418@hotmail.com)
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
- Czech: Jirka Vilim (web@tets.cz)
- Danish: Mathias Nielsen (comoneo@gmail.com)

View File

@@ -1,14 +1,21 @@
* Unknown - Christophe Dumez <chris@qbittorrent.org> - v1.2.0
* Sun Nov 9 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.1
- BUGFIX: Fixed possible crash when deleting a torrent permanently
- BUGFIX: Queued_for_checking torrents were not displayed as checking in seeding list
- BUGFIX: Speed up startup time when having a lot of torrents
* Wed Oct 29 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.2.0
- FEATURE: Torrent queueing system (with priorities)
- FEATURE: The number of DHT nodes is displayed
- FEATURE: RSS can now be disabled from program preferences
- FEATURE: Added collapse/expand all buttons in addition dialog
- FEATURE: Added collapse/expand all buttons in addition and properties dialogs
- FEATURE: Can have different proxies for Bittorrent and search engine
- FEATURE: Allow multiple item selection in Web UI transfer list
- FEATURE: Moved uploads to a separate list in Web UI
- BUGFIX: Totally rewritten Web UI list refresh system (fixed memory leak)
- BUGFIX: Disable ETA calculation when ETA column is hidden
- BUGFIX: Removed "disconnected" connection state, detection was far from perfect
- BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled)
- BUGFIX: Single instance code is now more reliable on Qt >= 4.4
- COSMETIC: Transfer speed, ratio, connection status and DHT nodes are displayed in status bar
- COSMETIC: RSS Tab is now hidden as a default
- COSMETIC: Allow to hide or display top toolbar

18
TODO
View File

@@ -1,4 +1,18 @@
See https://blueprints.launchpad.net/qbittorrent/
// in v1.2.0
- Split download and uploads in Web UI (Ishan Ahora)
// translations done
- french
- chinese traditional
- chinese simplified
- finish
- swedish
- slovak
- German
- Hungarian
- Italian
- Dutch
- Romanian
- Korean
- Russian
- Bulgarian
- Greek

View File

@@ -139,7 +139,6 @@ void FinishedTorrents::addTorrent(QString hash){
// Update the number of finished torrents
++nbFinished;
emit finishedTorrentsNumberChanged(nbFinished);
sortFinishedList();
}
void FinishedTorrents::torrentAdded(QTorrentHandle& h) {
@@ -280,7 +279,7 @@ void FinishedTorrents::updateFinishedList(){
}
}
if(h.is_paused()) continue;
if(h.state() == torrent_status::downloading || (h.state() != torrent_status::checking_files && h.state() != torrent_status::queued_for_checking && !h.is_seed())) {
if(h.state() == torrent_status::downloading || (h.state() != torrent_status::checking_files && h.state() != torrent_status::queued_for_checking && h.progress() < 1.)) {
// What are you doing here? go back to download tab!
int reponse = QMessageBox::question(this, tr("Incomplete torrent in seeding list"), tr("It appears that the state of '%1' torrent changed from 'seeding' to 'downloading'. Would you like to move it back to download list? (otherwise the torrent will simply be deleted)").arg(h.name()), QMessageBox::Yes | QMessageBox::No);
if (reponse == QMessageBox::Yes) {
@@ -291,11 +290,11 @@ void FinishedTorrents::updateFinishedList(){
}
else if (reponse == QMessageBox::No) {
qDebug("Deleted from the finished");
BTSession->deleteTorrent(hash, true);
BTSession->deleteTorrent(hash, false);
}
continue;
}
if(h.state() == torrent_status::checking_files){
if(h.state() == torrent_status::checking_files || h.state() == torrent_status::queued_for_checking){
finishedListModel->setData(finishedListModel->index(row, F_NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/time.png"))), Qt::DecorationRole);
setRowColor(row, QString::fromUtf8("grey"));
continue;
@@ -625,6 +624,7 @@ void FinishedTorrents::sortFinishedList(int index, Qt::SortOrder sortOrder){
switch(index) {
case F_SIZE:
case F_UPSPEED:
case F_PRIORITY:
sortFinishedListFloat(index, sortOrder);
break;
default:

View File

@@ -60,7 +60,6 @@ class FinishedTorrents : public QWidget, public Ui::seeding {
void displayFinishedHoSMenu(const QPoint&);
void setRowColor(int row, QString color);
void saveColWidthFinishedList() const;
void loadLastSortedColumn();
void toggleFinishedListSortOrder(int index);
void sortFinishedList(int index=-1, Qt::SortOrder sortOrder=Qt::AscendingOrder);
void sortFinishedListFloat(int index, Qt::SortOrder sortOrder);
@@ -85,6 +84,7 @@ class FinishedTorrents : public QWidget, public Ui::seeding {
void deleteTorrent(QString hash);
void showPropertiesFromHash(QString hash);
void hidePriorityColumn(bool hide);
void loadLastSortedColumn();
signals:
void torrentMovedFromFinishedList(QString);

View File

@@ -166,6 +166,8 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
configureSession(true);
// Resume unfinished torrents
BTSession->resumeUnfinishedTorrents();
downloadingTorrentTab->loadLastSortedColumn();
finishedTorrentTab->loadLastSortedColumn();
// Add torrent given on command line
processParams(torrentCmdLine);
// Initialize Web UI
@@ -181,6 +183,13 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
#ifdef QT_4_4
localServer = new QLocalServer();
QString uid = QString::number(getuid());
#ifdef Q_WS_X11
if(QFile::exists(QDir::tempPath()+QDir::separator()+QString("qBittorrent-")+uid)) {
// Socket was not closed cleanly
std::cerr << "Warning: Local domain socket was not closed cleanly, deleting file...\n";
QFile::remove(QDir::tempPath()+QDir::separator()+QString("qBittorrent-")+uid);
}
#endif
if (!localServer->listen("qBittorrent-"+uid)) {
#else
localServer = new QTcpServer();
@@ -188,7 +197,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
#endif
std::cerr << "Couldn't create socket, single instance mode won't work...\n";
}
#ifndef QT_4_4
#ifndef QT_4_4
else {
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
settings.setValue(QString::fromUtf8("uniqueInstancePort"), localServer->serverPort());
@@ -264,6 +273,7 @@ GUI::~GUI() {
delete myTrayIconMenu;
}
qDebug("2");
localServer->close();
delete localServer;
delete connecStatusLblIcon;
delete tabs;
@@ -1555,7 +1565,7 @@ bool GUI::initWebUi(QString username, QString password, int port)
httpServer->close();
}
else
httpServer = new HttpServer(BTSession, 1000, this);
httpServer = new HttpServer(BTSession, 2000, this);
httpServer->setAuthorization(username, password);
bool success = httpServer->listen(QHostAddress::Any, port);
if (success)

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Categories=Qt;Network;P2P
Comment=V1.2.0
Comment=V1.2.1
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[bg]=Торент клиент

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -120,7 +120,7 @@
<item>
<widget class="QPushButton" name="expandAllButton" >
<property name="text" >
<string>Expand All</string>
<string>Expand all</string>
</property>
</widget>
</item>

File diff suppressed because it is too large Load Diff

View File

@@ -187,6 +187,7 @@ class bittorrent : public QObject {
void setETACalculation(bool enable);
void addConsoleMessage(QString msg, QColor color=QApplication::palette().color(QPalette::WindowText));
void addPeerBanMessage(QString msg, bool from_ipfilter);
void fixTorrentPriorities();
protected slots:
void scanDirectory();
@@ -216,7 +217,7 @@ class bittorrent : public QObject {
void downloadFromUrlFailure(QString url, QString reason);
//void fastResumeDataRejected(QString name);
//void urlSeedProblem(QString url, QString msg);
//void torrentFinishedChecking(QString hash);
void torrentFinishedChecking(QString hash);
//void torrent_ratio_deleted(QString fileName);
//void UPnPError(QString msg);
//void UPnPSuccess(QString msg);

View File

@@ -42,8 +42,8 @@ class subDeleteThread : public QThread {
}
~subDeleteThread(){
wait();
qDebug("subDeleteThread successfuly deleted");
//wait();
}
signals:
@@ -58,8 +58,8 @@ class subDeleteThread : public QThread {
else
emit deletionFailureST(this);*/
arb->removeFromFS(save_path);
emit deletionSuccessST(this);
delete arb;
emit deletionSuccessST(this);
}
};

View File

@@ -69,6 +69,7 @@ DownloadingTorrents::DownloadingTorrents(QObject *parent, bittorrent *BTSession)
connect(BTSession, SIGNAL(addedTorrent(QTorrentHandle&)), this, SLOT(torrentAdded(QTorrentHandle&)));
connect(BTSession, SIGNAL(forceUnfinishedListUpdate()), this, SLOT(updateDlList()));
connect(BTSession, SIGNAL(torrentFinishedChecking(QString)), this, SLOT(sortProgressColumn(QString)));
// Load last columns width for download list
if(!loadColWidthDLList()) {
@@ -621,12 +622,12 @@ void DownloadingTorrents::addTorrent(QString hash) {
DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/paused.png"))), Qt::DecorationRole);
setRowColor(row, QString::fromUtf8("red"));
}else{
DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)h.progress()));
DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/connecting.png"))), Qt::DecorationRole);
setRowColor(row, QString::fromUtf8("grey"));
}
++nbTorrents;
emit unfinishedTorrentsNumberChanged(nbTorrents);
sortDownloadList();
}
void DownloadingTorrents::sortDownloadListFloat(int index, Qt::SortOrder sortOrder) {
@@ -687,6 +688,7 @@ void DownloadingTorrents::toggleDownloadListSortOrder(int index) {
case UPSPEED:
case DLSPEED:
case PROGRESS:
case PRIORITY:
sortDownloadListFloat(index, sortOrder);
break;
default:
@@ -701,6 +703,19 @@ void DownloadingTorrents::toggleDownloadListSortOrder(int index) {
settings.setValue(QString::fromUtf8("DownloadListSortedCol"), misc::toQString(index)+sortOrderLetter);
}
void DownloadingTorrents::sortProgressColumn(QString hash) {
int index = downloadList->header()->sortIndicatorSection();
if(index == PROGRESS) {
int row = getRowFromHash(hash);
if(row >= 0) {
QTorrentHandle h = BTSession->getTorrentHandle(hash);
DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)h.progress()));
Qt::SortOrder sortOrder = downloadList->header()->sortIndicatorOrder();
sortDownloadListFloat(index, sortOrder);
}
}
}
void DownloadingTorrents::sortDownloadList(int index, Qt::SortOrder sortOrder) {
if(index == -1) {
index = downloadList->header()->sortIndicatorSection();
@@ -768,7 +783,6 @@ bool DownloadingTorrents::loadColWidthDLList() {
for(unsigned int i=0; i<listSize; ++i) {
downloadList->header()->resizeSection(i, width_list.at(i).toInt());
}
loadLastSortedColumn();
qDebug("Download list columns width loaded");
return true;
}
@@ -808,8 +822,7 @@ void DownloadingTorrents::torrentAdded(QTorrentHandle& h) {
DLListModel->setData(DLListModel->index(row, ETA), QVariant((qlonglong)-1));
DLListModel->setData(DLListModel->index(row, HASH), QVariant(hash));
// Pause torrent if it was paused last time
// Not using isPaused function because torrents are paused after checking now
if(QFile::exists(misc::qBittorrentPath()+QString::fromUtf8("BT_backup")+QDir::separator()+hash+QString::fromUtf8(".paused"))) {
if(h.is_paused()) {
DLListModel->setData(DLListModel->index(row, PROGRESS), QVariant((double)BTSession->getUncheckedTorrentProgress(hash)));
DLListModel->setData(DLListModel->index(row, NAME), QVariant(QIcon(QString::fromUtf8(":/Icons/skin/paused.png"))), Qt::DecorationRole);
setRowColor(row, QString::fromUtf8("red"));
@@ -819,7 +832,6 @@ void DownloadingTorrents::torrentAdded(QTorrentHandle& h) {
}
++nbTorrents;
emit unfinishedTorrentsNumberChanged(nbTorrents);
sortDownloadList();
}
void DownloadingTorrents::updateFileSizeAndProgress(QString hash) {

View File

@@ -84,7 +84,6 @@ class DownloadingTorrents : public QWidget, public Ui::downloading{
void hideOrShowColumnRatio();
void hideOrShowColumnEta();
void hideOrShowColumnPriority();
void loadLastSortedColumn();
public slots:
void updateDlList();
@@ -95,6 +94,8 @@ class DownloadingTorrents : public QWidget, public Ui::downloading{
void updateFileSizeAndProgress(QString hash);
void showPropertiesFromHash(QString hash);
void hidePriorityColumn(bool hide);
void sortProgressColumn(QString hash);
void loadLastSortedColumn();
};

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More