fixed icons alpha
authortmarki <tmarki@gmail.com>
Mon, 30 Aug 2010 20:25:18 +0000 (22:25 +0200)
committertmarki <tmarki@gmail.com>
Mon, 30 Aug 2010 20:25:18 +0000 (22:25 +0200)
removed flip ui from options, flip now automatic in landscape mode, changes with orientation change
load remote http pls and m3u files

data/26x26/Tomamp.png
data/40x40/Tomamp.png
data/64x64/Tomamp.png
debian/changelog
tomamp/mainwindow.cpp
tomamp/mainwindow.h
tomamp/optiondialog.cpp
tomamp/optiondialog.h
tomamp/playlistmanager.cpp
tomamp/playlistmanager.h
tomamp/tomamp.pro

index 5a92bc5..a540721 100644 (file)
Binary files a/data/26x26/Tomamp.png and b/data/26x26/Tomamp.png differ
index 5a92bc5..a540721 100644 (file)
Binary files a/data/40x40/Tomamp.png and b/data/40x40/Tomamp.png differ
index 5a92bc5..a540721 100644 (file)
Binary files a/data/64x64/Tomamp.png and b/data/64x64/Tomamp.png differ
index 25fecc3..82a3534 100644 (file)
@@ -1,3 +1,9 @@
+tomamp (0.2.1-maemo2) unstable; urgency=low
+
+  * Icon fix
+
+ -- Tamas Marki <tmarki@gmail.com>  Tue, 30 Aug 2010 18:50:00 +0200
+
 tomamp (0.2.1-maemo1) unstable; urgency=low
 
   * New application icon
index ece1b0e..1c1df5b 100644 (file)
@@ -8,7 +8,7 @@
 #include "optiondialog.h"
 #include "time.h"
 
-//#define AVOID_INPUT_DIALOG 0
+//#define AVOID_INPUT_DIALOG
 
 MainWindow::MainWindow()
     : plman (this), settings (tr ("TomAmp"), "TomAmp"), isPlaying (false)
@@ -27,6 +27,8 @@ MainWindow::MainWindow()
     connect (&plman, SIGNAL (itemUpdated(int)), this, SLOT (itemUpdated (int)));
     connect (&plman, SIGNAL (itemRemoved(int)), this, SLOT (itemRemoved (int)));
 
+    connect (QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
+
     Phonon::createPath(mediaObject, audioOutput);
 
     qsrand (time (NULL));
@@ -45,12 +47,9 @@ MainWindow::MainWindow()
     setupShuffleList();
     setupActions();
     setupMenus();
-/*    foreach (QString s, Phonon::BackendCapabilities::availableMimeTypes())
-        qDebug () << s;*/
     
-/*    if (settings.value("uiflipped", false).toBool())
-        setupUiFlipped();
-    else*/
+    QRect screenGeometry = QApplication::desktop()->screenGeometry();
+    portrait = screenGeometry.width() < screenGeometry.height();
     setupUi ();
     show ();
     timeLcd->display("00:00:00");
@@ -98,6 +97,18 @@ void MainWindow::setOrientation ()
 #endif
 }
 
+void MainWindow::orientationChanged()
+{
+    QRect screenGeometry = QApplication::desktop()->screenGeometry();
+    portrait = screenGeometry.width() < screenGeometry.height();
+    delete centralWidget();
+    setupUi();
+    int current = musicTable->currentRow();
+    playlistChanged(0);
+    musicTable->selectRow(current);
+}
+
+
 void MainWindow::addFiles()
 {
     QString folder = settings.value("LastFolder").toString();
@@ -152,7 +163,7 @@ void MainWindow::addFolder()
 void MainWindow::addUrl()
 {
 #ifdef AVOID_INPUT_DIALOG
-    QString url = "http://war.str3am.com:7970";
+    QString url = "http://streams.bigvibez.com:7000/listen.pls";
 #else
     QString url = QInputDialog::getText(this, "Get URL", "Please type in the stream URL");
 #endif
@@ -654,7 +665,7 @@ void MainWindow::setupMenus()
 void MainWindow::setupUi()
 {
     QToolBar *bar = new QToolBar;
-    bool flip = settings.value("uiflipped", false).toBool();
+    bool flip = !portrait;
 
     if(!flip) bar->setOrientation(Qt::Vertical);
     bar->setStyleSheet("padding:7px");
@@ -1035,15 +1046,9 @@ void MainWindow::downSelected()
 
 void MainWindow::showOptions ()
 {
-    bool flip = settings.value("uiflipped", false).toBool();
     OptionDialog* dlg = new OptionDialog (this, settings);
     dlg->exec();
     delete dlg;
-    if (flip != settings.value("uiflipped", false).toBool())
-    {
-        delete centralWidget();
-        setupUi ();
-    }
     setOrientation ();
     if (headers != settings.value("headers", QStringList ()).toStringList())
     {
index a39fd49..5a1eb6f 100644 (file)
@@ -113,6 +113,7 @@ private slots:
     void upSelected();
     void downSelected();
     void enqueueSelected();
+    void orientationChanged();
 
 protected:
     void contextMenuEvent (QContextMenuEvent*e);
@@ -171,6 +172,7 @@ private:
     QList<int>  shuffleList;
     int lastPlayed;
     bool isPlaying;
+    bool portrait;
 };
 
 #endif
index ccaecbd..69f82bb 100644 (file)
@@ -72,24 +72,13 @@ void OptionDialog::setupUi()
     }
     sub->addLayout(headerLayout);
     mainLayout->addLayout(sub);
-    QCheckBox *cb = new QCheckBox (tr ("Flip UI controls"));
-    cb->setChecked(settings.value("uiflipped", false).toBool());
-    connect (cb, SIGNAL(toggled(bool)), this, SLOT(toggleFlip(bool)));
-    mainLayout->addWidget(cb);
     setLayout(mainLayout);
     setWindowTitle("Settings");
 }
 
-void OptionDialog::toggleFlip (bool val)
-{
-    settings.setValue("uiflipped", val);
-}
-
-
 void OptionDialog::orderControl (QString link)
 {
     QString str = sender ()->property("row").toString();
-    qDebug () << "Col action " << link << " on " << str;
     int i = availableHeaders.indexOf(str);
     if (link == "up" && i > 0)
     {
@@ -116,7 +105,6 @@ void OptionDialog::orderControl (QString link)
     delete layout ();
     foreach (QObject* child, children ())
         delete child;
-//    update ();
     setupUi();
 }
 
index 227739f..d394de4 100644 (file)
@@ -19,7 +19,6 @@ signals:
 public slots:
 private slots:
     void orderControl (QString);
-    void toggleFlip (bool);
 private:
     void    setupUi ();
     QSettings& settings;
index 9fab797..d92929b 100644 (file)
@@ -2,6 +2,9 @@
 #include <QDir>
 #include <QUrl>
 #include <QMap>
+#include <QTemporaryFile>
+#include <QtNetwork/QNetworkAccessManager>
+#include <QtNetwork/QNetworkReply>
 
 QStringList PlaylistManager::allowedExtensions;
 
@@ -20,6 +23,9 @@ PlaylistManager::PlaylistManager(QWidget* parent)
     metaInformationResolver = new Phonon::MediaObject(parent);
     connect(metaInformationResolver, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
         this, SLOT(metaStateChanged(Phonon::State,Phonon::State)));
+    downloadmanager = new QNetworkAccessManager(this);
+    connect(downloadmanager, SIGNAL(finished(QNetworkReply*)),
+            this, SLOT(playlistDownloadFinished(QNetworkReply*)));
 }
 
 int PlaylistManager::indexOf(const Phonon::MediaSource &s) const
@@ -76,7 +82,15 @@ void PlaylistManager::addStringList(const QStringList& list)
     {
         if (fileSupported(string) || string.toLower().startsWith("http"))
         {
-            items.append(PlaylistItem (string));
+            if (string.toLower().startsWith("http") && ((string.toLower().endsWith("pls")
+                                        || (string.toLower().endsWith("m3u")))))
+            {
+                downloadmanager->get(QNetworkRequest(QUrl(string)));
+            }
+            else
+            {
+                items.append(PlaylistItem (string));
+            }
         }
     }
     if (items.size () > index)
@@ -87,7 +101,28 @@ void PlaylistManager::addStringList(const QStringList& list)
     emit playlistChanged(index);
 }
 
-void PlaylistManager::metaStateChanged(Phonon::State newState, Phonon::State oldState)
+void PlaylistManager::playlistDownloadFinished(QNetworkReply* rep)
+{
+    QTemporaryFile tmp;
+    tmp.open ();
+    tmp.write (rep->readAll());
+    tmp.close ();
+    QString filename = tmp.fileName();
+    int index = items.size();
+    if (rep->url().toString().right(4).toLower() == ".m3u")
+        appendPlaylist(filename);
+    else if (rep->url().toString().right(4).toLower() == ".pls")
+        appendPlaylistPLS(filename);
+    if (items.size () > index)
+    {
+        metaInformationResolver->setCurrentSource(items.at(index).source);
+        lastMetaRead = index;
+        emit playlistChanged (index);
+    }
+}
+
+
+void PlaylistManager::metaStateChanged(Phonon::State newState, Phonon::State /*oldState*/)
 {
     // NOTE: This is an ugly hack, since the metaInformationResolver doesn't properly load the assigned source when it's in the error state
     // In order to properly read the next file we have to set it as current source again when the resolver entered the stopped state after the error
@@ -202,7 +237,6 @@ void PlaylistManager::addPlaylist(const QString& filename)
     else if (filename.right(4).toLower() == ".pls")
         appendPlaylistPLS(filename);
     if (items.size () > index)
-//    if (!items.isEmpty())
     {
         metaInformationResolver->setCurrentSource(items.at(index).source);
         lastMetaRead = index;
@@ -220,10 +254,12 @@ void PlaylistManager::appendPlaylist(const QString& filename)
     QStringList lines = tmp.split("\n");
     foreach (QString l, lines)
     {
-        if (l.isEmpty() || (!QFileInfo (l).exists() && (l.indexOf("http") != 0)))
+        if (l.isEmpty() || (!QFileInfo (l).exists() && (l.indexOf("http") != 0))
+            || l.trimmed().startsWith("#"))
         {
             continue;
         }
+        l = l.replace("\r", "");
         items.append(PlaylistItem (l));
     }
 }
@@ -240,10 +276,12 @@ void PlaylistManager::appendPlaylistPLS(const QString& filename)
 
     foreach (QString l, lines)
     {
-        if (l.isEmpty() || l.trimmed().toLower() == "[playlist]" || l.trimmed().toLower() == "version=2")
+        if (l.isEmpty() || l.trimmed().toLower() == "[playlist]" || l.trimmed().toLower() == "version=2"
+            || l.trimmed().startsWith(";"))
         {
             continue;
         }
+        l = l.replace("\r", "");
         if (l.trimmed().toLower().left(4) == "file")
         {
             QStringList tokens = l.split('=');
index 705c600..b484a40 100644 (file)
@@ -6,6 +6,8 @@
 #include <phonon/backendcapabilities.h>
 
 
+class QNetworkAccessManager;
+class QNetworkReply;
 
 struct PlaylistItem
 {
@@ -53,6 +55,7 @@ private slots:
     void metaStateChanged(Phonon::State newState, Phonon::State oldState);
     void appendPlaylist (const QString& filename);
     void appendPlaylistPLS (const QString& filename);
+    void playlistDownloadFinished(QNetworkReply*);
 private:
     bool fileSupported (const QString& fname) const;
 
@@ -61,6 +64,7 @@ private:
     QWidget* parentWidget;
     static QStringList allowedExtensions;
     int lastMetaRead;
+    QNetworkAccessManager *downloadmanager;
 };
 
 #endif // PLAYLISTMANAGER_H
index e932ac8..e9e952a 100644 (file)
@@ -4,7 +4,7 @@
 #
 #-------------------------------------------------
 
-QT       += core gui phonon
+QT       += core gui phonon network
 
 maemo5 { QT += maemo5 }