buglist
[tomamp] / mainwindow.h
index 32041a3..898df91 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;
@@ -63,50 +63,86 @@ class MainWindow : public QMainWindow
 
 public:
     MainWindow();
+    ~MainWindow ();
 
     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 finished();
     void tableClicked(int row, int column);
+    void play();
+    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);
 
+protected:
+    void contextMenuEvent (QContextMenuEvent*e);
 private:
     void setupActions();
     void setupMenus();
     void setupUi();
+    void setupShuffleList();
+    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;
     QSettings settings;
+    QList<int>  shuffleList;
+    int lastPlayed;
 };
 
 #endif