You've already forked qBittorrent
mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-10-21 13:52:16 +02:00
Compare commits
39 Commits
v5_0_x
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d1858de2d6 | ||
![]() |
414685910b | ||
![]() |
d61b9c5d4d | ||
![]() |
cf86a1cecd | ||
![]() |
a3f3287e24 | ||
![]() |
6e18d780ba | ||
![]() |
7dde763fc6 | ||
![]() |
8c85ffca5f | ||
![]() |
321e568d86 | ||
![]() |
e0649a7e78 | ||
![]() |
4cd3233cd0 | ||
![]() |
c554528afe | ||
![]() |
7ab7f4b0fc | ||
![]() |
58c0ac7638 | ||
![]() |
2514224a3a | ||
![]() |
247f6b4a8e | ||
![]() |
3d89864b75 | ||
![]() |
7ac75ad772 | ||
![]() |
caa628371f | ||
![]() |
fd31f632d9 | ||
![]() |
a25b6e087b | ||
![]() |
1626d938d1 | ||
![]() |
a4c7640499 | ||
![]() |
2c1b93a12b | ||
![]() |
8f19025c2a | ||
![]() |
20d41bcff2 | ||
![]() |
1ad77e00ff | ||
![]() |
0b65c02666 | ||
![]() |
294095367a | ||
![]() |
05a6ffd554 | ||
![]() |
e0a30dc40c | ||
![]() |
1940bc4e73 | ||
![]() |
a7e4e0273a | ||
![]() |
29a9d57cdc | ||
![]() |
9c7a4e4983 | ||
![]() |
35ead5bcf2 | ||
![]() |
645bd58d79 | ||
![]() |
6c47a552ab | ||
![]() |
f54bc8bea4 |
33
Changelog
33
Changelog
@@ -1,4 +1,35 @@
|
|||||||
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v2.4.0
|
* Fri Oct 1 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.4
|
||||||
|
- BUGFIX: Clean program exit on system shutdown/logout
|
||||||
|
- BUGFIX: Fix possible search engine plugin update
|
||||||
|
|
||||||
|
* Tue Sep 28 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.3
|
||||||
|
- BUGFIX: Fix encoding issue in command line parameters processing
|
||||||
|
- BUGFIX: Fix possible crash when changing the save path in addition dialog
|
||||||
|
- BUGFIX: Fix wrong mapping to source model
|
||||||
|
|
||||||
|
* Sun Sep 26 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.2
|
||||||
|
- BUGFIX: Fix display of torrent content in addition dialog
|
||||||
|
- BUGFIX: Really fix manual editing of save path in torrent addition dialog
|
||||||
|
|
||||||
|
* Sun Sep 26 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.1
|
||||||
|
- I18N: Updated Arabic translation
|
||||||
|
- I18N: Fixes to German translation
|
||||||
|
- BUGFIX: Save path can now be edited in torrent addition dialog
|
||||||
|
- BUGFIX: Fix save path encoding on non-utf8 systems
|
||||||
|
- BUGFIX: Fix saving to drive root on Windows
|
||||||
|
- BUGFIX: OGV can now be previewed
|
||||||
|
- BUGFIX: Maximum download limit is now 10MB/s
|
||||||
|
- BUGFIX: Fix 'download in scan dir' persistence
|
||||||
|
- BUGFIX: Add .torrent extension only when missing (torrent creator)
|
||||||
|
- BUGFIX: Fix possible issue with temporary download path persistence
|
||||||
|
- BUGFIX: Added support for | (OR) operator in RSS feed downloader
|
||||||
|
- BUGFIX: Fix Web UI for spanish users
|
||||||
|
- BUGFIX: Fix locale switching from Web UI
|
||||||
|
- BUGFIX: Use AND operator for torrentdownloads.net searches
|
||||||
|
- BUGFIX: Limit torrent addition dialog width to fit the screen
|
||||||
|
- COSMETIC: Fix progress bars style on Windows
|
||||||
|
|
||||||
|
* Tue Aug 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.0
|
||||||
- FEATURE: Added actions to "Move to top/bottom" of priority queue
|
- FEATURE: Added actions to "Move to top/bottom" of priority queue
|
||||||
- FEATURE: Auto-Shutdown on downloads completion
|
- FEATURE: Auto-Shutdown on downloads completion
|
||||||
- FEATURE: Email notification on download completion
|
- FEATURE: Email notification on download completion
|
||||||
|
22
src/GUI.cpp
22
src/GUI.cpp
@@ -71,6 +71,7 @@
|
|||||||
void qt_mac_set_dock_menu(QMenu *menu);
|
void qt_mac_set_dock_menu(QMenu *menu);
|
||||||
#endif
|
#endif
|
||||||
#include "lineedit.h"
|
#include "lineedit.h"
|
||||||
|
#include "sessionapplication.h"
|
||||||
|
|
||||||
using namespace libtorrent;
|
using namespace libtorrent;
|
||||||
|
|
||||||
@@ -88,6 +89,8 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for
|
|||||||
ui_locked = Preferences::isUILocked();
|
ui_locked = Preferences::isUILocked();
|
||||||
setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION)));
|
setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION)));
|
||||||
displaySpeedInTitle = Preferences::speedInTitleBar();
|
displaySpeedInTitle = Preferences::speedInTitleBar();
|
||||||
|
// Clean exit on log out
|
||||||
|
connect(static_cast<SessionApplication*>(qApp), SIGNAL(sessionIsShuttingDown()), this, SLOT(deleteBTSession()));
|
||||||
// Setting icons
|
// Setting icons
|
||||||
this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
|
this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
|
||||||
actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png")));
|
actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png")));
|
||||||
@@ -110,7 +113,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for
|
|||||||
actionSet_global_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png")));
|
actionSet_global_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png")));
|
||||||
actionDocumentation->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/qb_question.png")));
|
actionDocumentation->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/qb_question.png")));
|
||||||
actionLock_qBittorrent->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/encrypted32.png")));
|
actionLock_qBittorrent->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/encrypted32.png")));
|
||||||
QMenu *lockMenu = new QMenu();
|
lockMenu = new QMenu();
|
||||||
QAction *defineUiLockPasswdAct = lockMenu->addAction(tr("Set the password..."));
|
QAction *defineUiLockPasswdAct = lockMenu->addAction(tr("Set the password..."));
|
||||||
connect(defineUiLockPasswdAct, SIGNAL(triggered()), this, SLOT(defineUILockPassword()));
|
connect(defineUiLockPasswdAct, SIGNAL(triggered()), this, SLOT(defineUILockPassword()));
|
||||||
actionLock_qBittorrent->setMenu(lockMenu);
|
actionLock_qBittorrent->setMenu(lockMenu);
|
||||||
@@ -248,6 +251,16 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), for
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GUI::deleteBTSession() {
|
||||||
|
guiUpdater->stop();
|
||||||
|
status_bar->stopTimer();
|
||||||
|
if(BTSession) {
|
||||||
|
delete BTSession;
|
||||||
|
BTSession = 0;
|
||||||
|
}
|
||||||
|
QTimer::singleShot(0, this, SLOT(close()));
|
||||||
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
GUI::~GUI() {
|
GUI::~GUI() {
|
||||||
qDebug("GUI destruction");
|
qDebug("GUI destruction");
|
||||||
@@ -258,7 +271,9 @@ GUI::~GUI() {
|
|||||||
#endif
|
#endif
|
||||||
// Async deletion of Bittorrent session as early as possible
|
// Async deletion of Bittorrent session as early as possible
|
||||||
// in order to speed up exit
|
// in order to speed up exit
|
||||||
session_proxy sp = BTSession->asyncDeletion();
|
session_proxy sp;
|
||||||
|
if(BTSession)
|
||||||
|
sp = BTSession->asyncDeletion();
|
||||||
// Some saving
|
// Some saving
|
||||||
properties->saveSettings();
|
properties->saveSettings();
|
||||||
disconnect(tabs, SIGNAL(currentChanged(int)), this, SLOT(tab_changed(int)));
|
disconnect(tabs, SIGNAL(currentChanged(int)), this, SLOT(tab_changed(int)));
|
||||||
@@ -269,6 +284,7 @@ GUI::~GUI() {
|
|||||||
delete search_filter;
|
delete search_filter;
|
||||||
delete transferList;
|
delete transferList;
|
||||||
delete guiUpdater;
|
delete guiUpdater;
|
||||||
|
delete lockMenu;
|
||||||
if(createTorrentDlg)
|
if(createTorrentDlg)
|
||||||
delete createTorrentDlg;
|
delete createTorrentDlg;
|
||||||
if(console)
|
if(console)
|
||||||
@@ -662,7 +678,7 @@ void GUI::closeEvent(QCloseEvent *e) {
|
|||||||
e->accept();
|
e->accept();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(settings.value(QString::fromUtf8("Preferences/General/ExitConfirm"), true).toBool() && BTSession->hasActiveTorrents()) {
|
if(settings.value(QString::fromUtf8("Preferences/General/ExitConfirm"), true).toBool() && BTSession && BTSession->hasActiveTorrents()) {
|
||||||
if(e->spontaneous() || force_exit) {
|
if(e->spontaneous() || force_exit) {
|
||||||
if(!isVisible())
|
if(!isVisible())
|
||||||
show();
|
show();
|
||||||
|
@@ -80,6 +80,7 @@ public slots:
|
|||||||
void downloadFromURLList(const QStringList& urls);
|
void downloadFromURLList(const QStringList& urls);
|
||||||
void updateAltSpeedsBtn(bool alternative);
|
void updateAltSpeedsBtn(bool alternative);
|
||||||
void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused);
|
void updateNbTorrents(unsigned int nb_downloading, unsigned int nb_seeding, unsigned int nb_active, unsigned int nb_inactive, unsigned int nb_paused);
|
||||||
|
void deleteBTSession();
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
// GUI related slots
|
// GUI related slots
|
||||||
@@ -170,6 +171,7 @@ private:
|
|||||||
QAction *prioSeparator2;
|
QAction *prioSeparator2;
|
||||||
QSplitter *hSplitter;
|
QSplitter *hSplitter;
|
||||||
QSplitter *vSplitter;
|
QSplitter *vSplitter;
|
||||||
|
QMenu *lockMenu;
|
||||||
// Search
|
// Search
|
||||||
QPointer<SearchEngine> searchEngine;
|
QPointer<SearchEngine> searchEngine;
|
||||||
// RSS
|
// RSS
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Categories=Qt;Network;P2P;
|
Categories=Qt;Network;P2P;
|
||||||
Comment=V2.4.0
|
Comment=V2.4.4
|
||||||
Exec=qbittorrent %f
|
Exec=qbittorrent %f
|
||||||
GenericName=Bittorrent client
|
GenericName=Bittorrent client
|
||||||
GenericName[ar]=العميل Bittorrent
|
GenericName[ar]=العميل Bittorrent
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
@@ -47,7 +47,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleGetInfoString</key>
|
<key>CFBundleGetInfoString</key>
|
||||||
<string>2.4.0</string>
|
<string>2.4.4</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
|
@@ -165,6 +165,7 @@ Bittorrent::~Bittorrent() {
|
|||||||
#endif
|
#endif
|
||||||
saveSessionState();
|
saveSessionState();
|
||||||
saveFastResumeData();
|
saveFastResumeData();
|
||||||
|
qDebug("Deleting the session");
|
||||||
// Delete session
|
// Delete session
|
||||||
session_proxy sp = s->abort();
|
session_proxy sp = s->abort();
|
||||||
delete s;
|
delete s;
|
||||||
@@ -867,13 +868,13 @@ QTorrentHandle Bittorrent::addMagnetUri(QString magnet_uri, bool resumed) {
|
|||||||
qDebug("addMagnetURI: Temp folder is enabled.");
|
qDebug("addMagnetURI: Temp folder is enabled.");
|
||||||
qDebug("addTorrent::Temp folder is enabled.");
|
qDebug("addTorrent::Temp folder is enabled.");
|
||||||
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
QString torrent_tmp_path = defaultTempPath.replace("\\", "/");
|
||||||
p.save_path = torrent_tmp_path.toLocal8Bit().constData();
|
p.save_path = torrent_tmp_path.toUtf8().constData();
|
||||||
// Check if save path exists, creating it otherwise
|
// Check if save path exists, creating it otherwise
|
||||||
if(!QDir(torrent_tmp_path).exists())
|
if(!QDir(torrent_tmp_path).exists())
|
||||||
QDir().mkpath(torrent_tmp_path);
|
QDir().mkpath(torrent_tmp_path);
|
||||||
qDebug("addMagnetURI: using save_path: %s", qPrintable(torrent_tmp_path));
|
qDebug("addMagnetURI: using save_path: %s", qPrintable(torrent_tmp_path));
|
||||||
} else {
|
} else {
|
||||||
p.save_path = savePath.toLocal8Bit().constData();
|
p.save_path = savePath.toUtf8().constData();
|
||||||
// Check if save path exists, creating it otherwise
|
// Check if save path exists, creating it otherwise
|
||||||
if(!QDir(savePath).exists())
|
if(!QDir(savePath).exists())
|
||||||
QDir().mkpath(savePath);
|
QDir().mkpath(savePath);
|
||||||
@@ -1121,13 +1122,13 @@ QTorrentHandle Bittorrent::addTorrent(QString path, bool fromScanDir, QString fr
|
|||||||
if(!torrent_tmp_path.endsWith("/")) torrent_tmp_path += "/";
|
if(!torrent_tmp_path.endsWith("/")) torrent_tmp_path += "/";
|
||||||
torrent_tmp_path += root_folder;
|
torrent_tmp_path += root_folder;
|
||||||
}
|
}
|
||||||
p.save_path = torrent_tmp_path.toLocal8Bit().constData();
|
p.save_path = torrent_tmp_path.toUtf8().constData();
|
||||||
// Check if save path exists, creating it otherwise
|
// Check if save path exists, creating it otherwise
|
||||||
if(!QDir(torrent_tmp_path).exists())
|
if(!QDir(torrent_tmp_path).exists())
|
||||||
QDir().mkpath(torrent_tmp_path);
|
QDir().mkpath(torrent_tmp_path);
|
||||||
qDebug("addTorrent: using save_path: %s", qPrintable(torrent_tmp_path));
|
qDebug("addTorrent: using save_path: %s", qPrintable(torrent_tmp_path));
|
||||||
} else {
|
} else {
|
||||||
p.save_path = savePath.toLocal8Bit().constData();
|
p.save_path = savePath.toUtf8().constData();
|
||||||
// Check if save path exists, creating it otherwise
|
// Check if save path exists, creating it otherwise
|
||||||
if(!QDir(savePath).exists())
|
if(!QDir(savePath).exists())
|
||||||
QDir().mkpath(savePath);
|
QDir().mkpath(savePath);
|
||||||
@@ -1541,6 +1542,7 @@ void Bittorrent::saveTempFastResumeData() {
|
|||||||
// Only save fast resume data for unfinished and unpaused torrents (Optimization)
|
// Only save fast resume data for unfinished and unpaused torrents (Optimization)
|
||||||
// Called periodically and on exit
|
// Called periodically and on exit
|
||||||
void Bittorrent::saveFastResumeData() {
|
void Bittorrent::saveFastResumeData() {
|
||||||
|
qDebug("Saving fast resume data...");
|
||||||
// Stop listening for alerts
|
// Stop listening for alerts
|
||||||
resumeDataTimer.stop();
|
resumeDataTimer.stop();
|
||||||
timerAlerts->stop();
|
timerAlerts->stop();
|
||||||
@@ -2490,7 +2492,10 @@ void Bittorrent::addConsoleMessage(QString msg, QString) {
|
|||||||
qDebug("getSavePath, got save_path from persistent data: %s", qPrintable(savePath));
|
qDebug("getSavePath, got save_path from persistent data: %s", qPrintable(savePath));
|
||||||
}
|
}
|
||||||
// Clean path
|
// Clean path
|
||||||
|
savePath = savePath.replace("\\", "/");
|
||||||
savePath = misc::expandPath(savePath);
|
savePath = misc::expandPath(savePath);
|
||||||
|
if(!savePath.endsWith("/"))
|
||||||
|
savePath += "/";
|
||||||
return savePath;
|
return savePath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -191,7 +191,8 @@ void createtorrent::on_createButton_clicked(){
|
|||||||
QString destination = QFileDialog::getSaveFileName(this, tr("Select destination torrent file"), last_path, tr("Torrent Files")+QString::fromUtf8(" (*.torrent)"));
|
QString destination = QFileDialog::getSaveFileName(this, tr("Select destination torrent file"), last_path, tr("Torrent Files")+QString::fromUtf8(" (*.torrent)"));
|
||||||
if(!destination.isEmpty()) {
|
if(!destination.isEmpty()) {
|
||||||
settings.setValue("CreateTorrent/last_save_path", misc::removeLastPathPart(destination));
|
settings.setValue("CreateTorrent/last_save_path", misc::removeLastPathPart(destination));
|
||||||
destination += QString::fromUtf8(".torrent");
|
if(!destination.toUpper().endsWith(".TORRENT"))
|
||||||
|
destination += QString::fromUtf8(".torrent");
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -270,6 +270,7 @@ void engineSelectDlg::installPlugin(QString path, QString plugin_name) {
|
|||||||
// Backup in case install fails
|
// Backup in case install fails
|
||||||
QFile::copy(dest_path, dest_path+".bak");
|
QFile::copy(dest_path, dest_path+".bak");
|
||||||
misc::safeRemove(dest_path);
|
misc::safeRemove(dest_path);
|
||||||
|
misc::safeRemove(dest_path+"c");
|
||||||
update = true;
|
update = true;
|
||||||
}
|
}
|
||||||
// Copy the plugin
|
// Copy the plugin
|
||||||
|
@@ -38,6 +38,7 @@
|
|||||||
//#include "proplistdelegate.h"
|
//#include "proplistdelegate.h"
|
||||||
#include "torrentpersistentdata.h"
|
#include "torrentpersistentdata.h"
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QTranslator>
|
||||||
|
|
||||||
EventManager::EventManager(QObject *parent, Bittorrent *BTSession)
|
EventManager::EventManager(QObject *parent, Bittorrent *BTSession)
|
||||||
: QObject(parent), BTSession(BTSession)
|
: QObject(parent), BTSession(BTSession)
|
||||||
@@ -124,8 +125,20 @@ QList<QVariantMap> EventManager::getPropFilesInfo(QString hash) const {
|
|||||||
|
|
||||||
void EventManager::setGlobalPreferences(QVariantMap m) const {
|
void EventManager::setGlobalPreferences(QVariantMap m) const {
|
||||||
// UI
|
// UI
|
||||||
if(m.contains("locale"))
|
if(m.contains("locale")) {
|
||||||
Preferences::setLocale(m["locale"].toString());
|
QString locale = m["locale"].toString();
|
||||||
|
if(Preferences::getLocale() != locale) {
|
||||||
|
QTranslator *translator = new QTranslator;
|
||||||
|
if(translator->load(QString::fromUtf8(":/lang/qbittorrent_") + locale)){
|
||||||
|
qDebug("%s locale recognized, using translation.", qPrintable(locale));
|
||||||
|
}else{
|
||||||
|
qDebug("%s locale unrecognized, using default (en_GB).", qPrintable(locale));
|
||||||
|
}
|
||||||
|
qApp->installTranslator(translator);
|
||||||
|
}
|
||||||
|
|
||||||
|
Preferences::setLocale(locale);
|
||||||
|
}
|
||||||
// Downloads
|
// Downloads
|
||||||
if(m.contains("save_path"))
|
if(m.contains("save_path"))
|
||||||
Preferences::setSavePath(m["save_path"].toString());
|
Preferences::setSavePath(m["save_path"].toString());
|
||||||
|
@@ -105,7 +105,7 @@ public:
|
|||||||
|
|
||||||
QStringList getNotMatchingTokens() const {
|
QStringList getNotMatchingTokens() const {
|
||||||
QString notmatching = this->value("not", "").toString();
|
QString notmatching = this->value("not", "").toString();
|
||||||
return notmatching.split(" ");
|
return notmatching.split(QRegExp("[\\s|]"));
|
||||||
}
|
}
|
||||||
|
|
||||||
QString getNotMatchingTokens_str() const {
|
QString getNotMatchingTokens_str() const {
|
||||||
|
@@ -132,6 +132,7 @@ namespace json {
|
|||||||
tmp += c;
|
tmp += c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!tmp.isEmpty()) couples << tmp;
|
||||||
foreach(QString couple, couples) {
|
foreach(QString couple, couples) {
|
||||||
QStringList parts = couple.split(":");
|
QStringList parts = couple.split(":");
|
||||||
if(parts.size() != 2) continue;
|
if(parts.size() != 2) continue;
|
||||||
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -2988,12 +2988,12 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>ScanFoldersModel</name>
|
<name>ScanFoldersModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../scannedfoldersmodel.cpp" line="102"/>
|
<location filename="../scannedfoldersmodel.cpp" line="103"/>
|
||||||
<source>Watched Folder</source>
|
<source>Watched Folder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../scannedfoldersmodel.cpp" line="103"/>
|
<location filename="../scannedfoldersmodel.cpp" line="104"/>
|
||||||
<source>Download here</source>
|
<source>Download here</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -4243,14 +4243,14 @@ Please install it manually.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../createtorrent_imp.cpp" line="213"/>
|
<location filename="../createtorrent_imp.cpp" line="214"/>
|
||||||
<location filename="../createtorrent_imp.cpp" line="227"/>
|
<location filename="../createtorrent_imp.cpp" line="228"/>
|
||||||
<location filename="../createtorrent_imp.cpp" line="238"/>
|
<location filename="../createtorrent_imp.cpp" line="239"/>
|
||||||
<source>Torrent creation</source>
|
<source>Torrent creation</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../createtorrent_imp.cpp" line="238"/>
|
<location filename="../createtorrent_imp.cpp" line="239"/>
|
||||||
<source>Torrent was created successfully:</source>
|
<source>Torrent was created successfully:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -4265,7 +4265,7 @@ Please install it manually.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../createtorrent_imp.cpp" line="213"/>
|
<location filename="../createtorrent_imp.cpp" line="214"/>
|
||||||
<source>Torrent creation was unsuccessful, reason: %1</source>
|
<source>Torrent creation was unsuccessful, reason: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -4291,7 +4291,7 @@ Please install it manually.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../createtorrent_imp.cpp" line="227"/>
|
<location filename="../createtorrent_imp.cpp" line="228"/>
|
||||||
<source>Created torrent file is invalid. It won't be added to download list.</source>
|
<source>Created torrent file is invalid. It won't be added to download list.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -4686,13 +4686,13 @@ However, those plugins were disabled.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../misc.cpp" line="665"/>
|
<location filename="../misc.cpp" line="666"/>
|
||||||
<source>%1h %2m</source>
|
<source>%1h %2m</source>
|
||||||
<comment>e.g: 3hours 5minutes</comment>
|
<comment>e.g: 3hours 5minutes</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../misc.cpp" line="670"/>
|
<location filename="../misc.cpp" line="671"/>
|
||||||
<source>%1d %2h</source>
|
<source>%1d %2h</source>
|
||||||
<comment>e.g: 2days 10hours</comment>
|
<comment>e.g: 2days 10hours</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -4709,21 +4709,21 @@ However, those plugins were disabled.</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../misc.cpp" line="613"/>
|
<location filename="../misc.cpp" line="614"/>
|
||||||
<location filename="../misc.cpp" line="618"/>
|
<location filename="../misc.cpp" line="619"/>
|
||||||
<location filename="../misc.cpp" line="622"/>
|
<location filename="../misc.cpp" line="623"/>
|
||||||
<location filename="../misc.cpp" line="625"/>
|
<location filename="../misc.cpp" line="626"/>
|
||||||
<source>Unknown</source>
|
<source>Unknown</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../misc.cpp" line="656"/>
|
<location filename="../misc.cpp" line="657"/>
|
||||||
<source>< 1m</source>
|
<source>< 1m</source>
|
||||||
<comment>< 1 minute</comment>
|
<comment>< 1 minute</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../misc.cpp" line="660"/>
|
<location filename="../misc.cpp" line="661"/>
|
||||||
<source>%1m</source>
|
<source>%1m</source>
|
||||||
<comment>e.g: 10minutes</comment>
|
<comment>e.g: 10minutes</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -4732,58 +4732,58 @@ However, those plugins were disabled.</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>options_imp</name>
|
<name>options_imp</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1216"/>
|
<location filename="../options_imp.cpp" line="1217"/>
|
||||||
<location filename="../options_imp.cpp" line="1218"/>
|
<location filename="../options_imp.cpp" line="1219"/>
|
||||||
<source>Choose export directory</source>
|
<source>Choose export directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1251"/>
|
<location filename="../options_imp.cpp" line="1252"/>
|
||||||
<location filename="../options_imp.cpp" line="1253"/>
|
<location filename="../options_imp.cpp" line="1254"/>
|
||||||
<location filename="../options_imp.cpp" line="1268"/>
|
<location filename="../options_imp.cpp" line="1269"/>
|
||||||
<location filename="../options_imp.cpp" line="1270"/>
|
<location filename="../options_imp.cpp" line="1271"/>
|
||||||
<source>Choose a save directory</source>
|
<source>Choose a save directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1233"/>
|
<location filename="../options_imp.cpp" line="1234"/>
|
||||||
<location filename="../options_imp.cpp" line="1235"/>
|
<location filename="../options_imp.cpp" line="1236"/>
|
||||||
<source>Choose an ip filter file</source>
|
<source>Choose an ip filter file</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1173"/>
|
<location filename="../options_imp.cpp" line="1174"/>
|
||||||
<source>Add directory to scan</source>
|
<source>Add directory to scan</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1179"/>
|
<location filename="../options_imp.cpp" line="1180"/>
|
||||||
<source>Folder is already being watched.</source>
|
<source>Folder is already being watched.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1182"/>
|
<location filename="../options_imp.cpp" line="1183"/>
|
||||||
<source>Folder does not exist.</source>
|
<source>Folder does not exist.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1185"/>
|
<location filename="../options_imp.cpp" line="1186"/>
|
||||||
<source>Folder is not readable.</source>
|
<source>Folder is not readable.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1193"/>
|
<location filename="../options_imp.cpp" line="1194"/>
|
||||||
<source>Failure</source>
|
<source>Failure</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1193"/>
|
<location filename="../options_imp.cpp" line="1194"/>
|
||||||
<source>Failed to add Scan Folder '%1': %2</source>
|
<source>Failed to add Scan Folder '%1': %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../options_imp.cpp" line="1233"/>
|
<location filename="../options_imp.cpp" line="1234"/>
|
||||||
<location filename="../options_imp.cpp" line="1235"/>
|
<location filename="../options_imp.cpp" line="1236"/>
|
||||||
<source>Filters</source>
|
<source>Filters</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user