Browse Source

- Added rss download failure handling (display red cross next to the stream name)

adaptive-webui-19844
Christophe Dumez 18 years ago
parent
commit
f81e431032
  1. 1
      TODO
  2. BIN
      src/Icons/unavailable.png
  3. 1
      src/icons.qrc
  4. 12
      src/rss.h

1
TODO

@ -43,7 +43,6 @@ @@ -43,7 +43,6 @@
- Allow to hide columns (gtsoul)
- Complete documentation and english translation
* beta2
- Handle downloadFromUrl errors (Display a messagebox to catch user's attention)
- Wait for some bug fixes in libtorrent :
- upload/download limit per torrent
- ipfilter crash

BIN
src/Icons/unavailable.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 B

1
src/icons.qrc

@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
<file>Icons/sphere.png</file>
<file>Icons/sphere2.png</file>
<file>Icons/password.png</file>
<file>Icons/unavailable.png</file>
<file>Icons/flags/portugal.png</file>
<file>Icons/flags/france.png</file>
<file>Icons/flags/ukraine.png</file>

12
src/rss.h

@ -189,6 +189,7 @@ class RssStream : public QObject{ @@ -189,6 +189,7 @@ class RssStream : public QObject{
downloaderRss = new downloadThread(this);
downloaderIcon = new downloadThread(this);
connect(downloaderRss, SIGNAL(downloadFinished(const QString&, const QString&)), this, SLOT(processDownloadedFile(const QString&, const QString&)));
connect(downloaderRss, SIGNAL(downloadFailure(const QString&, const QString&)), this, SLOT(handleDownloadFailure(const QString&, const QString&)));
downloaderRss->downloadUrl(url);
// XXX: remove it when gif can be displayed
iconPath = ":/Icons/rss.png";
@ -299,11 +300,11 @@ class RssStream : public QObject{ @@ -299,11 +300,11 @@ class RssStream : public QObject{
// is it a rss file ?
QDomElement root = doc.documentElement();
if(root.tagName() == "html"){
qDebug("the file is empty, maybe the url is wrong or the server is too busy");
qDebug("the file is empty, maybe the url is invalid or the server is too busy");
return -1;
}
else if(root.tagName() != "rss"){
qDebug("the file is not a rss stream, <rss> omitted"+root.tagName().toUtf8());
qDebug("the file is not a rss stream, <rss> omitted: %s", (const char*)root.tagName().toUtf8());
return -1;
}
QDomNode rss = root.firstChild();
@ -408,6 +409,13 @@ class RssStream : public QObject{ @@ -408,6 +409,13 @@ class RssStream : public QObject{
return;
}
}
protected slots:
void handleDownloadFailure(const QString&, const QString&){
// Change the stream icon to a red cross
iconPath = ":/Icons/unavailable.png";
emit refreshFinished(url, ICON);
}
};
// global class, manage the whole rss stream

Loading…
Cancel
Save