summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/corsair/corsair_0.2.0.bb16
-rw-r--r--packages/corsair/files/corsair-024.patch351
2 files changed, 360 insertions, 7 deletions
diff --git a/packages/corsair/corsair_0.2.0.bb b/packages/corsair/corsair_0.2.0.bb
index 1adcc17c73..2c5ce53433 100644
--- a/packages/corsair/corsair_0.2.0.bb
+++ b/packages/corsair/corsair_0.2.0.bb
@@ -1,16 +1,22 @@
-DESCRIPTION = "corsair: RSS aggregator for Qtopia/OZ"
+DESCRIPTION = "RSS aggregator for Qtopia"
SECTION = "opie/applications"
-MAINTAINER = "I dont want to have my name here. <corsair@gotontheinter.net>"
+MAINTAINER = "Marcin Juszkiewicz <openembedded@hrw.one.pl>"
LICENSE = "GPL"
AUTHOR = "Joe Rumsey <joe@rumsey.org>"
HOMEPAGE = "http://corsair.sf.net/"
+DEPENDS = "opie-pics"
+RDEPENDS = "opie-pics"
PV = "0.2.0"
+PR = "r4"
+
CVSDATE = "20050911"
#application was released 20050910 - next versions will be released as tarballs
+#corsair-024.patch from 'mistermix' http://www.oesf.org/forums/index.php?showtopic=14661
inherit palmtop
SRC_URI = "cvs://anonymous@cvs.sourceforge.net/cvsroot/corsair;module=corsair \
+ file://corsair-024.patch;patch=1 \
file://corsair-opie.patch;patch=1"
S = "${WORKDIR}/corsair"
@@ -18,16 +24,12 @@ S = "${WORKDIR}/corsair"
do_configure() {
}
-# Files: bin/corsair apps/Applications/corsair.desktop pics/Corsair.png
-# pics/newfeed.png pics/get.png pics/reload.png pics/play.png
-
do_install() {
install -d ${D}${palmtopdir}/pics/
install -d ${D}${palmtopdir}/apps/Applications/
install -d ${D}${palmtopdir}/bin
install -m 0644 ${S}/Corsair.png ${D}${palmtopdir}/pics/
install -m 0644 ${S}/corsair.desktop ${D}${palmtopdir}/apps/Applications/
- install -m 0644 ${S}/icons/newfeed.png ${S}/icons/get.png ${S}/icons/reload.png ${S}/icons/play.png ${D}${palmtopdir}/pics/
+ install -m 0644 ${S}/icons/newfeed.png ${S}/icons/get.png ${D}${palmtopdir}/pics/
install -m 0755 ${S}/corsair ${D}${palmtopdir}/bin/
}
-
diff --git a/packages/corsair/files/corsair-024.patch b/packages/corsair/files/corsair-024.patch
new file mode 100644
index 0000000000..9cf160fdc8
--- /dev/null
+++ b/packages/corsair/files/corsair-024.patch
@@ -0,0 +1,351 @@
+Index: corsair.control
+===================================================================
+RCS file: /cvsroot/corsair/corsair/corsair.control,v
+retrieving revision 1.6
+diff -u -u -r1.6 corsair.control
+--- corsair/corsair.control 10 Sep 2005 20:05:51 -0000 1.6
++++ corsair/corsair.control 31 Oct 2005 20:00:43 -0000
+@@ -1,9 +1,9 @@
+-Files: bin/corsair apps/Applications/corsair.desktop pics/Corsair.png pics/newfeed.png pics/get.png pics/reload.png pics/play.png help/html/corsair.html help/html/corsair_usage.html help/html/corsair_intro.html help/html/gpl.html
++Files: bin/corsair apps/Applications/corsair.desktop pics/Corsair.png pics/newfeed.png pics/get.png pics/reload.png pics/play.png pics/details.png pics/UtilsIcon.png pics/list.png pics/volume.png pics/mute.png pics/fileopen.png pics/txt.xpm help/html/corsair.html help/html/corsair_usage.html help/html/corsair_intro.html help/html/gpl.html
+ Priority: optional
+ Section: qpe/applications
+ Maintainer: Joe Rumsey <corsair@rumsey.org>
+ Architecture: $CPU_ARCH
+ Arch: $DEVICE_ARCH
+-Version: 0.2.0
++Version: 0.2.4
+ License: GPL
+ Description: Corsair RSS/Podcast Aggregator
+Index: corsair.cpp
+===================================================================
+RCS file: /cvsroot/corsair/corsair/corsair.cpp,v
+retrieving revision 1.7
+diff -u -u -r1.7 corsair.cpp
+--- corsair/corsair.cpp 10 Sep 2005 20:05:51 -0000 1.7
++++ corsair/corsair.cpp 31 Oct 2005 20:00:44 -0000
+@@ -35,13 +35,13 @@
+ #include <qmenubar.h>
+ #include <qprogressbar.h>
+ #include <qmessagebox.h>
++#include <qaccel.h>
+
+ #include <qtopia/resource.h>
+ #include <qtopia/config.h>
+ #include <qtopia/global.h>
+ #include <qtopia/qcopenvelope_qws.h>
+
+-
+ #include "download.h"
+ #include "info.h"
+
+@@ -105,11 +105,15 @@
+ QPopupMenu *file = new QPopupMenu(m_menuPopup);
+ file->insertItem("&Load", this, SLOT(loadNewFile()));
+ file->insertItem("E&xit", this, SLOT(close()));
+-
+ QPopupMenu *view = new QPopupMenu(m_menuPopup);
+ view->insertItem("&Downloads", this, SLOT(viewDownloads()));
+ view->insertItem("&Preferences", this, SLOT(preferences()));
+
++ // bind Zaurus cancel key (escape) to close
++ QAccel *a = new QAccel( this );
++ a->connectItem( a->insertItem(Key_Escape),
++ this,
++ SLOT(close()) );
+ QPopupMenu *help = new QPopupMenu(m_menuPopup);
+ help->insertItem("&Help", this, SLOT(help()));
+ help->insertItem("&About", this, SLOT(about()));
+@@ -211,8 +215,10 @@
+ FeedShow *show = m_feeds.GetShow(item);
+ if(show && show->m_haveLocalCopy) {
+ play(show);
+- } else {
++ } else if (show && show->m_haveEnclosure) {
+ grabItem(item);
++ } else {
++ view(item);
+ }
+ }
+ }
+@@ -637,11 +643,12 @@
+ void CorsairWindow::play(FeedShow *show)
+ {
+ if(show->m_haveLocalCopy) {
+- QCString player = (const char *)QString("QPE/Application/" + option("audioplayer", "player"));
++ QCString player = (const char *)QString("QPE/Application/" + option("audioplayer", "kino2"));
+ QCopEnvelope e(player, "setDocument(QString)");
+ QString sub;
+- e << show->fullLocalPath(sub);
+-
++ QString filename = show->fullLocalPath(sub);
++ e << filename;
++ LOG(4, "filename=%s\n", (const char *)filename);
+ QCopEnvelope r(player, "raise()");
+ }
+ }
+Index: download.cpp
+===================================================================
+RCS file: /cvsroot/corsair/corsair/download.cpp,v
+retrieving revision 1.7
+diff -u -u -r1.7 download.cpp
+--- corsair/download.cpp 10 Sep 2005 20:05:51 -0000 1.7
++++ corsair/download.cpp 31 Oct 2005 20:00:44 -0000
+@@ -27,8 +27,10 @@
+ {
+ m_parent = parent;
+ m_url = url;
++ m_host = url.host();
+ m_param = param;
+ m_complete = false;
++ m_redirectCount = 0;
+
+ init();
+
+@@ -67,10 +69,10 @@
+ if(port < 0)
+ port = 80;
+
+- LOG(2, "connecting to %s:%d\n", (const char *)m_url.host(), port);
+- connectToHost(m_url.host(), port);
++ LOG(2, "connecting to %s:%d\n", (const char *)m_host, port);
++ connectToHost(m_host, port);
+
+- emit statusUpdate("Connecting to " + m_url.host());
++ emit statusUpdate("Connecting to " + m_host);
+ }
+
+ void Download::openFile()
+@@ -144,8 +146,8 @@
+ m_file.writeBlock((const char *)line, line.length());
+ m_totalRead += line.length();
+ } else if(!m_gotResponse) {
+- LOG(2, "%s", (const char *)line);
+- if(line.contains("302 Found") || line.contains("301 Moved Permanently")) {
++ LOG(2, "Response=%s", (const char *)line);
++ if(line.contains("302 Found") || line.contains("301 Moved Permanently") || line.contains("302 Redirect")) {
+ m_redirect = true;
+ } else if(!line.contains("200 OK")) {
+ complete(Error);
+@@ -153,7 +155,7 @@
+ }
+ m_gotResponse = true;
+ } else {
+- LOG(2, "%s", (const char *)line);
++ LOG(2, "Response Line=%s", (const char *)line);
+ QString lower = line.lower();
+ if(lower.startsWith("transfer-encoding: ") && line.contains("chunked")) {
+ m_chunked = true;
+@@ -166,9 +168,15 @@
+ m_redirectLocation = line.right(line.length() - (QString("location: ").length())).stripWhiteSpace();
+ } else if(line.length() < 1 || line[0] == '\r' || line[0] == '\n') {
+ if(m_redirect) {
++ if (m_redirectCount > REDIRECT_MAX ||
++ m_redirectLocation.isNull()) {
++ error(RedirectError);
++ }
+ init();
+ close();
++ m_redirectCount++;
+ m_url = QUrl(m_redirectLocation);
++ m_host = m_url.host();
+ go();
+ } else {
+ m_headersComplete = true;
+@@ -194,14 +202,14 @@
+
+ void Download::connected()
+ {
+- emit statusUpdate("Connected to " + m_url.host());
++ emit statusUpdate("Connected to " + m_host);
+ LOG(2, "connected\n");
+
+ QString get = m_url.encodedPathAndQuery();
+
+ QString req;
+ req = "GET " + get + " HTTP/1.1\r\n";
+- req += "Host: " + m_url.host() + "\r\n";
++ req += "Host: " + m_host + "\r\n";
+ req += "\r\n";
+
+ LOG(2, "Grabbing %s with '%s'\n", (const char *)get, (const char *)req);
+@@ -212,16 +220,17 @@
+
+ void Download::hostFound()
+ {
+- emit statusUpdate("Host " + m_url.host() + " found");
++ emit statusUpdate("Host " + m_host + " found");
+ LOG(2, "hostFound\n");
+ }
+
+ void Download::connectionClosed()
+ {
++ LOG(2, "connectionClosed to %s",(const char*)m_host);
+ readyRead();
+
+- emit statusUpdate(m_url.host() + "Done");
+- LOG(2, "connectionClosed\n");
++ statusUpdate(m_host + "done");
++
+ m_file.close();
+ complete(Error);
+ }
+Index: download.h
+===================================================================
+RCS file: /cvsroot/corsair/corsair/download.h,v
+retrieving revision 1.4
+diff -u -u -r1.4 download.h
+--- corsair/download.h 4 Sep 2005 16:52:22 -0000 1.4
++++ corsair/download.h 31 Oct 2005 20:00:44 -0000
+@@ -23,6 +23,8 @@
+ #include <qsocket.h>
+ #include <qurl.h>
+
++#define REDIRECT_MAX 5 // max redirects
++
+ class CorsairWindow;
+
+ class Download : public QSocket {
+@@ -43,6 +45,8 @@
+ bool m_redirect;
+ QString m_redirectLocation;
+ bool m_complete;
++ QString m_host;
++ int m_redirectCount;
+
+ void *m_param;
+
+@@ -54,6 +58,7 @@
+ NoData,
+ CantConnect,
+ NotFound,
++ RedirectError,
+ Error
+ };
+
+Index: feedparser.h
+===================================================================
+RCS file: /cvsroot/corsair/corsair/feedparser.h,v
+retrieving revision 1.3
+diff -u -u -r1.3 feedparser.h
+--- corsair/feedparser.h 10 Sep 2005 20:05:51 -0000 1.3
++++ corsair/feedparser.h 31 Oct 2005 20:00:44 -0000
+@@ -66,6 +66,7 @@
+ m_elemTitle[m_level] = "";
+ m_enclosure = "";
+ m_description = "";
++ m_elemLink[m_level] = "";
+ } else if(name == "enclosure") {
+ m_enclosure = attr.value("url");
+ }
+@@ -84,14 +85,14 @@
+ {
+ LOG(3, "endElement %s\n", (const char *)name);
+ if(m_elementName[m_level] == "item") {
+- m_feed->addShow(m_elemTitle[m_level],
++ m_feed->addShow(m_elemTitle[m_level].simplifyWhiteSpace(),
+ m_enclosure,
+ m_description,
+ m_elemLink[m_level]);
+ } else if(m_elementName[m_level] == "channel") {
+- m_feed->setName(m_elemTitle[m_level]);
++ m_feed->setName(m_elemTitle[m_level].simplifyWhiteSpace());
+ } else if(m_elementName[m_level] == "title") {
+- m_elemTitle[m_level - 1] = m_elementData[m_level];
++ m_elemTitle[m_level - 1] = m_elementData[m_level].simplifyWhiteSpace();
+ } else if(m_elementName[m_level] == "description") {
+ m_description = m_elementData[m_level];
+ } else if(m_elementName[m_level] == "link") {
+Index: feeds.cpp
+===================================================================
+RCS file: /cvsroot/corsair/corsair/feeds.cpp,v
+retrieving revision 1.7
+diff -u -u -r1.7 feeds.cpp
+--- corsair/feeds.cpp 10 Sep 2005 20:05:51 -0000 1.7
++++ corsair/feeds.cpp 31 Oct 2005 20:00:44 -0000
+@@ -213,19 +213,26 @@
+ m_isNew(isNew),
+ m_index(index),
+ m_haveLocalCopy(false) ,
++ m_haveEnclosure(false),
+ m_listItem(NULL)
+ {
+ QString sub;
+ QFile f(fullLocalPath(sub));
+- if(enclosure.length() > 0 && f.exists())
+- m_haveLocalCopy = true;
++ QString filename = fileName();
++ if(enclosure.length() > 0) {
++ m_haveEnclosure = true;
++ if (f.exists()) {
++ LOG(1,"Show file exists: (%s) (%s) \n",(const char *)sub, (const char *) filename);
++ m_haveLocalCopy = true;
++ }
++ }
+ }
+
+ QString FeedShow::fullLocalPath(QString &sub)
+ {
+ sub = m_feed->m_list->owner()->showsDir() + "/" + m_feed->dirName() + "/";
+
+- return sub + fileName();
++ return sub + cleanfileName();
+ }
+
+ void FeedShow::setHaveLocalCopy(bool haveit)
+@@ -292,8 +299,9 @@
+ FeedShow *i;
+ for(i = m_shows.first(); i; i = m_shows.next()) {
+ if(link.length() > 0) {
+- if(i->m_link == link)
++ if(i->m_link == link) {
+ return;
++ }
+ } else if(enclosure.length() > 0) {
+ if(i->m_enclosure == enclosure) {
+ return;
+Index: feeds.h
+===================================================================
+RCS file: /cvsroot/corsair/corsair/feeds.h,v
+retrieving revision 1.5
+diff -u -u -r1.5 feeds.h
+--- corsair/feeds.h 10 Sep 2005 20:05:51 -0000 1.5
++++ corsair/feeds.h 31 Oct 2005 20:00:45 -0000
+@@ -74,6 +74,7 @@
+ int m_index;
+
+ bool m_haveLocalCopy;
++ bool m_haveEnclosure;
+
+ ShowListViewItem *m_listItem;
+
+@@ -83,6 +84,13 @@
+ return f;
+ }
+
++ QString cleanfileName() {
++ QString f = fileName();
++ int loc = f.findRev('?');
++ f = f.left(loc);
++ return f;
++ }
++
+ QString fullLocalPath(QString &subDir);
+ void setHaveLocalCopy(bool haveit);
+
+Index: main.cpp
+===================================================================
+RCS file: /cvsroot/corsair/corsair/main.cpp,v
+retrieving revision 1.3
+diff -u -u -r1.3 main.cpp
+--- corsair/main.cpp 10 Sep 2005 20:05:51 -0000 1.3
++++ corsair/main.cpp 31 Oct 2005 20:00:45 -0000
+@@ -23,7 +23,7 @@
+
+ #include "corsair.h"
+
+-int g_debug = 2;
++int g_debug = 3;
+
+ #ifndef GOOD_MACROS
+ void LOG(int l, const char *fmt, ...)