Browse Source

- Added magnet URI support to Web UI

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
25d998f1b5
  1. 4
      src/bittorrent.cpp
  2. 1
      src/bittorrent.h
  3. 4
      src/httpconnection.cpp
  4. 1
      src/httpconnection.h
  5. 1
      src/httpserver.cpp
  6. 4
      src/webui/download.html
  7. 2
      src/webui/index.html

4
src/bittorrent.cpp

@ -1445,6 +1445,10 @@ void bittorrent::downloadFromUrl(QString url) {
downloader->downloadUrl(url); downloader->downloadUrl(url);
} }
void bittorrent::addMagnetSkipAddDlg(QString uri) {
addMagnetUri(uri, false);
}
void bittorrent::downloadUrlAndSkipDialog(QString url, QString save_path) { void bittorrent::downloadUrlAndSkipDialog(QString url, QString save_path) {
//emit aboutToDownloadFromUrl(url); //emit aboutToDownloadFromUrl(url);
if(!save_path.isEmpty()) if(!save_path.isEmpty())

1
src/bittorrent.h

@ -167,6 +167,7 @@ class bittorrent : public QObject {
void addPeerBanMessage(QString msg, bool from_ipfilter); void addPeerBanMessage(QString msg, bool from_ipfilter);
void processDownloadedFile(QString, QString); void processDownloadedFile(QString, QString);
void saveTrackerFile(QString hash); void saveTrackerFile(QString hash);
void addMagnetSkipAddDlg(QString uri);
protected slots: protected slots:
void scanDirectory(QString); void scanDirectory(QString);

4
src/httpconnection.cpp

@ -187,10 +187,14 @@ void HttpConnection::respondCommand(QString command)
foreach(QString url, list){ foreach(QString url, list){
url = url.trimmed(); url = url.trimmed();
if(!url.isEmpty()){ if(!url.isEmpty()){
if(url.startsWith("magnet:", Qt::CaseInsensitive)) {
emit MagnetReadyToBeDownloaded(url);
} else {
qDebug("Downloading url: %s", (const char*)url.toLocal8Bit()); qDebug("Downloading url: %s", (const char*)url.toLocal8Bit());
emit UrlReadyToBeDownloaded(url); emit UrlReadyToBeDownloaded(url);
} }
} }
}
return; return;
} }
if(command == "upload") if(command == "upload")

1
src/httpconnection.h

@ -68,6 +68,7 @@ class HttpConnection : public QObject
signals: signals:
void UrlReadyToBeDownloaded(QString url); void UrlReadyToBeDownloaded(QString url);
void MagnetReadyToBeDownloaded(QString uri);
void torrentReadyToBeDownloaded(QString, bool, QString, bool); void torrentReadyToBeDownloaded(QString, bool, QString, bool);
void deleteTorrent(QString hash, bool permanently); void deleteTorrent(QString hash, bool permanently);
void resumeTorrent(QString hash); void resumeTorrent(QString hash);

1
src/httpserver.cpp

@ -72,6 +72,7 @@ void HttpServer::newHttpConnection()
HttpConnection *connection = new HttpConnection(socket, this); HttpConnection *connection = new HttpConnection(socket, this);
//connect connection to BTSession //connect connection to BTSession
connect(connection, SIGNAL(UrlReadyToBeDownloaded(QString)), BTSession, SLOT(downloadUrlAndSkipDialog(QString))); connect(connection, SIGNAL(UrlReadyToBeDownloaded(QString)), BTSession, SLOT(downloadUrlAndSkipDialog(QString)));
connect(connection, SIGNAL(MagnetReadyToBeDownloaded(QString)), BTSession, SLOT(addMagnetSkipAddDlg(QString)));
connect(connection, SIGNAL(torrentReadyToBeDownloaded(QString, bool, QString, bool)), BTSession, SLOT(addTorrent(QString, bool, QString, bool))); connect(connection, SIGNAL(torrentReadyToBeDownloaded(QString, bool, QString, bool)), BTSession, SLOT(addTorrent(QString, bool, QString, bool)));
connect(connection, SIGNAL(deleteTorrent(QString, bool)), BTSession, SLOT(deleteTorrent(QString, bool))); connect(connection, SIGNAL(deleteTorrent(QString, bool)), BTSession, SLOT(deleteTorrent(QString, bool)));
connect(connection, SIGNAL(pauseTorrent(QString)), BTSession, SLOT(pauseTorrent(QString))); connect(connection, SIGNAL(pauseTorrent(QString)), BTSession, SLOT(pauseTorrent(QString)));

4
src/webui/download.html

@ -10,8 +10,8 @@
</head> </head>
<body> <body>
<center> <center>
<h1 class="vcenter"><img class="vcenter" title="Download from URL" src="images/skin/url.png"/>Download Torrents from URLs</h1> <h1 class="vcenter"><img class="vcenter" title="Download from URL" src="images/skin/url.png"/>Download Torrents from their URL or Magnet link</h1>
<textarea name="list" id="urls" rows="10" cols="1"></textarea><p>Only One URL per Line</p><a id=downButton>Download</a> <textarea name="list" id="urls" rows="10" cols="1"></textarea><p>Only one link per line</p><a id=downButton>Download</a>
</center> </center>
</body> </body>
</html> </html>

2
src/webui/index.html

@ -23,7 +23,7 @@
<div id="desktop"> <div id="desktop">
<div id="desktopHeader"> <div id="desktopHeader">
<div id="desktopTitlebar"> <div id="desktopTitlebar">
<h1 class="applicationTitle">qBittorrent Web User Interface <span class="version">version 1.3.1</span></h1> <h1 class="applicationTitle">qBittorrent Web User Interface <span class="version">version 1.3.2</span></h1>
</div> </div>
<div id="desktopNavbar"> <div id="desktopNavbar">
<ul> <ul>

Loading…
Cancel
Save