*
[groove] / groove.cpp
index f763ae2..50accae 100644 (file)
@@ -1,13 +1,15 @@
 #include "groove.h"
 #if defined(Q_WS_MAEMO_5) || defined(Q_WS_HILDON)
 #include "qmaemo5rotator.h"
-#endif
 #include <QtDBus>
-#include "bottombar.h"
+#endif
+
 
 groove::groove(QWidget *parent) :
     QWidget(parent)
 {
+    //mpg = new mpgplayer();
+    //mpg->start();
     mBar = new QMenuBar();
     //mBar->addAction("test");
     sMethod = new QPushButton("Song:");
@@ -15,7 +17,7 @@ groove::groove(QWidget *parent) :
     player = new sPlayer();
     QHBoxLayout *layout = new QHBoxLayout();
     QVBoxLayout *vlayout = new QVBoxLayout();
-    QHBoxLayout *bottomLayout = new QHBoxLayout();
+    //QHBoxLayout *bottomLayout = new QHBoxLayout();
     button = new QPushButton("Search");
     QPushButton *dButton = new QPushButton("Queue");
     QPushButton *stopButton = new QPushButton("Pause");
@@ -30,12 +32,10 @@ groove::groove(QWidget *parent) :
     pushMenu->addAction("Song:");
     //pushMenu->addAction("Artist:");
     //pushMenu->addAction("Album:");
-    pd = new grooveProgressBar(this);
-    pd->hide();
     QMenu *moreAction = new QMenu();
     //moreAction->addAction("Playlist");
     connect(moreAction->addAction("Play Now"),SIGNAL(triggered()),this,SLOT(play()));
-    connect(moreAction->addAction("Show download Progress"),SIGNAL(triggered()),pd,SLOT(show()));
+    //connect(moreAction->addAction("Show download Progress"),SIGNAL(triggered()),pd,SLOT(show()));
     moreButton->setMenu(moreAction);
 
     //sMethod->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Maximum);
@@ -54,6 +54,7 @@ groove::groove(QWidget *parent) :
     resultView->setColumnHidden(2,true);
     resultView->setColumnHidden(3,true);
     resultView->setAutoScroll(false);
+    resultView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     /*QPalette pal = resultView->palette();
     pal.setBrush(QPalette::Highlight,QBrush(Qt::transparent,Qt::NoBrush));
     resultView->setPalette(pal);*/
@@ -65,19 +66,24 @@ groove::groove(QWidget *parent) :
     //this->setAttribute(Qt::WA_Maemo5AutoOrientation);
     layout->addWidget(lineEdit);
     layout->addWidget(button);
+    vlayout->setContentsMargins(QMargins(0,0,0,0));
+    //vlayout->setMargin(0);
+    vlayout->setSpacing(0);
     vlayout->addWidget(ok);
     //vlayout->addLayout(layout);
-    vlayout->addWidget(resultView);
+    stack = new QStackedWidget();
+    stack->addWidget(resultView);
+
+    vlayout->addWidget(stack);
     //vlayout->addLayout(bottomLayout);
-    bottomBar *bBar = new bottomBar();
+    bBar = new bottomBar();
     vlayout->addWidget(bBar);
-    vlayout->setSpacing(0);
-    bottomLayout->addWidget(dButton);
+
+    /*bottomLayout->addWidget(dButton);
     bottomLayout->addWidget(stopButton);
     bottomLayout->addWidget(nextB);
-    bottomLayout->addWidget(moreButton);
+    bottomLayout->addWidget(moreButton);*/
     vlayout->setMenuBar(mBar);
-    vlayout->setContentsMargins(QMargins());
     setLayout(vlayout);
     setWindowTitle("Groove");
     //Create New Grooveshark connection
@@ -91,11 +97,11 @@ groove::groove(QWidget *parent) :
     connect(stopButton,SIGNAL(clicked()),this,SLOT(stop()));
     connect(moreButton,SIGNAL(clicked()),this,SLOT(moreB()));
     //connect(rotator,SIGNAL(orientationChanged(Orientation)),this,SLOT(orientationChanged()));
-    pl = new playlist();
+    pl = new playlist(this);
     pl->setGscom(gs);
     player->setPlaylist(pl);
     connect(pl,SIGNAL(downloadProgress(int,qint64,qint64)),this,SLOT(progressUpdate(int,qint64,qint64)));
-    connect(pl,SIGNAL(bufferReady(int)),pd,SLOT(close()));
+    //connect(pl,SIGNAL(bufferReady(int)),pd,SLOT(close()));
     connect(pl,SIGNAL(freeze(bool)),resultView,SLOT(setDisabled(bool)));
     connect(pl,SIGNAL(freeze(bool)),pushMenu,SLOT(setDisabled(bool)));
     connect(pl,SIGNAL(freeze(bool)),dButton,SLOT(setDisabled(bool)));
@@ -104,11 +110,38 @@ groove::groove(QWidget *parent) :
     connect(ok,SIGNAL(searchRequest(QString)),this,SLOT(performSearch(QString)));
     connect(ok,SIGNAL(closeApp()),this,SLOT(close()));
     connect(bBar,SIGNAL(addB()),this,SLOT(addSongPlaylist()));
+    connect(bBar,SIGNAL(nextB()),player,SLOT(playNext()));
+    connect(bBar,SIGNAL(pause()),this,SLOT(stop()));
+
+    connect(bBar,SIGNAL(back()),player,SLOT(back()));
+    connect(bBar,SIGNAL(settings()),this,SLOT(showSettings()));
+    bBar->setPlaybackProgress(100,100);
+    pwindow = new pWin();
+    stack->addWidget(pwindow);
+    stack->setCurrentWidget(resultView);
+    connect(bBar,SIGNAL(list()),this,SLOT(togglePlaylist()));
+    pwindow->setModel(pl);
+
+}
+void groove::showSettings(){
+#if defined(Q_WS_MAEMO_5) || defined(Q_WS_HILDON)
+    rot->test();
+#endif
 }
+
+void groove::togglePlaylist()
+{
+    if(stack->currentWidget()==pwindow)
+        stack->setCurrentWidget(resultView);
+    else
+        stack->setCurrentWidget(pwindow);
+}
+
 void groove::performSearch(QString s)
 {
     qDebug() << s;
     resultView->setModel(gs->getSongModel(s));
+    this->stack->setCurrentWidget(this->resultView);
 }
 
 void groove::search()
@@ -146,8 +179,8 @@ void groove::finishedS()
     model = gs->getModel();
     resultView->setModel(model);
     button->setText("Search");
-    resultView->setColumnWidth(0,resultView->viewport()->width()/2);
-    resultView->setColumnWidth(1,resultView->viewport()->width()/2);
+    resultView->setColumnWidth(0,resultView->maximumViewportSize().width()/2);
+    resultView->setColumnWidth(1,resultView->maximumViewportSize().width()/2);
     lineEdit->setDisabled(false);
     resultView->setColumnHidden(2,true);
 }
@@ -156,11 +189,15 @@ void groove::changeS( QAction * action)
     sMethod->setText(action->text());
     sMethod->setMaximumWidth(sMethod->sizeHint().rwidth());
 }
+
 void groove::showOthers()
 {
+#if defined(Q_WS_MAEMO_5) || defined(Q_WS_HILDON)
     QDBusConnection c = QDBusConnection::sessionBus();
     QDBusMessage m = QDBusMessage::createSignal("/", "com.nokia.hildon_desktop", "exit_app_view");
+
     c.send(m);
+#endif
 }
 
 void groove::play()
@@ -172,10 +209,7 @@ void groove::play()
         if(item == 0)
             return;
         //gs->getSong();
-        player->play(pl->addSong(item));
-        pd->setMaximum(100);
-        pd->setValue(0);
-        pd->show();
+        player->play(pl->addSong(item,model->item(selected.first().row(),0)->text()));
     }
     //selected.
     //if
@@ -191,20 +225,20 @@ void groove::addSongPlaylist()
         //gs->getSong();
         if(pl->currentplaying() == -1)
         {
-            player->play(pl->addSong(item));
+            player->play(pl->addSong(item,model->item(selected.first().row(),0)->text()));
         }
         else
-            pl->addSong(item);
-        pd->setMaximum(100);
-        pd->setValue(0);
-        pd->show();
+            pl->addSong(item,model->item(selected.first().row(),0)->text());
         model->item(selected.first().row(),1)->setText("Added to Playlist");;
+        //pwindow->addSong(model->item(selected.first().row(),0)->text());
     }
+
 }
 
 void groove::stop()
 {
     player->pause();
+    //mpg->pause();
 }
 void groove::moreB()
 {
@@ -214,12 +248,19 @@ void groove::progressUpdate(int p, qint64 d, qint64 t)
 {
     //if(!pd->isHidden())
     //{
-
-
-        pd->setMaximum(t);
-        pd->setValue(d);
+    bBar->setPlaybackProgress(d,t);
     //}
 }
+void groove::resizeEvent(QResizeEvent *)
+{
+    if(resultView->isColumnHidden(2))
+    {
+    resultView->setColumnWidth(0,resultView->maximumViewportSize().width()/2);
+    resultView->setColumnWidth(1,resultView->maximumViewportSize().width()/2);
+    }
+    else
+        resultView->setColumnWidth(0,resultView->maximumViewportSize().width());
+}
 
 void groove::orientationChanged()
 {