autorotate for maemo
[tomamp] / mainwindow.h
index 543ef80..ce4edca 100644 (file)
@@ -50,7 +50,7 @@
 #include <phonon/volumeslider.h>
 #include <phonon/backendcapabilities.h>
 #include <QList>
-#include "ui_mainwindow.h"
+#include "playlistmanager.h"
 
 class QAction;
 class QTableWidget;
@@ -67,58 +67,88 @@ public:
 
     QSize sizeHint() const
     {
-        return QSize(500, 300);
+        return QSize(800, 480);
     }
 
 private slots:
     void addFiles();
-    void addFolders();
+    void addFolder();
     void addUrl ();
     void repeatToggle ();
     void shuffleToggle ();
+    void volumeToggle ();
     void about();
     void stateChanged(Phonon::State newState, Phonon::State oldState);
     void tick(qint64 time);
     void sourceChanged(const Phonon::MediaSource &source);
-    void metaStateChanged(Phonon::State newState, Phonon::State oldState);
     void aboutToFinish();
     void finished();
     void tableClicked(int row, int column);
+    void play();
+    void stop();
+    void next();
+    void previous();
+    void cellClicked(int row, int column);
+    void savePlaylist ();
+    void loadPlaylist ();
+    void playlistChanged (int from);
+    void itemUpdated (int index);
+    void setItem (int ind, bool doplay);
+    void removeSelectedItem ();
+    void removeAllButSelectedItem ();
+    void highlightRow (int i);
+    void unhighlightRow (int i);
+    void buttonUp ();
+    void buttonDown ();
+    void buttonDel ();
+    void itemRemoved (int i);
 
+protected:
+    void contextMenuEvent (QContextMenuEvent*e);
 private:
     void setupActions();
     void setupMenus();
     void setupUi();
     void setupShuffleList();
-    void addStringList (const QStringList&);
+    void setRowFromItem (int row, const PlaylistItem& item);
 
     Phonon::SeekSlider *seekSlider;
     Phonon::MediaObject *mediaObject;
-    Phonon::MediaObject *metaInformationResolver;
     Phonon::AudioOutput *audioOutput;
     Phonon::VolumeSlider *volumeSlider;
-    QList<Phonon::MediaSource> sources;
+
+    PlaylistManager plman;
 
     QAction *playAction;
     QAction *pauseAction;
     QAction *stopAction;
     QAction *repeatAction;
     QAction *shuffleAction;
+    QAction *volumeAction;
+    QAction *volumeAddedAction;
     QAction *nextAction;
     QAction *previousAction;
     QAction *addFilesAction;
     QAction *addFoldersAction;
     QAction *addUrlAction;
+    QAction *savePlaylistAction;
+    QAction *loadPlaylistAction;
+    QAction *clearPlaylistAction;
     QAction *exitAction;
     QAction *aboutAction;
     QAction *aboutQtAction;
+    QAction *removeSelected;
+    QAction *removeAllButSelected;
+    QMenu   *contextMenu;
+    QToolBar *bar;
     QLCDNumber *timeLcd;
     QTableWidget *musicTable;
-    Ui::MainWindow ui;
-    bool    repeat;
-    bool    shuffle;
+    bool        repeat;
+    bool        shuffle;
     QSettings settings;
-    QList<int> shuffleList;
+    QList<int>  shuffleList;
+    int lastPlayed;
+    bool isPlaying;
 };
 
 #endif