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

Compare commits

...

31 Commits

Author SHA1 Message Date
Christophe Dumez
f6a58b3470 Tagged v2.2.8 release 2010-05-24 19:51:42 +00:00
Christophe Dumez
ef0a826180 Bump to v2.2.8 2010-05-24 19:40:22 +00:00
Christophe Dumez
d79f779c0a BUGFIX: Fix possible checkbox update in Web UI 2010-05-24 18:52:12 +00:00
Christophe Dumez
1dadc08625 BUGFIX: Fix torrent error state clearance on resuming 2010-05-24 14:09:15 +00:00
Christophe Dumez
5f49af5ade Torrent queue position now starts at 1 (closes #581130) 2010-05-21 12:02:22 +00:00
Christophe Dumez
1e67f0afa4 Fix sorting of ETA column when having infinite values (closes #583347) 2010-05-21 11:47:55 +00:00
Christophe Dumez
dd9cf6c3ab Make sure seeding torrents ETA stays 0 under all circumstances 2010-05-21 11:36:21 +00:00
Christophe Dumez
36483d795e ETA for finished torrent is now 0 instead of Infinite (closes #583704)
Fix unicode issue in start seeding after torrent creation code
2010-05-21 11:28:36 +00:00
Christophe Dumez
303c209839 Fix torrent properties layout 2010-05-18 07:24:49 +00:00
Christophe Dumez
6790889cc3 Fixed Croatian translator name 2010-05-17 21:48:12 +00:00
Christophe Dumez
3a24b66adc Updated changelog date 2010-05-12 19:50:53 +00:00
Christophe Dumez
1a3f5e81e3 BUGFIX: Added support for url encoded ampersands in RSS 2010-05-12 19:42:32 +00:00
Christophe Dumez
818a79c9db COSMETIC: Sort torrent labels in popup menu 2010-05-12 19:05:50 +00:00
Christophe Dumez
93f635f9f4 Updated Croatian string 2010-05-05 21:01:50 +00:00
Christophe Dumez
73ec018732 Fix possible crash in RSS selection code 2010-05-05 14:32:22 +00:00
Christophe Dumez
68832df0c4 Even safer dateTime parsing 2010-05-01 18:09:42 +00:00
Christophe Dumez
ce817836c0 Made Datetime parsing more reliable 2010-05-01 17:40:14 +00:00
Christophe Dumez
89fbfdbd1b BUGFIX: Use guid or news url as RSS items identifier (instead of title) 2010-05-01 09:44:09 +00:00
Christophe Dumez
797d89fc3c Update resource file 2010-05-01 08:50:35 +00:00
Christophe Dumez
abc6e1c719 Added Croatian binary file 2010-05-01 08:49:05 +00:00
Christophe Dumez
31558aea8d Added Croatian translation 2010-05-01 08:47:37 +00:00
Christophe Dumez
be711920fd Commit croatian translation 2010-05-01 08:41:22 +00:00
Christophe Dumez
5d899bbe7c Bump to v2.2.7 2010-05-01 08:37:16 +00:00
Christophe Dumez
9c63e418cf Improved empty folder removing code 2010-05-01 08:31:28 +00:00
Christophe Dumez
984e7c7c7b BUGFIX: Fix torrent moving after completion feature 2010-05-01 08:14:30 +00:00
Christophe Dumez
1ae460bc67 Windows compilation fixes (Thanks LiHuiShuo 2010-04-28 11:47:11 +00:00
Christophe Dumez
c7ffa9096c Fix in last commit 2010-04-23 16:47:43 +00:00
Christophe Dumez
01448f4c14 Another initialization fix for Web UI 2010-04-23 08:11:38 +00:00
Christophe Dumez
7e8754baf3 Updated Changelog
Added some debug information
2010-04-23 08:07:25 +00:00
Christophe Dumez
8206ec9012 Fix possible initialization problem in Web UI 2010-04-23 08:03:31 +00:00
Christophe Dumez
a611361823 Translated menu entry into Arabic 2010-04-19 12:55:23 +00:00
45 changed files with 4882 additions and 1332 deletions

View File

@@ -66,6 +66,7 @@ Translations authors:
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
- Czech: Jirka Vilim (web@tets.cz)
- Danish: Mathias Nielsen (comoneo@gmail.com)
- Dutch: Joost Schipper (heavyjoost@users.sourceforge.net)

View File

@@ -1,3 +1,23 @@
* Mon May 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.8
- BUGFIX: ETA for finished torrent is now 0 instead of Infinite (closes #583704)
- BUGFIX: Fix sorting of ETA column when having infinite values (closes #583347)
- BUGFIX: Torrent queue position now starts at 1 (closes #581130)
- BUGFIX: Fix unicode issue in start seeding after torrent creation code
- BUGFIX: Fix torrent error state clearance on resuming
- BUGFIX: Fix possible checkbox update in Web UI
- COSMETIC: Fix torrent properties layout
* Wed May 12 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.7
- BUGFIX: Fix unicode problem in torrent moving code
- BUGFIX: Fix possible initialization problem in Web UI
- BUGFIX: Fix torrent moving after completion feature
- BUGFIX: Improved empty folder removing code
- BUGFIX: Use guid or news url as RSS items identifier (instead of title)
- BUGFIX: Fix possible crash in RSS item selection code
- BUGFIX: Added support for url encoded ampersands in RSS
- COSMETIC: Sort torrent labels in popup menu
- I18N: Added Croatian translation
* Sun Apr 18 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.6
- BUGFIX: Announce to all trackers at once
- BUGFIX: Added support for single-thread boost

View File

@@ -170,8 +170,8 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
#ifdef Q_WS_WIN
char buffer[UNLEN+1] = {0};
DWORD buffer_len = UNLEN + 1;
if (!GetUserName(buffer, &buffer_len))
uid = QString(buffer)
if (!GetUserNameA(buffer, &buffer_len))
uid = QString(buffer);
#else
uid = QString::number(getuid());
#endif

View File

@@ -1,8 +1,9 @@
[Desktop Entry]
Categories=Qt;Network;P2P;
Comment=V2.2.6
Comment=V2.2.8
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[ar]=العميل Bittorrent
GenericName[bg]=Торент клиент
GenericName[cs]=Bittorrent klient
GenericName[de]=Bittorren Client
@@ -10,6 +11,7 @@ GenericName[el]=Bittorrent πελάτης
GenericName[es]=Cliente Bittorrent
GenericName[fi]=Bittorrent-ohjelma
GenericName[fr]=Client Bittorrent
GenericName[hr]=Bittorrent klijent
GenericName[hu]=Bittorrent kliens
GenericName[it]=Client Bittorrent
GenericName[ja]=Bittorrent クライアント

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

@@ -68,6 +68,7 @@ class about : public QDialog, private Ui::AboutDlg{
- <u>Catalan:</u> Francisco Luque Contreras (frannoe@ya.com)<br>\
- <u>Chinese (Simplified):</u> Guo Yue (yue.guo0418@gmail.com)<br>\
- <u>Chinese (Traditional):</u> Yi-Shun Wang (dnextstep@gmail.com)<br>\
- <u>Croatian:</u> Oliver Mucafir (oliver.untwist@gmail.com)<br>\
- <u>Czech:</u> Jirka Vilim (web@tets.cz)<br>\
- <u>Danish:</u> Mathias Nielsen (comoneo@gmail.com)<br>\
- <u>Dutch:</u> Joost Schipper (heavyjoost@users.sourceforge.net) and Peter Koeleman (peter@peerweb.nl)<br>\

View File

@@ -1897,12 +1897,15 @@ void Bittorrent::addConsoleMessage(QString msg, QString) {
if(appendqBExtension)
appendqBextensionToTorrent(h, false);
#endif
qDebug("A torrent has finished downloading");
// Move to download directory if necessary
if(!defaultTempPath.isEmpty()) {
qDebug("A torrent has finished downloading and will be moved to the final download location");
// Check if directory is different
const QDir current_dir(h.save_path());
const QDir save_dir(getSavePath(hash));
if(current_dir != save_dir) {
qDebug("current dir is different that final destination, actually move the storage...");
h.move_storage(save_dir.path());
}
}
@@ -1964,11 +1967,13 @@ void Bittorrent::addConsoleMessage(QString msg, QString) {
if(h.is_valid()) {
// Attempt to remove old folder if empty
const QString& old_save_path = TorrentPersistentData::getSavePath(h.hash());
const QString new_save_path = QString(p->path.c_str());
const QString new_save_path = QString::fromLocal8Bit(p->path.c_str());
qDebug("Torrent moved from %s to %s", qPrintable(old_save_path), qPrintable(new_save_path));
qDebug("Attempting to remove %s", qPrintable(old_save_path));
QDir().rmpath(old_save_path);
TorrentPersistentData::saveSavePath(h.hash(), new_save_path);
if(old_save_path != defaultSavePath && old_save_path != defaultTempPath)
QDir().rmdir(old_save_path);
if(new_save_path != defaultTempPath)
TorrentPersistentData::saveSavePath(h.hash(), new_save_path);
emit savePathChanged(h);
//h.force_recheck();
}

View File

@@ -199,7 +199,7 @@ void createtorrent::handleCreationSuccess(QString path, const char* branch_path)
return;
}
QString hash = misc::toQString(t->info_hash());
TorrentTempData::setSavePath(hash, QString(branch_path));
TorrentTempData::setSavePath(hash, QString::fromLocal8Bit(branch_path));
#ifdef LIBTORRENT_0_15
// Enable seeding mode (do not recheck the files)
TorrentTempData::setSeedingMode(hash, true);

View File

@@ -54,7 +54,7 @@ downloadThread::~downloadThread(){
}
void downloadThread::processDlFinished(QNetworkReply* reply) {
QString url = reply->url().toString();
QString url = reply->url().toEncoded().data();
if(reply->error() != QNetworkReply::NoError) {
// Failure
emit downloadFailure(url, errorCodeToString(reply->error()));

View File

@@ -2,10 +2,10 @@
#define FILESYSTEMWATCHER_H
#include <QFileSystemWatcher>
#include <QDir>
#ifndef Q_WS_WIN
#include <QTimer>
#include <QDir>
#include <QPointer>
#include <QStringList>
#include <QSet>
@@ -180,6 +180,7 @@ protected slots:
}
void scanNetworkFolders() {
#ifndef Q_WS_WIN
qDebug("scanNetworkFolders() called");
QStringList torrents;
// Network folders scan
@@ -192,6 +193,7 @@ protected slots:
qDebug("The following files are being reported: %s", qPrintable(torrents.join("\n")));
emit torrentsAdded(torrents);
}
#endif
}
signals:

View File

@@ -21,6 +21,7 @@
<file>lang/qbittorrent_pt_BR.qm</file>
<file>lang/qbittorrent_el.qm</file>
<file>lang/qbittorrent_ca.qm</file>
<file>lang/qbittorrent_hr.qm</file>
<file>lang/qbittorrent_sr.qm</file>
<file>lang/qbittorrent_hu.qm</file>
<file>lang/qbittorrent_da.qm</file>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

BIN
src/lang/qbittorrent_hr.qm Normal file

Binary file not shown.

3533
src/lang/qbittorrent_hr.ts Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -180,8 +180,8 @@ int main(int argc, char *argv[]){
#ifdef Q_WS_WIN
char buffer[UNLEN+1] = {0};
DWORD buffer_len = UNLEN + 1;
if (!GetUserName(buffer, &buffer_len))
uid = QString(buffer)
if (!GetUserNameA(buffer, &buffer_len))
uid = QString(buffer);
#else
uid = QString::number(getuid());
#endif

View File

@@ -64,6 +64,8 @@
QString misc::QDesktopServicesDataLocation() {
#ifdef Q_WS_WIN
LPWSTR path=new WCHAR[256];
QString result;
#if defined Q_WS_WINCE
if (SHGetSpecialFolderPath(0, path, CSIDL_APPDATA, FALSE))
#else
@@ -147,16 +149,16 @@ long long misc::freeDiskSpaceOnPath(QString path) {
GetDiskFreeSpaceEx_t
pGetDiskFreeSpaceEx = (GetDiskFreeSpaceEx_t)::GetProcAddress
(
::GetModuleHandle(_T("kernel32.dll")),
::GetModuleHandle(TEXT("kernel32.dll")),
"GetDiskFreeSpaceExW"
);
if ( pGetDiskFreeSpaceEx )
{
ULARGE_INTEGER bytesFree, bytesTotal;
unsigned long long *ret;
if (pGetDiskFreeSpaceEx((LPCTSTR)path.ucs2(), &bytesFree, &bytesTotal, NULL)) {
tmp = (unsigned long long*)&bytesFree
return ret;
if (pGetDiskFreeSpaceEx((LPCTSTR)path.utf16(), &bytesFree, &bytesTotal, NULL)) {
ret = (unsigned long long*)&bytesFree;
return *ret;
} else {
return -1;
}
@@ -421,9 +423,20 @@ QString misc::magnetUriToHash(QString magnet_uri) {
}
QString misc::boostTimeToQString(const boost::optional<boost::posix_time::ptime> boostDate) {
if(!boostDate) return tr("Unknown");
struct std::tm tm = boost::posix_time::to_tm(*boostDate);
return QDateTime::fromTime_t(mktime(&tm)).toString(Qt::DefaultLocaleLongDate);
if(!boostDate || !boostDate.is_initialized() || boostDate->is_not_a_date_time()) return tr("Unknown");
struct std::tm tm;
try {
tm = boost::posix_time::to_tm(*boostDate);
} catch(std::exception e) {
return tr("Unknown");
}
time_t t = mktime(&tm);
if(t < 0)
return tr("Unknown");
QDateTime dt = QDateTime::fromTime_t(t);
if(dt.isNull() || !dt.isValid())
return tr("Unknown");
return dt.toString(Qt::DefaultLocaleLongDate);
}
// Replace ~ in path
@@ -446,9 +459,12 @@ QString misc::expandPath(QString path) {
// Take a number of seconds and return an user-friendly
// time duration like "1d 2h 10m".
QString misc::userFriendlyDuration(qlonglong seconds) {
if(seconds < 0) {
if(seconds < 0 || seconds >= MAX_ETA) {
return QString::fromUtf8("∞");
}
if(seconds == 0) {
return "0";
}
if(seconds < 60) {
return tr("< 1m", "< 1 minute");
}

View File

@@ -40,6 +40,8 @@
#include <QPoint>
#include <libtorrent/torrent_info.hpp>
const qlonglong MAX_ETA = 8640000;
using namespace libtorrent;
/* Miscellaneaous functions that can be useful */

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