mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-22 12:34:19 +00:00
- Blocked users (by ipfilter) are now logged in GUI
This commit is contained in:
parent
3a727dea28
commit
c11e5e8b12
@ -17,6 +17,7 @@
|
||||
- FEATURE: Supports SOCKS5 proxies as well as HTTP ones
|
||||
- FEATURE: Better systems integration (buttons, dialogs...)
|
||||
- FEATURE: Filtered files are not allocated on the hard-drive anymore (if FS is compatible)
|
||||
- FEATURE: IPs blocked by filter are now logged in GUI
|
||||
- FEATURE: Added a way to link against static libtorrent (useful for deb packages)
|
||||
- BUGFIX: Progress of paused torrents is now correct on restart
|
||||
- BUGFIX: Progress column gets sorted on restart it is was during last execution
|
||||
|
17
src/GUI.cpp
17
src/GUI.cpp
@ -112,7 +112,8 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){
|
||||
actionDelete_Permanently->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/delete_perm.png")));
|
||||
actionTorrent_Properties->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/properties.png")));
|
||||
actionCreate_torrent->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/new.png")));
|
||||
tabBottom->setTabIcon(0, QIcon(QString::fromUtf8(":/Icons/log.png")));
|
||||
// tabBottom->setTabIcon(0, QIcon(QString::fromUtf8(":/Icons/log.png")));
|
||||
// tabBottom->setTabIcon(1, QIcon(QString::fromUtf8(":/Icons/filter.png")));
|
||||
tabs->setTabIcon(0, QIcon(QString::fromUtf8(":/Icons/skin/downloading.png")));
|
||||
// Set default ratio
|
||||
lbl_ratio_icon->setPixmap(QPixmap(QString::fromUtf8(":/Icons/stare.png")));
|
||||
@ -143,6 +144,7 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent){
|
||||
connect(&BTSession, SIGNAL(trackerError(const QString&, const QString&, const QString&)), this, SLOT(trackerError(const QString&, const QString&, const QString&)));
|
||||
connect(&BTSession,SIGNAL(allTorrentsFinishedChecking()), this, SLOT(sortProgressColumnDelayed()));
|
||||
connect(&BTSession, SIGNAL(trackerAuthenticationRequired(torrent_handle&)), this, SLOT(trackerAuthenticationRequired(torrent_handle&)));
|
||||
connect(&BTSession, SIGNAL(peerBlocked(const QString&)), this, SLOT(addLogPeerBlocked(const QString)));
|
||||
connect(&BTSession, SIGNAL(scanDirFoundTorrents(const QStringList&)), this, SLOT(processScannedFiles(const QStringList&)));
|
||||
connect(&BTSession, SIGNAL(newDownloadedTorrent(const QString&, const QString&)), this, SLOT(processDownloadedFiles(const QString&, const QString&)));
|
||||
connect(&BTSession, SIGNAL(aboutToDownloadFromUrl(const QString&)), this, SLOT(displayDownloadingUrlInfos(const QString&)));
|
||||
@ -242,6 +244,16 @@ void GUI::readSettings() {
|
||||
settings.endGroup();
|
||||
}
|
||||
|
||||
void GUI::addLogPeerBlocked(const QString& ip){
|
||||
static unsigned short nbLines = 0;
|
||||
++nbLines;
|
||||
if(nbLines > 200){
|
||||
textBlockedUsers->clear();
|
||||
nbLines = 1;
|
||||
}
|
||||
infoBar->append("<font color='grey'>"+ QTime::currentTime().toString("hh:mm:ss") + "</font> - "+tr("<font color='red'>%1</font> <i> was blocked</i>").arg(ip));
|
||||
}
|
||||
|
||||
// Update Info Bar information
|
||||
void GUI::setInfoBar(const QString& info, const QString& color){
|
||||
qDebug("setInfoBar called");
|
||||
@ -1256,8 +1268,11 @@ void GUI::configureSession(bool deleteOptions){
|
||||
// Apply filtering settings
|
||||
if(options->isFilteringEnabled()){
|
||||
BTSession.enableIPFilter(options->getFilter());
|
||||
tabBottom->setTabEnabled(1, true);
|
||||
}else{
|
||||
BTSession.disableIPFilter();
|
||||
tabBottom->setCurrentIndex(0);
|
||||
tabBottom->setTabEnabled(1, false);
|
||||
}
|
||||
// Apply Proxy settings
|
||||
if(options->isProxyEnabled()){
|
||||
|
@ -129,6 +129,7 @@ class GUI : public QMainWindow, private Ui::MainWindow{
|
||||
void readSettings();
|
||||
void on_actionExit_triggered();
|
||||
void createTrayIcon();
|
||||
void addLogPeerBlocked(const QString&);
|
||||
// Torrent actions
|
||||
size_type torrentEffectiveSize(QString hash) const;
|
||||
void showProperties(const QModelIndex &index);
|
||||
|
@ -716,6 +716,9 @@ void bittorrent::readAlerts(){
|
||||
emit trackerAuthenticationRequired(p->handle);
|
||||
}
|
||||
}
|
||||
else if (peer_blocked_alert* p = dynamic_cast<peer_blocked_alert*>(a.get())){
|
||||
emit peerBlocked(QString(p->ip.to_string().c_str()));
|
||||
}
|
||||
a = s->pop_alert();
|
||||
}
|
||||
}
|
||||
|
@ -144,6 +144,7 @@ class bittorrent : public QObject{
|
||||
void aboutToDownloadFromUrl(const QString& url);
|
||||
void updateFileSize(QString hash);
|
||||
void allTorrentsFinishedChecking();
|
||||
void peerBlocked(const QString&);
|
||||
|
||||
};
|
||||
|
||||
|
@ -516,15 +516,10 @@ void options_imp::loadOptions(){
|
||||
settings.beginGroup("IPFilter");
|
||||
if(settings.value("Enabled", false).toBool()){
|
||||
strValue = settings.value("File", QString()).toString();
|
||||
if(strValue.isEmpty()){
|
||||
activateFilter->setChecked(false);
|
||||
filterGroup->setEnabled(false);
|
||||
}else{
|
||||
activateFilter->setChecked(true);
|
||||
filterGroup->setEnabled(true);
|
||||
filterFile->setText(strValue);
|
||||
processFilterFile(strValue);
|
||||
}
|
||||
activateFilter->setChecked(true);
|
||||
filterGroup->setEnabled(true);
|
||||
filterFile->setText(strValue);
|
||||
processFilterFile(strValue);
|
||||
}else{
|
||||
activateFilter->setChecked(false);
|
||||
filterGroup->setEnabled(false);
|
||||
|
@ -11,7 +11,7 @@ TARGET = qbittorrent
|
||||
CONFIG += qt thread x11 network
|
||||
|
||||
# Update this VERSION for each release
|
||||
DEFINES += VERSION=\\\"v1.0.0alpha10\\\"
|
||||
DEFINES += VERSION=\\\"v1.0.0alpha11\\\"
|
||||
DEFINES += VERSION_MAJOR=1
|
||||
DEFINES += VERSION_MINOR=0
|
||||
DEFINES += VERSION_BUGFIX=0
|
||||
|
Loading…
x
Reference in New Issue
Block a user