gscom.cpp \
splayer.cpp \
streamio.cpp \
- playlist.cpp
+ playlist.cpp \
+ downloadmanager.cpp
HEADERS += \
groove.h \
gscom.h \
splayer.h \
streamio.h \
- playlist.h
+ playlist.h \
+ downloadmanager.h
</valuemap>
<value key="Qt4ProjectManager.MaemoRunConfiguration.DeviceId" type="qulonglong">1</value>
<valuemap key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployed" type="QVariantMap">
- <value key="192.168.1.3" type="QDateTime">2010-06-17T01:03:56</value>
+ <value key="192.168.1.3" type="QDateTime">2010-06-18T23:28:49</value>
</valuemap>
<value key="Qt4ProjectManager.MaemoRunConfiguration.Simulator" type="QString"></value>
</valuemap>
#############################################################################
# Makefile for building: groove
-# Generated by qmake (2.01a) (Qt 4.6.2) on: Thu Jun 17 01:20:12 2010
+# Generated by qmake (2.01a) (Qt 4.6.2) on: Fri Jun 18 23:18:05 2010
# Project: Groove.pro
# Template: app
# Command: /usr/bin/qmake -unix -o Makefile Groove.pro
gscom.cpp \
splayer.cpp \
streamio.cpp \
- playlist.cpp moc_groove.cpp \
+ playlist.cpp \
+ downloadmanager.cpp moc_groove.cpp \
moc_gscom.cpp \
moc_splayer.cpp \
moc_streamio.cpp \
- moc_playlist.cpp
+ moc_playlist.cpp \
+ moc_downloadmanager.cpp
OBJECTS = main.o \
groove.o \
gscom.o \
splayer.o \
streamio.o \
playlist.o \
+ downloadmanager.o \
moc_groove.o \
moc_gscom.o \
moc_splayer.o \
moc_streamio.o \
- moc_playlist.o
+ moc_playlist.o \
+ moc_downloadmanager.o
DIST = /usr/share/qt4/mkspecs/common/g++.conf \
/usr/share/qt4/mkspecs/common/unix.conf \
/usr/share/qt4/mkspecs/common/linux.conf \
dist:
@$(CHK_DIR_EXISTS) .tmp/groove1.0.0 || $(MKDIR) .tmp/groove1.0.0
- $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/groove1.0.0/ && $(COPY_FILE) --parents groove.h gscom.h splayer.h streamio.h playlist.h .tmp/groove1.0.0/ && $(COPY_FILE) --parents main.cpp groove.cpp gscom.cpp splayer.cpp streamio.cpp playlist.cpp .tmp/groove1.0.0/ && (cd `dirname .tmp/groove1.0.0` && $(TAR) groove1.0.0.tar groove1.0.0 && $(COMPRESS) groove1.0.0.tar) && $(MOVE) `dirname .tmp/groove1.0.0`/groove1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/groove1.0.0
+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/groove1.0.0/ && $(COPY_FILE) --parents groove.h gscom.h splayer.h streamio.h playlist.h downloadmanager.h .tmp/groove1.0.0/ && $(COPY_FILE) --parents main.cpp groove.cpp gscom.cpp splayer.cpp streamio.cpp playlist.cpp downloadmanager.cpp .tmp/groove1.0.0/ && (cd `dirname .tmp/groove1.0.0` && $(TAR) groove1.0.0.tar groove1.0.0 && $(COMPRESS) groove1.0.0.tar) && $(MOVE) `dirname .tmp/groove1.0.0`/groove1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/groove1.0.0
clean:compiler_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
-compiler_moc_header_make_all: moc_groove.cpp moc_gscom.cpp moc_splayer.cpp moc_streamio.cpp moc_playlist.cpp
+compiler_moc_header_make_all: moc_groove.cpp moc_gscom.cpp moc_splayer.cpp moc_streamio.cpp moc_playlist.cpp moc_downloadmanager.cpp
compiler_moc_header_clean:
- -$(DEL_FILE) moc_groove.cpp moc_gscom.cpp moc_splayer.cpp moc_streamio.cpp moc_playlist.cpp
+ -$(DEL_FILE) moc_groove.cpp moc_gscom.cpp moc_splayer.cpp moc_streamio.cpp moc_playlist.cpp moc_downloadmanager.cpp
moc_groove.cpp: gscom.h \
splayer.h \
streamio.h \
moc_playlist.cpp: playlist.h
/usr/bin/moc-qt4 $(DEFINES) $(INCPATH) playlist.h -o moc_playlist.cpp
+moc_downloadmanager.cpp: downloadmanager.h
+ /usr/bin/moc-qt4 $(DEFINES) $(INCPATH) downloadmanager.h -o moc_downloadmanager.cpp
+
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_image_collection_make_all: qmake_image_collection.cpp
playlist.o: playlist.cpp playlist.h
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o playlist.o playlist.cpp
+downloadmanager.o: downloadmanager.cpp downloadmanager.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o downloadmanager.o downloadmanager.cpp
+
moc_groove.o: moc_groove.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_groove.o moc_groove.cpp
moc_playlist.o: moc_playlist.cpp
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_playlist.o moc_playlist.cpp
+moc_downloadmanager.o: moc_downloadmanager.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_downloadmanager.o moc_downloadmanager.cpp
+
####### Install
install_target: first FORCE
--- /dev/null
+#include "downloadmanager.h"
+
+downloadmanager::downloadmanager(QObject *parent) :
+ QObject(parent)
+{
+}
--- /dev/null
+#ifndef DOWNLOADMANAGER_H
+#define DOWNLOADMANAGER_H
+
+#include <QObject>
+
+class downloadmanager : public QObject
+{
+ Q_OBJECT
+public:
+ explicit downloadmanager(QObject *parent = 0);
+ explicit downloadmanager(QString songid,bool start = true,QObject *parent = 0);
+ void setSong(QString songid);
+ void startDownload();
+ void stopDownload();
+
+signals:
+
+public slots:
+
+};
+
+#endif // DOWNLOADMANAGER_H
button = new QPushButton("Search");
QPushButton *dButton = new QPushButton("Play");
QPushButton *stopButton = new QPushButton("Stop");
- QPushButton *moreButton = new QPushButton();
+ QPushButton *moreButton = new QPushButton("...");
resultView = new QTableView();
QMenu *pushMenu = new QMenu();
//showFullScreen();
//pushMenu->addAction("Artist:");
//pushMenu->addAction("Album:");
+ QMenu *moreAction = new QMenu();
+ moreAction->addAction("Playlist");
+ moreAction->addAction("Add current song to playlist");
+ moreAction->addAction("Show download Progress");
+ moreButton->setMenu(moreAction);
+
//sMethod->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Maximum);
sMethod->setMaximumWidth(sMethod->sizeHint().rwidth());
sMethod->setMenu(pushMenu);
resultView->setPalette(pal);*/
layout->addWidget(sMethod);
+#ifdef Q_WS_MAEMO_5
+ setAttribute(Qt::WA_Maemo5AutoOrientation,true);
+#endif
layout->addWidget(lineEdit);
layout->addWidget(button);
vlayout->addLayout(layout);
connect(dButton,SIGNAL(clicked()),this, SLOT(play()));
connect(stopButton,SIGNAL(clicked()),this,SLOT(stop()));
connect(gs,SIGNAL(sKeyFound()),this,SLOT(startP()));
+ connect(moreButton,SIGNAL(clicked()),this,SLOT(moreB()));
}
void groove::search()
{
{
player->stop();
}
+void groove::moreB()
+{
+ qDebug() << "He pressed the button";
+}
void play();
void startP();
void stop();
+ void moreB();
private:
sPlayer *player;
gradient.setColorAt(0, QColor::fromRgbF(0, 1, 0, 1));
gradient.setColorAt(0.9, QColor::fromRgbF(0, 1, 0, 1));
gradient.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0));
- QBrush brush(gradient);
+ QBrush brush(Qt::red);
QStandardItem *pBar = new QStandardItem(text);
pBar->setBackground(brush);
pBar->setSelectable(false);
buffer->~QBuffer();
media->~MediaNode();
}
+void sPlayer::abortDownload()
+{
+ reply->abort();
+}
void sPlayer::play(QString StreamKey,QUrl server)
{
{
//reply->abort();
}
-
+ pd = new QProgressDialog("Downloading / Buffering.", "Cancel", 0, 100);
+ pd->setValue(0);
+#ifdef Q_WS_MAEMO_5
+ pd->setAttribute(Qt::WA_Maemo5AutoOrientation,true);
+#endif
QNetworkRequest req;
req.setUrl(server);
qDebug() << server;
buffer->open(buffer->ReadWrite | buffer->Truncate);
connect(reply,SIGNAL(finished()),this,SLOT(start()));
connect(reply,SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(putb(qint64,qint64)));
+ connect(pd,SIGNAL(canceled()),this,SLOT(abortDownload()));
media->stop();
playing = false;
startStreamT = QTime::currentTime();
}
else
{
+ if(pd->maximum() != t)
+ pd->setMaximum(t);
+ pd->setValue(b);
buffer->buffer().append(reply->readAll());
//qDebug() << buffer->bytesAvailable();
buffer->seek(last);
//buffer->data().append(reply->readAll());*/
//qDebug() << "Download speed (KB/S): " << b/(startStreamT.msecsTo(QTime::currentTime()) + 1)*100/1024;
- if ( b >= t*0.05 && !playing && b/(startStreamT.msecsTo(QTime::currentTime()) + 1)*100/1024 >= 35)
+ if ( b >= t*0.05 && !playing && b/(startStreamT.msecsTo(QTime::currentTime()) + 1)*100/1024 >= 25)
{
+ pd->hide();
playing = true;
//Start playback at 25% download
media->setCurrentSource(Phonon::MediaSource(buffer));
#include <QObject>
#include <phonon>
#include "streamio.h"
+#include <QProgressDialog>
class sPlayer : public QObject
{
public slots:
void start();
void putb(qint64,qint64);
+ void abortDownload();
private:
QNetworkAccessManager *manager;
Phonon::AudioOutput *audioOutput;
bool playing;
QObject *internal;
QTime startStreamT;
+ QProgressDialog *pd;
};
-
#endif // SPLAYER_H